ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
tensor_converter.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <Optional.h>
11 
12 #include "core/SizeVector.h"
13 #include "core/Tensor.h"
15 
16 namespace cloudViewer {
17 namespace core {
18 
38 py::array TensorToPyArray(const Tensor& tensor);
39 
48 Tensor PyArrayToTensor(py::array array, bool inplace);
49 
57 Tensor PyListToTensor(const py::list& list,
58  utility::optional<Dtype> dtype = utility::nullopt,
59  utility::optional<Device> device = utility::nullopt);
60 
68 Tensor PyTupleToTensor(const py::tuple& tuple,
69  utility::optional<Dtype> dtype = utility::nullopt,
70  utility::optional<Device> device = utility::nullopt);
71 
75 Tensor DoubleToTensor(double scalar_value,
76  utility::optional<Dtype> dtype = utility::nullopt,
77  utility::optional<Device> device = utility::nullopt);
78 
82 Tensor IntToTensor(int64_t scalar_value,
83  utility::optional<Dtype> dtype = utility::nullopt,
84  utility::optional<Device> device = utility::nullopt);
85 
89 Tensor BoolToTensor(bool scalar_value,
90  utility::optional<Dtype> dtype = utility::nullopt,
91  utility::optional<Device> device = utility::nullopt);
92 
104 Tensor PyHandleToTensor(const py::handle& handle,
105  utility::optional<Dtype> dtype = utility::nullopt,
106  utility::optional<Device> device = utility::nullopt,
107  bool force_copy = false);
108 
109 } // namespace core
110 } // namespace cloudViewer
Tensor PyHandleToTensor(const py::handle &handle, utility::optional< Dtype > dtype, utility::optional< Device > device, bool force_copy)
Tensor PyListToTensor(const py::list &list, utility::optional< Dtype > dtype, utility::optional< Device > device)
Tensor BoolToTensor(bool scalar_value, utility::optional< Dtype > dtype, utility::optional< Device > device)
py::array TensorToPyArray(const Tensor &tensor)
Convert Tensor class to py::array (Numpy array).
Tensor DoubleToTensor(double scalar_value, utility::optional< Dtype > dtype, utility::optional< Device > device)
Tensor IntToTensor(int64_t scalar_value, utility::optional< Dtype > dtype, utility::optional< Device > device)
Tensor PyArrayToTensor(py::array array, bool inplace)
Tensor PyTupleToTensor(const py::tuple &tuple, utility::optional< Dtype > dtype, utility::optional< Device > device)
constexpr nullopt_t nullopt
Definition: Optional.h:136
Generic file read and write utility for python interface.