open3d.t.io.DepthNoiseSimulator¶
-
class
open3d.t.io.
DepthNoiseSimulator
¶ Simulate depth image noise from a given noise distortion model. The distortion model is based on Teichman et. al. “Unsupervised intrinsic calibration of depth sensors via SLAM” RSS 2009. Also see <http://redwood-data.org/indoor/dataset.html>__
Example:
import open3d as o3d # Redwood Indoor LivingRoom1 (Augmented ICL-NUIM) # http://redwood-data.org/indoor/ data = o3d.data.RedwoodIndoorLivingRoom1() noise_model_path = data.noise_model_path im_src_path = data.depth_paths[0] depth_scale = 1000.0 # Read clean depth image (uint16) im_src = o3d.t.io.read_image(im_src_path) # Run noise model simulation simulator = o3d.t.io.DepthNoiseSimulator(noise_model_path) im_dst = simulator.simulate(im_src, depth_scale=depth_scale) # Save noisy depth image (uint16) o3d.t.io.write_image("noisy_depth.png", im_dst)
-
__init__
(self, noise_model_path)¶ - Parameters
noise_model_path (str) – Path to the noise model file. See http://redwood-data.org/indoor/dataset.html for the format. Or, you may use one of our example datasets, e.g., RedwoodIndoorLivingRoom1.
-
enable_deterministic_debug_mode
(self)¶ Enable deterministic debug mode. All normally distributed noise will be replaced by 0.
- Returns
None
-
simulate
(self, im_src, depth_scale=1000.0)¶ Apply noise model to a depth image.
- Parameters
im_src (open3d.t.geometry.Image) – Source depth image, must be with dtype UInt16 or Float32, channels==1.
depth_scale (float, optional, default=1000.0) – Scale factor to the depth image. As a sanity check, if the dtype is Float32, the depth_scale must be 1.0. If the dtype is is UInt16, the depth_scale is typically larger than 1.0, e.g. it can be 1000.0.
- Returns
open3d.t.geometry.Image
-
property
noise_model
¶ The noise model tensor.
-