Open3D (C++ API)  0.18.0
RobustKernel.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - Open3D: www.open3d.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2023 www.open3d.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 namespace open3d {
11 namespace t {
12 namespace pipelines {
13 namespace registration {
14 
15 enum class RobustKernelMethod {
16  L2Loss = 0,
17  L1Loss = 1,
18  HuberLoss = 2,
19  CauchyLoss = 3,
20  GMLoss = 4,
21  TukeyLoss = 5,
22  GeneralizedLoss = 6,
23 };
24 
58 class RobustKernel {
59 public:
60  explicit RobustKernel(
62  const double scaling_parameter = 1.0,
63  const double shape_parameter = 1.0)
64  : type_(type),
65  scaling_parameter_(scaling_parameter),
66  shape_parameter_(shape_parameter) {}
67 
68 public:
72  double scaling_parameter_ = 1.0;
74  double shape_parameter_ = 1.0;
75 };
76 
77 } // namespace registration
78 } // namespace pipelines
79 } // namespace t
80 } // namespace open3d
RobustKernel(const RobustKernelMethod type=RobustKernelMethod::L2Loss, const double scaling_parameter=1.0, const double shape_parameter=1.0)
Definition: RobustKernel.h:60
double shape_parameter_
Shape parameter.
Definition: RobustKernel.h:74
double scaling_parameter_
Scaling parameter.
Definition: RobustKernel.h:72
RobustKernelMethod type_
Loss type.
Definition: RobustKernel.h:70
char type
Definition: FilePCD.cpp:41
RobustKernelMethod
Definition: RobustKernel.h:15
Definition: PinholeCameraIntrinsic.cpp:16