Open3D (C++ API)  0.18.0
Namespaces | Macros | Functions
ContinuousConvBackpropFilter.h File Reference

(b9e049c (Sun Dec 31 11:36:26 2023 -0800))

#include <tbb/parallel_for.h>
#include <mutex>
#include "open3d/ml/impl/continuous_conv/CoordinateTransformation.h"

Go to the source code of this file.

Namespaces

 open3d
 
 open3d::ml
 
 open3d::ml::impl
 

Macros

#define FN_PARAMETERS
 
#define CALL_TEMPLATE(INTERPOLATION, MAPPING, ALIGN_CORNERS, INDIVIDUAL_EXTENT, ISOTROPIC_EXTENT, HAS_IMPORTANCE)
 
#define CALL_TEMPLATE2(INTERPOLATION, MAPPING)
 
#define CALL_TEMPLATE3(INTERPOLATION)
 
#define CALL_TEMPLATE4
 

Functions

template<class TFeat , class TOut , class TReal , class TIndex , InterpolationMode INTERPOLATION, CoordinateMapping MAPPING, bool ALIGN_CORNERS, bool INDIVIDUAL_EXTENT, bool ISOTROPIC_EXTENT, bool POINT_IMPORTANCE>
void open3d::ml::impl::_CConvBackropFilterCPU (TOut *filter_backprop, const std::vector< int > &filter_dims, size_t num_out, const TReal *out_positions, size_t num_inp, const TReal *inp_positions, const TFeat *inp_features, const TFeat *inp_importance, size_t neighbors_index_size, const TIndex *neighbors_index, const TFeat *neighbors_importance, const int64_t *neighbors_row_splits, const TReal *extents, const TReal *offsets, const TFeat *out_features_gradient, bool normalize)
 
template<class TFeat , class TOut , class TReal , class TIndex >
void open3d::ml::impl::CConvBackpropFilterCPU (TOut *filter_backprop, const std::vector< int > &filter_dims, size_t num_out, const TReal *out_positions, size_t num_inp, const TReal *inp_positions, const TFeat *inp_features, const TFeat *inp_importance, size_t neighbors_index_size, const TIndex *neighbors_index, const TFeat *neighbors_importance, const int64_t *neighbors_row_splits, const TReal *extents, const TReal *offsets, const TFeat *out_features_gradient, InterpolationMode interpolation, CoordinateMapping coordinate_mapping, bool align_corners, bool individual_extent, bool isotropic_extent, bool normalize)
 

Macro Definition Documentation

◆ CALL_TEMPLATE

#define CALL_TEMPLATE (   INTERPOLATION,
  MAPPING,
  ALIGN_CORNERS,
  INDIVIDUAL_EXTENT,
  ISOTROPIC_EXTENT,
  HAS_IMPORTANCE 
)
Value:
if (INTERPOLATION == interpolation && MAPPING == coordinate_mapping && \
ALIGN_CORNERS == align_corners && \
INDIVIDUAL_EXTENT == individual_extent && \
ISOTROPIC_EXTENT == isotropic_extent && \
HAS_IMPORTANCE == has_importance) \
_CConvBackropFilterCPU<TFeat, TOut, TReal, TIndex, INTERPOLATION, \
MAPPING, ALIGN_CORNERS, INDIVIDUAL_EXTENT, \
ISOTROPIC_EXTENT, HAS_IMPORTANCE>( \
FN_PARAMETERS);

◆ CALL_TEMPLATE2

#define CALL_TEMPLATE2 (   INTERPOLATION,
  MAPPING 
)
Value:
CALL_TEMPLATE(INTERPOLATION, MAPPING, true, true, true, true) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, true, true, true, false) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, true, true, false, true) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, true, true, false, false) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, true, false, true, true) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, true, false, true, false) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, true, false, false, true) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, true, false, false, false) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, false, true, true, true) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, false, true, true, false) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, false, true, false, true) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, false, true, false, false) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, false, false, true, true) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, false, false, true, false) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, false, false, false, true) \
CALL_TEMPLATE(INTERPOLATION, MAPPING, false, false, false, false)
#define CALL_TEMPLATE(INTERPOLATION, MAPPING, ALIGN_CORNERS, INDIVIDUAL_EXTENT, ISOTROPIC_EXTENT, HAS_IMPORTANCE)

◆ CALL_TEMPLATE3

#define CALL_TEMPLATE3 (   INTERPOLATION)
Value:
CALL_TEMPLATE2(INTERPOLATION, CoordinateMapping::BALL_TO_CUBE_RADIAL) \
CALL_TEMPLATE2(INTERPOLATION, \
CoordinateMapping::BALL_TO_CUBE_VOLUME_PRESERVING) \
CALL_TEMPLATE2(INTERPOLATION, CoordinateMapping::IDENTITY)
#define CALL_TEMPLATE2(INTERPOLATION, MAPPING)

◆ CALL_TEMPLATE4

#define CALL_TEMPLATE4
Value:
CALL_TEMPLATE3(InterpolationMode::LINEAR) \
CALL_TEMPLATE3(InterpolationMode::LINEAR_BORDER) \
#define CALL_TEMPLATE3(INTERPOLATION)
@ NEAREST_NEIGHBOR
Definition: VoxelPooling.h:21

◆ FN_PARAMETERS

#define FN_PARAMETERS
Value:
filter_backprop, filter_dims, num_out, out_positions, num_inp, \
inp_positions, inp_features, inp_importance, neighbors_index_size, \
neighbors_index, neighbors_importance, neighbors_row_splits, \
extents, offsets, out_features_gradient, normalize