Open3D (C++ API)  0.19.0
Loading...
Searching...
No Matches
ContinuousConvBackpropFilter.h File Reference
#include <tbb/parallel_for.h>
#include <mutex>
#include "open3d/ml/impl/continuous_conv/CoordinateTransformation.h"

Go to the source code of this file.

Namespaces

namespace  open3d
namespace  open3d::ml
namespace  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>( \
#define 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(METRIC, IGNORE_QUERY_POINT, RETURN_DISTANCES)

◆ 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(METRIC)

◆ CALL_TEMPLATE4

#define CALL_TEMPLATE4
Value:
CALL_TEMPLATE3(InterpolationMode::LINEAR) \
CALL_TEMPLATE3(InterpolationMode::LINEAR_BORDER) \
CALL_TEMPLATE3(InterpolationMode::NEAREST_NEIGHBOR)
#define CALL_TEMPLATE3

◆ 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