ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ImageImpl.h File Reference
Include dependency graph for ImageImpl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 cloudViewer
 Generic file read and write utility for python interface.
 
 cloudViewer::t
 
 cloudViewer::t::geometry
 
 cloudViewer::t::geometry::kernel
 
 cloudViewer::t::geometry::kernel::image
 

Macros

#define LINEAR_SATURATE(elem_t, calc_t)
 

Functions

void cloudViewer::t::geometry::kernel::image::ToCPU (const core::Tensor &src, core::Tensor &dst, double scale, double offset)
 
void cloudViewer::t::geometry::kernel::image::ClipTransformCPU (const core::Tensor &src, core::Tensor &dst, float scale, float min_value, float max_value, float clip_fill=0.0f)
 
void cloudViewer::t::geometry::kernel::image::PyrDownDepthCPU (const core::Tensor &src, core::Tensor &dst, float diff_threshold, float invalid_fill)
 
void cloudViewer::t::geometry::kernel::image::CreateVertexMapCPU (const core::Tensor &src, core::Tensor &dst, const core::Tensor &intrinsics, float invalid_fill)
 
void cloudViewer::t::geometry::kernel::image::CreateNormalMapCPU (const core::Tensor &src, core::Tensor &dst, float invalid_fill)
 
void cloudViewer::t::geometry::kernel::image::ColorizeDepthCPU (const core::Tensor &src, core::Tensor &dst, float scale, float min_value, float max_value)
 

Macro Definition Documentation

◆ LINEAR_SATURATE

#define LINEAR_SATURATE (   elem_t,
  calc_t 
)
Value:
elem_t limits[2] = {std::numeric_limits<elem_t>::min(), \
calc_t c_scale = static_cast<calc_t>(scale); \
calc_t c_offset = static_cast<calc_t>(offset); \
DISPATCH_DTYPE_TO_TEMPLATE(src.GetDtype(), [&]() { \
core::ParallelFor( \
src.GetDevice(), indexer.NumWorkloads(), \
[=] CLOUDVIEWER_DEVICE(int64_t workload_idx) { \
auto src_ptr = \
indexer.GetInputPtr<scalar_t>(0, workload_idx); \
auto dst_ptr = indexer.GetOutputPtr<elem_t>(workload_idx); \
calc_t out = static_cast<calc_t>(*src_ptr) * c_scale + \
c_offset; \
out = out < limits[0] ? limits[0] : out; \
out = out > limits[1] ? limits[1] : out; \
*dst_ptr = static_cast<elem_t>(out); \
}); \
});
int offset
int min(int a, int b)
Definition: cutil_math.h:53
int max(int a, int b)
Definition: cutil_math.h:48