MCPcopy Create free account
hub / github.com/apple/ml-pointersect / render_point_cloud

Function render_point_cloud

pointersect/inference/main.py:1901–2056  ·  view source on GitHub ↗
(
        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,
)

Source from the content-addressed store, hash-verified

1899
1900
1901def 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

Callers 4

render_arkitscenesFunction · 0.85
render_point_cloudsFunction · 0.85
launchFunction · 0.85

Calls 9

get_cameraMethod · 0.95
CameraTrajectoryClass · 0.90
get_settingsFunction · 0.85
main_renderFunction · 0.85
from_o3d_pcdMethod · 0.80
voxel_downsamplingMethod · 0.80
deviceMethod · 0.80
saveMethod · 0.45
index_selectMethod · 0.45

Tested by

no test coverage detected