# open3d.color_map.ColorMapOptimizationOption¶

class open3d.color_map.ColorMapOptimizationOption

Defines options for color map optimization.

__init__(self: open3d.color_map.ColorMapOptimizationOption) → None

Default constructor

property depth_threshold_for_discontinuity_check

(Default 0.1) Parameter to check the visibility of a point. It’s often desirable to ignore points where there is an abrupt change in depth value. First the depth gradient image is computed, points are considered to be invisible if the depth gradient magnitude is larger than depth_threshold_for_discontinuity_check.

Type

float

property depth_threshold_for_visiblity_check

(Default 0.03) Parameter for point visibility check. When the difference of a point’s depth value in the RGB-D image and the point’s depth value in the 3D mesh is greater than depth_threshold_for_visiblity_check, the point is marked as invisible to the camera producing the RGB-D image.

Type

float

property half_dilation_kernel_size_for_discontinuity_map

(Default 3) Parameter to check the visibility of a point. Related to depth_threshold_for_discontinuity_check, when boundary points are detected, dilation is performed to ignore points near the object boundary. half_dilation_kernel_size_for_discontinuity_map specifies the half-kernel size for the dilation applied on the visibility mask image.

Type

int

property image_boundary_margin

(Default 10) If a projected 3D point onto a 2D image lies in the image border within image_boundary_margin, the 3D point is considered invisible from the camera producing the image. This parmeter is not used for visibility check, but used when computing the final color assignment after color map optimization.

Type

int

property invisible_vertex_color_knn

(Default 3) If a vertex is invisible from all images, we assign the averaged color of the k nearest visible vertices to fill the invisible vertex. Set to 0 to disable this feature and all invisible vertices will be black.

Type

int

property maximum_allowable_depth

(Default 2.5) Parameter to check the visibility of a point. Points with depth larger than maximum_allowable_depth in a RGB-D will be marked as invisible for the camera producing that RGB-D image. Select a proper value to include necessary points while ignoring unwanted points such as the background.

Type

float

property maximum_iteration

(Default 300) Number of iterations for optimization steps.

Type

int

property non_rigid_anchor_point_weight

(Default 0.316) Additional regularization terms added to non-rigid regularization. A higher value results gives more conservative updates. If the residual error does not stably decrease, it is mainly because images are being bended abruptly. In this case, consider making iteration more conservative by increasing the value. This option is only used when non-rigid optimization is enabled.

Type

float

property non_rigid_camera_coordinate

(Default False) Set to True to enable non-rigid optimization (optimizing camera extrinsic params and image wrapping field for color assignment), set to False to only enable rigid optimization (optimize camera extrinsic params).

Type

bool

property number_of_vertical_anchors

(Default 16) Number of vertical anchor points for image wrapping field. The number of horizontal anchor points is computed automatically based on the number of vertical anchor points. This option is only used when non-rigid optimization is enabled.

Type

int