### OptunaConfig.setup_optimizables() Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.configs.OptunaConfig.html Applies Optimizable hints embedded in the config tree, typically used during the trial setup. ```APIDOC ## POST /optuna/study/setup_optimizables ### Description Apply Optimizable hints embedded in the config tree. ### Method POST ### Endpoint /optuna/study/setup_optimizables ### Parameters #### Request Body - **experiment_config** (object) - Required - The experiment configuration object. - **trial** (object) - Required - The current Optuna trial object. - **console** (object) - Optional - A console object for logging. ### Request Example ```json { "experiment_config": { ... }, "trial": { ... }, "console": null } ``` ### Response #### Success Response (200) - **status** (string) - Indicates the success of the operation. #### Response Example ```json { "status": "success" } ``` ``` -------------------------------- ### Setup Target for AriaNBVExperimentConfig Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.lightning.AriaNBVExperimentConfig.html Instantiates the trainer, module, and datamodule components for the experiment without executing any stage. This is useful for preparing the experiment setup before running it. ```python lightning.AriaNBVExperimentConfig.setup_target(setup_stage=None, *, trial=None) ``` -------------------------------- ### Multi-View Point Cloud Fusion Example Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/prj_aria_tools_impl.html This example demonstrates fusing point clouds from multiple views of an ASE dataset. It loads depth images, retrieves corresponding poses, converts depth to point clouds, and then combines them into a single fused point cloud. ```python if not HAS_SAMPLE_DATA: print("Skipping multi-view fusion example; ASE sample data is not available.") else: print(f"Scene: {DATA_PATH}") print(f"Total frames: {len(Ts_world_device)}") # Select views to fuse (every 50th frame for speed) view_indices = [0, 50, 100, 150, 200] all_points_list = [] for idx in view_indices: # Load depth frame_id = str(idx).zfill(7) depth_img = np.array(Image.open(DATA_PATH / "depth" / f"depth{frame_id}.png")) # Get pose T_world_device_view = Ts_world_device[idx] # Convert to point cloud pc = depth_to_pointcloud( depth_img, camera_calib, T_world_device_view, subsample=8 ) all_points_list.append(pc) print(f" View {idx}: {len(pc):,} points") # Fuse all views fused_pc = np.vstack(all_points_list) print(f"\n✓ Fused point cloud: {len(fused_pc):,} points from {len(view_indices)} views") print(f" Bounds: X[{fused_pc[:, 0].min():.2f}, {fused_pc[:, 0].max():.2f}], " f"Y[{fused_pc[:, 1].min():.2f}, {fused_pc[:, 1].max():.2f}], " f"Z[{fused_pc[:, 2].min():.2f}, {fused_pc[:, 2].max():.2f}]") ``` -------------------------------- ### Setup and Run AriaNBVExperimentConfig Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.lightning.AriaNBVExperimentConfig.html Instantiates all necessary components (trainer, module, datamodule) and then executes the configured stage of the experiment. This is a primary method for running the experiment. ```python lightning.AriaNBVExperimentConfig.setup_target_and_run(stage=None) ``` -------------------------------- ### Setup Optuna Optimizable Hints Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.configs.OptunaConfig.html Applies 'Optimizable' hints embedded within the configuration tree to the Optuna trial. This method helps Optuna understand which parameters are subject to optimization. ```python configs.OptunaConfig.setup_optimizables( experiment_config, trial, *, console=None, ) ``` -------------------------------- ### Setup PyTorch Lightning Trainer Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.lightning.TrainerFactoryConfig.html This snippet demonstrates the setup_target method of TrainerFactoryConfig, used to instantiate the configured PyTorch Lightning trainer. It can accept optional arguments like experiment, trial, and optuna_config. ```python lightning.TrainerFactoryConfig.setup_target( experiment=None, *, trial=None, optuna_config=None, ) ``` -------------------------------- ### Setup Target for VinOracleOnlineDatasetConfig in Python Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.data_handling.VinOracleOnlineDatasetConfig.html This method, setup_target, is part of the VinOracleOnlineDatasetConfig class. It is used to instantiate the online VIN dataset for a specified split. The method requires a 'split' argument. ```python data_handling.VinOracleOnlineDatasetConfig.setup_target(split) ``` -------------------------------- ### GET /dataset/load Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/atek_implementation.html Initializes a WebDataset pipeline for loading ATEK data samples with optional mapping and collation. ```APIDOC ## GET /dataset/load ### Description Returns an iterable WebDataset pipeline configured for ATEK data, supporting custom key mapping and data transformations. ### Method GET ### Endpoint /dataset/load ### Parameters #### Query Parameters - **urls** (list[str]) - Required - List of URLs to the WDS tar shards. - **batch_size** (int) - Optional - Batch size for the resulting DataLoader. - **shuffle_flag** (bool) - Optional - Whether to shuffle the dataset. ### Request Example { "urls": ["s3://bucket/data.tar"], "batch_size": 4, "shuffle_flag": true } ### Response #### Success Response (200) - **pipeline** (object) - An iterable Torch DataLoader or WebDataset pipeline object. ``` -------------------------------- ### Setup WandbLogger Target Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.configs.WandbConfig.html Instantiates a configured WandbLogger instance using the setup_target method. It accepts arbitrary keyword arguments to pass through to the underlying logger configuration. ```python configs.WandbConfig.setup_target(**kwargs) ``` -------------------------------- ### Camera Model Setup with CameraTW Source: https://janduchscherer104.github.io/ARIA-NBV/contents/impl/rri_computation.html Sets up the camera model using `CameraTW`. This involves defining intrinsic parameters and image resolution, which are crucial for simulating camera views. ```APIDOC ## POST /api/camera/setup ### Description Sets up the camera model using the `CameraTW` class. This endpoint is used to define the intrinsic parameters and resolution of the camera, which are necessary for rendering or simulating camera views. ### Method POST ### Endpoint /api/camera/setup ### Parameters #### Request Body - **intrinsics** (object) - Required - Camera intrinsic parameters (e.g., focal length, principal point). - **fx** (float) - Focal length in x. - **fy** (float) - Focal length in y. - **cx** (float) - Principal point x-coordinate. - **cy** (float) - Principal point y-coordinate. - **resolution** (List[int]) - Required - Image resolution as [width, height]. ### Request Example ```json { "intrinsics": { "fx": 500.0, "fy": 500.0, "cx": 320.0, "cy": 240.0 }, "resolution": [640, 480] } ``` ### Response #### Success Response (200) - **camera_tw** (object) - The configured CameraTW object. #### Response Example ```json { "camera_tw": { "intrinsics": { "fx": 500.0, "fy": 500.0, "cx": 320.0, "cy": 240.0 }, "resolution": [640, 480] } } ``` ``` -------------------------------- ### Execute AriaNBVExperimentConfig Run Action Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.lightning.AriaNBVExperimentConfig.html Executes the primary configured action for the experiment. This method is typically called from CLI entry points to start the experiment's main process. ```python lightning.AriaNBVExperimentConfig.run() ``` -------------------------------- ### POST /setup_target_and_run Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.lightning.AriaNBVExperimentConfig.html Instantiates components and executes the configured stage. ```APIDOC ## POST /setup_target_and_run ### Description Instantiate components and execute the configured stage. ### Method POST ### Endpoint /setup_target_and_run ### Parameters #### Query Parameters - **stage** (str) - Optional - The stage to execute. Defaults to the stage defined in the config. ### Request Example ```json { "stage": "train" } ``` ``` -------------------------------- ### Install Optional xFormers Dependency Source: https://janduchscherer104.github.io/ARIA-NBV/contents/setup.html Installs the xFormers library for memory-efficient attention and nested tensor support, specifically for Linux environments. ```bash cd aria_nbv uv sync --extra xformers ``` -------------------------------- ### POST /setup_target_and_run Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.lightning.AriaNBVExperimentConfig.html Instantiates experiment components and executes the configured stage. ```APIDOC ## POST /setup_target_and_run ### Description Instantiate components and execute the configured stage. ### Method POST ### Endpoint /setup_target_and_run ### Parameters #### Query Parameters - **setup_stage** (string) - Optional - The stage to set up and run. - **trial** (object) - Optional - Optuna trial object for hyperparameter sweeps. ### Request Example ```json { "setup_stage": "training", "trial": { ... } } ``` ### Response #### Success Response (200) - **message** (string) - Indicates successful execution. #### Response Example ```json { "message": "Experiment stage executed successfully." } ``` ``` -------------------------------- ### Example Structured Token Sequence Source: https://janduchscherer104.github.io/ARIA-NBV/contents/literature/scene_script.html An example of the structured language output format used to represent scene entities as discretized integer tokens. ```text make_wall 42 156 200 0 198 312 200 0 255 0 ``` -------------------------------- ### POST /setup_target Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.lightning.AriaNBVExperimentConfig.html Instantiates the trainer, module, and datamodule without execution. ```APIDOC ## POST /setup_target ### Description Instantiate trainer + module + datamodule (no execution). ### Method POST ### Endpoint /setup_target ### Parameters #### Query Parameters - **setup_stage** (str) - Optional - The stage to set up. - **trial** (Trial) - Optional - The Optuna trial object. ### Request Example ```json { "setup_stage": "train", "trial": null } ``` ``` -------------------------------- ### POST /setup_target Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.lightning.AriaNBVExperimentConfig.html Instantiates the trainer, module, and datamodule components for the experiment without executing any stage. ```APIDOC ## POST /setup_target ### Description Instantiate trainer + module + datamodule (no execution). ### Method POST ### Endpoint /setup_target ### Parameters #### Query Parameters - **setup_stage** (string) - Optional - The stage to set up. - **trial** (object) - Optional - Optuna trial object for hyperparameter sweeps. ### Request Example ```json { "setup_stage": "training", "trial": { ... } } ``` ### Response #### Success Response (200) - **message** (string) - Indicates successful setup. #### Response Example ```json { "message": "Components setup successfully." } ``` ``` -------------------------------- ### Get ATEK Download URLs JSON Path Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.configs.PathConfig.html Gets the path to the JSON file containing ATEK download URLs. Allows specifying a custom JSON filename, defaulting to 'AriaSyntheticEnvironment_ATEK_download_urls.json'. ```python configs.PathConfig.get_atek_url_json_path( json_filename='AriaSyntheticEnvironment_ATEK_download_urls.json', ) ``` -------------------------------- ### SceneScript Tokenization Example Source: https://janduchscherer104.github.io/ARIA-NBV/contents/literature/scene_script.html Illustrates how SceneScript tokenizes entity parameters, converting continuous float values into discrete integer tokens based on a specified resolution. It also shows an example of a generated wall entity token sequence. ```text Float parameters: t = round(x / res) where res = 5cm Example Wall Token Sequence: make_wall 42 156 200 0 198 312 200 0 255 0 ``` -------------------------------- ### SceneScript Autoregressive Generation Process Source: https://janduchscherer104.github.io/ARIA-NBV/contents/literature/scene_script.html Outlines the step-by-step process of autoregressive generation within the SceneScript Transformer Decoder. It starts with a START token and iteratively predicts the next token by attending to encoded features until a STOP token is generated. ```text 1. Start with token. 2. For each timestep t: - Feed sequence {token_1, ..., token_t} to decoder. - Attend to encoded point cloud features (cross-attention). - Predict next token value via softmax. - Decode next token type based on grammar rules. 3. Generate until token. ``` -------------------------------- ### OptunaConfig.setup_target() Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.configs.OptunaConfig.html This method creates or loads an Optuna study based on the configuration. ```APIDOC ## POST /optuna/study/setup_target ### Description Create or load an Optuna study. ### Method POST ### Endpoint /optuna/study/setup_target ### Parameters #### Query Parameters - **study_name** (string) - Required - The name of the Optuna study. - **direction** (string) - Optional - The optimization direction ('minimize' or 'maximize'). Defaults to 'minimize'. - **load_if_exists** (boolean) - Optional - Whether to load an existing study if one with the same name exists. Defaults to False. ### Request Example ```json { "study_name": "my_optuna_study", "direction": "minimize", "load_if_exists": true } ``` ### Response #### Success Response (200) - **study_id** (string) - The unique identifier of the created or loaded Optuna study. - **message** (string) - A confirmation message. #### Response Example ```json { "study_id": "study_abc123", "message": "Optuna study 'my_optuna_study' created successfully." } ``` ``` -------------------------------- ### Transforms Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/prj_aria_tools_impl.html Examples for creating and manipulating SE3 transformations. ```APIDOC ## Summary: Essential Functions - Transforms ### Description Examples for creating and manipulating SE3 transformations. ### Method N/A (Python script) ### Endpoint N/A ### Parameters N/A ### Request Example ```python # SE3 creation T = SE3.from_quat_and_translation(w, xyz, translation) T = SE3.from_matrix(T_4x4) # SE3 operations T_inv = T.inverse() T_composed = T1 @ T2 points_transformed = T @ points_3d ``` ### Response N/A ### Response Example N/A ``` -------------------------------- ### Instantiate EFM Dataset via setup_target Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.data_handling.AseEfmDatasetConfig.html This method initializes and returns the raw EFM dataset instance based on the current configuration object. It is the primary entry point for preparing the dataset for training or evaluation pipelines. ```python config = AseEfmDatasetConfig() dataset = config.setup_target() ``` -------------------------------- ### Initialize VideoBackboneDinov2 Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/efm3d_symbol_index.html Shows how to instantiate the DinoV2.5 video backbone and process RGB image inputs to obtain frame-wise feature maps. ```python from efm3d.model.video_backbone import VideoBackboneDinov2 backbone = VideoBackboneDinov2(model_name="dinov2_vitg14", img_size=1408) features = backbone({"rgb/img": torch.randn(1, 10, 3, 1408, 1408)}) ``` -------------------------------- ### get_atek_source_path Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.configs.PathConfig.html Gets the path to the vendored ATEK source directory. ```APIDOC ## get_atek_source_path ### Description Get path to vendored ATEK source. ### Method GET (Assumed, as it's a path retrieval function) ### Endpoint /api/configs/get_atek_source_path ### Response #### Success Response (200) - **path** (Path) - Path to external/ATEK directory. #### Response Example ```json { "path": "/path/to/external/ATEK" } ``` #### Error Response (404) - **message** (str) - If ATEK is not found. #### Error Example ```json { "message": "ATEK source not found." } ``` ``` -------------------------------- ### GET /rri_metrics/class_midpoints Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.rri_metrics.RriOrdinalBinner.html Retrieves the calculated RRI midpoints for each ordinal class. ```APIDOC ## GET /rri_metrics/class_midpoints ### Description Returns per-class RRI midpoints derived from the quantile edges of the fitted binner. ### Method GET ### Endpoint /rri_metrics/class_midpoints ### Response #### Success Response (200) - **midpoints** (Tensor) - Tensor of shape (K, float32) representing bin midpoints. #### Response Example { "midpoints": [0.25, 0.75, 1.25] } ``` -------------------------------- ### get_atek_url_json_path Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.configs.PathConfig.html Gets the path to the ATEK download URLs JSON file. ```APIDOC ## get_atek_url_json_path ### Description Get path to ATEK download URLs JSON. ### Method GET (Assumed, as it's a path retrieval function) ### Endpoint /api/configs/get_atek_url_json_path ### Parameters #### Query Parameters - **json_filename** (str) - Optional - Name of the ATEK URL JSON file. Defaults to "AriaSyntheticEnvironment_ATEK_download_urls.json". ### Response #### Success Response (200) - **path** (Path) - Path to the ATEK URL JSON file. #### Response Example ```json { "path": "/path/to/atek/AriaSyntheticEnvironment_ATEK_download_urls.json" } ``` ``` -------------------------------- ### Initialize VinLightningModule Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.lightning.VinLightningModule.html Instantiates the PyTorch Lightning module designed for VIN training with CORAL ordinal regression. ```python lightning.VinLightningModule(config) ``` -------------------------------- ### GET /data_handling/VinOfflineManifest/read Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.data_handling.VinOfflineManifest.html Loads and deserializes a VinOfflineManifest instance from a JSON file on disk. ```APIDOC ## GET /data_handling/VinOfflineManifest/read ### Description Loads a manifest from a specified JSON file path and returns a deserialized VinOfflineManifest object. ### Method GET ### Endpoint /data_handling/VinOfflineManifest/read ### Parameters #### Query Parameters - **path** (Path) - Required - Manifest JSON path. ### Request Example GET /data_handling/VinOfflineManifest/read?path=/path/to/manifest.json ### Response #### Success Response (200) - **manifest** (VinOfflineManifest) - The deserialized manifest object. #### Response Example { "version": 1, "created_at": "2023-10-27T10:00:00Z", "source": {}, "oracle": {}, "vin": {}, "materialized_blocks": {}, "shards": [] } ``` -------------------------------- ### VinLightningModule Constructor Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.lightning.VinLightningModule.html Initializes the VinLightningModule with a given configuration. ```APIDOC ## VinLightningModule Constructor ### Description Initializes the VinLightningModule with a given configuration. This module is designed for VIN training using CORAL ordinal regression. ### Method ``` lightning.VinLightningModule(config) ``` ### Parameters #### Request Body - **config** (object) - Required - Configuration object for the module. ``` -------------------------------- ### Camera Operations Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/prj_aria_tools_impl.html Examples for performing camera projection and unprojection, and retrieving camera extrinsics. ```APIDOC ## Summary: Essential Functions - Camera Operations ### Description Examples for performing camera projection and unprojection, and retrieving camera extrinsics. ### Method N/A (Python script) ### Endpoint N/A ### Parameters N/A ### Request Example ```python # Projection pixel = camera_calib.project(point_in_camera) # Unprojection ray = camera_calib.unproject(pixel) point_3d = depth * ray # Extrinsics T_device_camera = camera_calib.get_transform_device_camera() ``` ### Response N/A ### Response Example N/A ``` -------------------------------- ### GET /utils/extract_scene_id_from_sequence_name Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.utils.extract_scene_id_from_sequence_name.html Extracts the scene identifier from a given ATEK/ASE sequence name string. ```APIDOC ## GET /utils/extract_scene_id_from_sequence_name ### Description Extracts the scene ID from an ATEK/ASE sequence name (e.g., '82832_seq_000'). ### Method GET ### Endpoint /utils/extract_scene_id_from_sequence_name ### Parameters #### Query Parameters - **sequence_name** (str) - Required - The sequence name string to parse. ### Request Example GET /utils/extract_scene_id_from_sequence_name?sequence_name=82832_seq_000 ### Response #### Success Response (200) - **scene_id** (str) - The extracted scene ID (e.g., '82832'). #### Response Example { "scene_id": "82832" } ``` -------------------------------- ### Initialize VinLightningModuleConfig Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.lightning.VinLightningModuleConfig.html Instantiates the configuration object required for setting up the VinLightningModule. This object holds parameters for training, loss functions, and binner management. ```python lightning.VinLightningModuleConfig() ``` -------------------------------- ### GET /data_handling/EfmSnippetView/get_camera Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.data_handling.EfmSnippetView.html Retrieves a specific camera stream view from the underlying EFM data. ```APIDOC ## GET /data_handling/EfmSnippetView/get_camera ### Description Returns the requested camera stream view (e.g., RGB, SLAM left/right) from the backing EFM dictionary. ### Method GET ### Endpoint /data_handling/EfmSnippetView/get_camera ### Parameters #### Query Parameters - **prefix** (str) - Required - The camera stream identifier prefix. ### Response #### Success Response (200) - **stream** (object) - The requested camera stream data. ``` -------------------------------- ### Data Loading Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/prj_aria_tools_impl.html Examples for loading VRS and ASE data using the DataProvider and readers module. ```APIDOC ## Summary: Essential Functions - Data Loading ### Description Examples for loading VRS and ASE data using the `DataProvider` and readers module. ### Method N/A (Python script) ### Endpoint N/A ### Parameters N/A ### Request Example ```python # VRS data provider = data_provider.create_vrs_data_provider(vrs_path) image_data, record = provider.get_image_data_by_index(stream_id, idx) # ASE data trajectory = readers.read_trajectory_file(traj_csv) points = readers.read_points_file(points_csv_gz) entities = readers.read_language_file(language_txt) ``` ### Response N/A ### Response Example N/A ``` -------------------------------- ### Initialize VinOfflineStoreConfig Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.data_handling.VinOfflineStoreConfig.html Instantiates the VinOfflineStoreConfig class to set up the filesystem configuration for an immutable VIN offline dataset. This involves defining paths for the store directory, manifest, sample index, shards, and splits. ```python data_handling.VinOfflineStoreConfig() ``` -------------------------------- ### POST /data_handling/AseEfmDatasetConfig/setup_target Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.data_handling.AseEfmDatasetConfig.html Instantiates the configured raw EFM dataset based on the current configuration attributes. ```APIDOC ## POST /data_handling/AseEfmDatasetConfig/setup_target ### Description Instantiates the configured raw EFM dataset using the parameters defined in the AseEfmDatasetConfig instance. ### Method POST ### Endpoint /data_handling/AseEfmDatasetConfig/setup_target ### Parameters #### Request Body - **config** (object) - Required - The AseEfmDatasetConfig object containing attributes like `batch_size`, `scene_ids`, `load_meshes`, and `device`. ### Request Example { "batch_size": 32, "load_meshes": true, "device": "cuda" } ### Response #### Success Response (200) - **dataset** (object) - The instantiated EFM dataset object. #### Response Example { "status": "success", "message": "Dataset instantiated successfully" } ``` -------------------------------- ### Setup AseEfmDataset using Configuration Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.data_handling.AseEfmDatasetConfig.html The setup_target method of AseEfmDatasetConfig is used to instantiate the configured raw EFM dataset. This method likely takes the configuration defined by the AseEfmDatasetConfig object and uses it to create and return an instance of the EFM dataset. ```python data_handling.AseEfmDatasetConfig.setup_target() ``` -------------------------------- ### GET /aria/constants/streams Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/efm3d_symbol_index.html Retrieves constants related to image streams (RGB/SLAM), calibration, and pose data. ```APIDOC ## GET /aria/constants/streams ### Description Retrieves configuration and data structures for image streams, camera calibration, and rig poses. ### Method GET ### Endpoint /aria/constants/streams ### Parameters #### Query Parameters - **stream_type** (string) - Required - Type of stream (rgb, slaml, slamr). ### Response #### Success Response (200) - **ARIA_IMG** (torch.float32) - Image tensors [B, T, C, H, W]. - **ARIA_CALIB** (CameraTW) - Camera intrinsics/extrinsics. - **ARIA_POSE_T_WORLD_RIG** (PoseTW) - Transform rig to world. #### Response Example { "ARIA_IMG": "[B, T, 3, 1408, 1408]", "ARIA_CALIB": "[B, T, 26]", "ARIA_POSE_T_WORLD_RIG": "[B, T, 12]" } ``` -------------------------------- ### GET read_split_indices Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.data_handling.VinOfflineStoreConfig.html Retrieves the global sample indices for a specific data split from the offline store. ```APIDOC ## GET read_split_indices ### Description Load the global sample indices for a specified data split (e.g., 'train', 'val', 'all'). ### Method GET ### Endpoint aria_nbv.data_handling.VinOfflineStoreConfig.read_split_indices ### Parameters #### Path Parameters - **split** (str) - Required - Split name such as "all", "train", or "val". ### Response #### Success Response (200) - **indices** (np.ndarray) - Global sample indices for the requested split. #### Response Example [0, 1, 5, 12, 15] ``` -------------------------------- ### POST /data_handling/VinOracleCacheDatasetConfig/setup_target Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.data_handling.VinOracleCacheDatasetConfig.html Instantiates the offline VIN dataset for a specified split using the current configuration. ```APIDOC ## POST /data_handling/VinOracleCacheDatasetConfig/setup_target ### Description Instantiates the offline VIN dataset for the requested split. This method utilizes the configuration attributes to set up the appropriate data source. ### Method POST ### Endpoint /data_handling/VinOracleCacheDatasetConfig/setup_target ### Parameters #### Path Parameters - **split** (string) - Required - The cache split identifier to use (e.g., 'train', 'val'). ### Request Example { "split": "train" } ### Response #### Success Response (200) - **dataset** (object) - The instantiated offline VIN dataset object. #### Response Example { "status": "success", "dataset": "" } ``` -------------------------------- ### Setup Target for VinOracleCacheDatasetConfig Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.data_handling.VinOracleCacheDatasetConfig.html This code snippet demonstrates how to use the setup_target method of the VinOracleCacheDatasetConfig class to instantiate an offline VIN dataset for a specified data split. The method takes a 'split' argument, which is typically a string indicating the dataset split (e.g., 'train', 'val'). ```python data_handling.VinOracleCacheDatasetConfig.setup_target(split) ``` -------------------------------- ### GET /vrs/stream Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/prj_aria_tools_impl.html Retrieves sensor data from a VRS recording file using specific stream identifiers. ```APIDOC ## GET /vrs/stream ### Description Accesses raw sensor data (RGB, SLAM, Eye Tracking) from a Project Aria VRS file. ### Method GET ### Endpoint /vrs/stream ### Parameters #### Query Parameters - **stream_id** (string) - Required - The unique identifier for the sensor stream (e.g., '214-1' for RGB). - **frame_idx** (integer) - Required - The index of the frame to retrieve. ### Request Example GET /vrs/stream?stream_id=214-1&frame_idx=0 ### Response #### Success Response (200) - **image_data** (object) - The sensor frame data. - **capture_timestamp_ns** (integer) - The timestamp of the capture in nanoseconds. #### Response Example { "image_data": "[binary_data]", "capture_timestamp_ns": 1625000000000 } ``` -------------------------------- ### GET /aria/constants/metadata Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/efm3d_symbol_index.html Retrieves metadata constants for sequences and snippets, including timing information and world-frame transforms. ```APIDOC ## GET /aria/constants/metadata ### Description Provides access to sequence-level metadata and snippet-specific timing and transformation constants. ### Method GET ### Endpoint /aria/constants/metadata ### Parameters #### Query Parameters - **snippet_id** (int) - Optional - The specific snippet index to retrieve. ### Response #### Success Response (200) - **ARIA_SEQ_ID** (str) - Unique identifier of the full sensor sequence. - **ARIA_SNIPPET_TIME_NS** (torch.long) - Snippet start timestamp in nanoseconds. - **ARIA_SNIPPET_T_WORLD_SNIPPET** (PoseTW) - Transform from snippet frame to world frame. #### Response Example { "ARIA_SEQ_ID": "seq_001", "ARIA_SNIPPET_TIME_NS": 1625000000000, "ARIA_SNIPPET_T_WORLD_SNIPPET": "[B, 12]" } ``` -------------------------------- ### Configure and Build OpenPoints Source: https://janduchscherer104.github.io/ARIA-NBV/contents/setup.html Initializes the PointNeXt submodule and builds OpenPoints dependencies. Includes optional environment variables to toggle specific build features like EMD or subsampling. ```bash git submodule update --init --recursive external/PointNeXt uv sync --all-extras OPENPOINTS_BUILD_POINTOPS=1 uv sync --all-extras OPENPOINTS_BUILD_SUBSAMPLING=1 uv sync --all-extras OPENPOINTS_BUILD_CHAMFER_DIST=0 uv sync --all-extras OPENPOINTS_BUILD_EMD=1 uv sync --all-extras ``` -------------------------------- ### GET /data_handling/read_vin_snippet_cache_metadata Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.data_handling.read_vin_snippet_cache_metadata.html Reads VIN snippet cache metadata from a provided directory or metadata file path. ```APIDOC ## GET /data_handling/read_vin_snippet_cache_metadata ### Description Reads and retrieves VIN snippet cache metadata from a specified directory or metadata file path. ### Method GET ### Endpoint /data_handling/read_vin_snippet_cache_metadata ### Parameters #### Query Parameters - **path** (string) - Required - The file system path to the directory or metadata file containing the VIN snippet cache. ### Request Example GET /data_handling/read_vin_snippet_cache_metadata?path=/path/to/cache ### Response #### Success Response (200) - **metadata** (object) - The parsed metadata object containing VIN snippet details. #### Response Example { "status": "success", "data": { "version": "1.0", "entries": 150 } } ``` -------------------------------- ### Setup Optuna Study Target Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.configs.OptunaConfig.html Sets up the target for an Optuna study, which involves either creating a new study or loading an existing one based on the configuration. This is a crucial step before running optimization trials. ```python configs.OptunaConfig.setup_target() ``` -------------------------------- ### GET /api/v1/objects/predictions Source: https://janduchscherer104.github.io/ARIA-NBV/contents/literature/efm3d.html Retrieves decoded object bounding boxes and class probabilities for entity-aware navigation tasks. ```APIDOC ## GET /api/v1/objects/predictions ### Description Accesses decoded OBBs and full class probability vectors. Note: These are recommended for future entity-aware NBV tasks rather than basic RRI prediction. ### Method GET ### Endpoint /api/v1/objects/predictions ### Response #### Success Response (200) - **obbs/pred** (ObbTW) - Predicted OBBs in snippet coordinates. - **obbs/pred/probs_full** (List) - Per-box full class probability vectors. #### Response Example { "obbs/pred": "(B, K, 34)", "probs_full": "List of Tensors" } ``` -------------------------------- ### GET /assets/ground-truth-meshes Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ase_dataset.html Retrieves ground-truth mesh files for validation scenes to perform Chamfer or F-score evaluation. ```APIDOC ## GET /assets/ground-truth-meshes ### Description Fetches watertight meshes for validation scenes. Note that these are only available for a subset of 100 validation scenes. ### Method GET ### Endpoint /assets/ground-truth-meshes ### Parameters #### Query Parameters - **scene_id** (string) - Required - The unique identifier for the scene. ### Response #### Success Response (200) - **mesh_path** (string) - Path to the .ply file on the filesystem. #### Response Example { "mesh_path": "/data/meshes/scene_123.ply" } ``` -------------------------------- ### POST /run Source: https://janduchscherer104.github.io/ARIA-NBV/reference/aria_nbv.lightning.AriaNBVExperimentConfig.html Executes the configured action. Intended to be called from CLI entry points. ```APIDOC ## POST /run ### Description Execute the configured action. This method is intended to be called from CLI entry points. ### Method POST ### Endpoint /run ### Request Example ```json {} ``` ``` -------------------------------- ### Initialize CORAL Bin Values Source: https://janduchscherer104.github.io/ARIA-NBV/contents/impl/coral_intergarion.html Shows how to initialize the learned monotone bin values (u_k) in the VinModelV2 using provided bin means. ```python model = VinModelV2(...) model.init_bin_values(bin_means) # Tensor[K] ``` -------------------------------- ### GET /data/wds/load Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/atek_implementation.html Loads an ATEK dataset from WebDataset shards and applies necessary transformations for model consumption. ```APIDOC ## GET /data/wds/load ### Description Loads a dataset from provided URLs using the WebDataset pipeline, applying key remapping and collation for downstream model training. ### Method GET ### Endpoint /data/wds/load ### Parameters #### Query Parameters - **urls** (list[str]) - Required - List of WebDataset tar file URLs. - **batch_size** (int) - Optional - Number of samples per batch. - **shuffle_flag** (bool) - Optional - Whether to shuffle the dataset. ### Request Example { "urls": ["pipe:aws s3 cp s3://bucket/data-{000000..000010}.tar -"], "batch_size": 4, "shuffle_flag": true } ### Response #### Success Response (200) - **data** (dict) - The collated dictionary containing tensors for images, trajectories, and ground truth. #### Response Example { "mfcd#camera-rgb+images": "Tensor[B,F,3,H,W]", "mtd#ts_world_device": "Tensor[B,F,3,4]" } ``` -------------------------------- ### CORAL Initialization Hook Source: https://janduchscherer104.github.io/ARIA-NBV/contents/impl/coral_intergarion.html Shows how to use the VinModelV2 hook to initialize CORAL bin values. ```APIDOC ### Initialization hook (`aria_nbv/aria_nbv/vin/experimental/model_v2.py`) `VinModelV2` exposes a lightweight hook to initialize the CORAL bin values: ```python model = VinModelV2(...) model.init_bin_values(bin_means) # Tensor[K] ``` ``` -------------------------------- ### Multi-View Point Cloud Fusion Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/prj_aria_tools_impl.html This example demonstrates how to fuse multiple depth views into a single point cloud. ```APIDOC ## Complete Example: Multi-View Point Cloud Fusion ### Description This example demonstrates how to fuse multiple depth views into a single point cloud. ### Method N/A (Python script) ### Endpoint N/A ### Parameters N/A ### Request Example ```python if not HAS_SAMPLE_DATA: print("Skipping multi-view fusion example; ASE sample data is not available.") else: print(f"Scene: {DATA_PATH}") print(f"Total frames: {len(Ts_world_device)}") # Select views to fuse (every 50th frame for speed) view_indices = [0, 50, 100, 150, 200] all_points_list = [] for idx in view_indices: # Load depth frame_id = str(idx).zfill(7) depth_img = np.array(Image.open(DATA_PATH / "depth" / f"depth{frame_id}.png")) # Get pose T_world_device_view = Ts_world_device[idx] # Convert to point cloud pc = depth_to_pointcloud( depth_img, camera_calib, T_world_device_view, subsample=8 ) all_points_list.append(pc) print(f" View {idx}: {len(pc):,} points") # Fuse all views fused_pc = np.vstack(all_points_list) print(f"\n✓ Fused point cloud: {len(fused_pc):,} points from {len(view_indices)} views") print(f" Bounds: X[{fused_pc[:, 0].min():.2f}, {fused_pc[:, 0].max():.2f}], " f"Y[{fused_pc[:, 1].min():.2f}, {fused_pc[:, 1].max():.2f}], " f"Z[{fused_pc[:, 2].min():.2f}, {fused_pc[:, 2].max():.2f}]") ``` ### Response N/A ### Response Example N/A ``` -------------------------------- ### Configure Auxiliary Loss Decay Source: https://janduchscherer104.github.io/ARIA-NBV/contents/impl/coral_intergarion.html Example configuration for applying an exponential decay schedule to the auxiliary regression weight. ```toml [module_config] aux_regression_weight = 10.0 aux_regression_weight_gamma = 0.98 aux_regression_weight_min = 0.5 aux_regression_weight_interval = "epoch" ``` -------------------------------- ### Programmatic Dataset Loading with ASEDatasetConfig Source: https://janduchscherer104.github.io/ARIA-NBV/contents/impl/data_pipeline_overview.html Demonstrates how to programmatically load datasets using the ASEDatasetConfig class. It sets up the dataset configuration and then retrieves a sample snippet for further processing. ```python from aria_nbv.data_handling.dataset import ASEDatasetConfig cfg = ASEDatasetConfig(atek_variant="efm", load_meshes=True, require_mesh=True) ds = cfg.setup_target() sample = next(iter(ds)) # EfmSnippetView ``` -------------------------------- ### Initialize VRS Data Provider Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/prj_aria_tools_impl.html Demonstrates how to initialize a VRS data provider and query sensor streams using specific stream IDs. This requires a valid VRS recording file to function. ```python from projectaria_tools.core import data_provider from projectaria_tools.core.stream_id import StreamId from projectaria_tools.core.sensor_data import TimeDomain, TimeQueryOptions # Example usage (requires VRS file): # provider = data_provider.create_vrs_data_provider("path/to/recording.vrs") # Get stream IDs rgb_stream_id = StreamId("214-1") # slam_stream_id = provider.get_stream_id_from_label("camera-slam-left") print("VRS provider section - requires VRS recording file") ``` -------------------------------- ### GET /data/stream/wds Source: https://janduchscherer104.github.io/ARIA-NBV/contents/ext-impl/efm3d_implementation.html Initializes a sliding-window WebDataset reader for streaming EFM3D data with fixed temporal receptive fields. ```APIDOC ## GET /data/stream/wds ### Description Initializes a WdsStreamDataset to yield EFM keys including images, poses, and semidense points for model training or evaluation. ### Method GET ### Endpoint /data/stream/wds ### Parameters #### Query Parameters - **urls** (list[str]) - Required - List of WebDataset source URLs. - **snippet_length_s** (float) - Required - Length of the temporal window in seconds. - **stride_length_s** (float) - Required - Stride length for the sliding window in seconds. - **freq** (float) - Required - Sampling frequency. ### Response #### Success Response (200) - **data** (dict) - Returns a dictionary containing images [T,C,H,W], poses [T], cameras [T], and padded semidense point lists. ### Response Example { "images": "[T, C, H, W] tensor", "poses": "PoseTW[T]", "cameras": "CameraTW[T]", "semidense": "[T, N, 3]" } ```