(
input_point_cloud: T.Union[PointCloud, str],
output_dir: str,
model_filename: str,
n_output_imgs: int,
output_camera_trajectory_mode: str,
# for pointersect
k: int,
# for comparison with baselines
render_pointersect: bool = True, # True,
render_surfel: bool = True,
render_poisson: bool = True,
densify_neural_points: bool = False,
# other settings
rnd_seed: int = 0,
output_camera_trajectory_params: T.Dict[str, T.Any] = None,
output_camera_setting: T.Dict[str, T.Any] = None,
save_settings: T.Dict[str, T.Any] = None,
pr_setting: T.Dict[str, T.Any] = None,
model_loading_settings: T.Dict[str, T.Any] = None,
max_ray_chunk_size: int = int(1e4), # k=40: int(4e4),
max_pr_chunk_size: int = -1,
max_model_chunk_size: int = -1,
th_hit_prob: float = 0.5,
surfel_point_size: float = 1.,
neural_point_upsample_ratio_x48: int = 1,
voxel_downsample_cell_width: float = -1,
voxel_downsample_sigma: float = 0.5,
output_camera_idxs: T.List[int] = None,
test_plane_normal: bool = False,
**kwargs,
)
| 1899 | |
| 1900 | |
| 1901 | def render_point_cloud( |
| 1902 | input_point_cloud: T.Union[PointCloud, str], |
| 1903 | output_dir: str, |
| 1904 | model_filename: str, |
| 1905 | n_output_imgs: int, |
| 1906 | output_camera_trajectory_mode: str, |
| 1907 | # for pointersect |
| 1908 | k: int, |
| 1909 | # for comparison with baselines |
| 1910 | render_pointersect: bool = True, # True, |
| 1911 | render_surfel: bool = True, |
| 1912 | render_poisson: bool = True, |
| 1913 | densify_neural_points: bool = False, |
| 1914 | # other settings |
| 1915 | rnd_seed: int = 0, |
| 1916 | output_camera_trajectory_params: T.Dict[str, T.Any] = None, |
| 1917 | output_camera_setting: T.Dict[str, T.Any] = None, |
| 1918 | save_settings: T.Dict[str, T.Any] = None, |
| 1919 | pr_setting: T.Dict[str, T.Any] = None, |
| 1920 | model_loading_settings: T.Dict[str, T.Any] = None, |
| 1921 | max_ray_chunk_size: int = int(1e4), # k=40: int(4e4), |
| 1922 | max_pr_chunk_size: int = -1, |
| 1923 | max_model_chunk_size: int = -1, |
| 1924 | th_hit_prob: float = 0.5, |
| 1925 | surfel_point_size: float = 1., |
| 1926 | neural_point_upsample_ratio_x48: int = 1, |
| 1927 | voxel_downsample_cell_width: float = -1, |
| 1928 | voxel_downsample_sigma: float = 0.5, |
| 1929 | output_camera_idxs: T.List[int] = None, |
| 1930 | test_plane_normal: bool = False, |
| 1931 | **kwargs, |
| 1932 | ): |
| 1933 | setting_dict = get_settings( |
| 1934 | output_camera_trajectory_params=output_camera_trajectory_params, |
| 1935 | output_camera_setting=output_camera_setting, |
| 1936 | save_settings=save_settings, |
| 1937 | pr_setting=pr_setting, |
| 1938 | model_loading_settings=model_loading_settings, |
| 1939 | ) |
| 1940 | output_camera_trajectory_params = setting_dict['output_camera_trajectory_params'] |
| 1941 | output_camera_setting = setting_dict['output_camera_setting'] |
| 1942 | pr_setting = setting_dict['pr_setting'] |
| 1943 | save_settings = setting_dict['save_settings'] |
| 1944 | model_loading_settings = setting_dict['model_loading_settings'] |
| 1945 | |
| 1946 | if os.path.exists(output_dir) and not save_settings['overwrite']: |
| 1947 | raise RuntimeError |
| 1948 | os.makedirs(output_dir, exist_ok=True) |
| 1949 | |
| 1950 | if isinstance(input_point_cloud, str): |
| 1951 | # read pcd from file |
| 1952 | assert os.path.exists(input_point_cloud), f'{input_point_cloud} not exist' |
| 1953 | o3d_pcd = o3d.io.read_point_cloud( |
| 1954 | filename=input_point_cloud, |
| 1955 | remove_nan_points=True, |
| 1956 | remove_infinite_points=True, |
| 1957 | ) |
| 1958 | # convert o3d_pcd to point cloud |
no test coverage detected