Resolve a cache or store directory against the configured data roots.
Relative paths default to offline_cache_dir when available and otherwise fall back to data_root. Paths that already start with the data-root or offline-cache root name are instead interpreted relative to root so callers can still pass repo-root-relative paths such as offline_cache/foo.
1.2.9 resolve_run_dir
configs.PathConfig.resolve_run_dir(out_dir)
Resolve a run output directory and ensure it exists.
Resolve a SQLite Optuna storage URI for a given study name.
Source Code
# PathConfig { #aria_nbv.configs.PathConfig }```pythonconfigs.PathConfig(**kwargs)```Centralise all filesystem locations for the aria_nbv project.## Attributes| Name | Description || ---| ---||[root](#aria_nbv.configs.PathConfig.root)| Project root. ||[data_root](#aria_nbv.configs.PathConfig.data_root)| Root directory for all data (downloaded datasets, meshes, etc.). ||[data_root_massive](#aria_nbv.configs.PathConfig.data_root_massive)| Optional root directory for storing further large datasets, caches or artifacts. ||[checkpoints](#aria_nbv.configs.PathConfig.checkpoints)| Directory used by Lightning checkpoints. ||[wandb](#aria_nbv.configs.PathConfig.wandb)| Directory used by Weights & Biases for local run artifacts. ||[optuna](#aria_nbv.configs.PathConfig.optuna)| Directory used by Optuna for local study storage (SQLite). ||[configs_dir](#aria_nbv.configs.PathConfig.configs_dir)| Directory containing exported experiment/configuration files (TOML, etc.). ||[url_dir](#aria_nbv.configs.PathConfig.url_dir)| Directory containing ASE download URL JSON files. ||[metadata_cache](#aria_nbv.configs.PathConfig.metadata_cache)| Path to cached ASE metadata JSON. ||[ase_meshes](#aria_nbv.configs.PathConfig.ase_meshes)| Directory for downloaded ASE ground truth meshes. ||[processed_meshes](#aria_nbv.configs.PathConfig.processed_meshes)| Directory for cropped/simplified meshes persisted for reuse. |## Methods| Name | Description || ---| ---||[resolve_checkpoint_path](#aria_nbv.configs.PathConfig.resolve_checkpoint_path)| Resolve a checkpoint path relative to the checkpoints directory. ||[resolve_mesh_path](#aria_nbv.configs.PathConfig.resolve_mesh_path)| Resolve path to GT mesh for a scene. ||[resolve_processed_mesh_path](#aria_nbv.configs.PathConfig.resolve_processed_mesh_path)| Resolve path for a processed (cropped/simplified) mesh artifact. ||[resolve_atek_data_dir](#aria_nbv.configs.PathConfig.resolve_atek_data_dir)| Resolve path to ATEK data directory for a config. ||[get_atek_source_path](#aria_nbv.configs.PathConfig.get_atek_source_path)| Get path to vendored ATEK source. ||[get_atek_url_json_path](#aria_nbv.configs.PathConfig.get_atek_url_json_path)| Get path to ATEK download URLs JSON. ||[resolve_under_root](#aria_nbv.configs.PathConfig.resolve_under_root)| Resolve a user-provided path relative to the project root. ||[resolve_cache_artifact_dir](#aria_nbv.configs.PathConfig.resolve_cache_artifact_dir)| Resolve a cache or store directory against the configured data roots. ||[resolve_run_dir](#aria_nbv.configs.PathConfig.resolve_run_dir)| Resolve a run output directory and ensure it exists. ||[resolve_artifact_path](#aria_nbv.configs.PathConfig.resolve_artifact_path)| Resolve an artifact file path under the project root. ||[resolve_config_toml_path](#aria_nbv.configs.PathConfig.resolve_config_toml_path)| Resolve a TOML experiment config path. ||[resolve_optuna_study_uri](#aria_nbv.configs.PathConfig.resolve_optuna_study_uri)| Resolve a SQLite Optuna storage URI for a given study name. |### resolve_checkpoint_path { #aria_nbv.configs.PathConfig.resolve_checkpoint_path }```pythonconfigs.PathConfig.resolve_checkpoint_path(path)```Resolve a checkpoint path relative to the checkpoints directory.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||--------|---------------------|------------------------------------------------|------------|| path | str \| Path \| None | Checkpoint path (absolute, relative, or None). | _required_ |#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|--------------|---------------------------------------------------------||| Path \| None | Resolved absolute path, or None if input is None/empty. |#### Raises {.doc-section .doc-section-raises}| Name | Type | Description ||--------|-------------------|--------------------------------------||| FileNotFoundError | If the resolved path does not exist. |### resolve_mesh_path { #aria_nbv.configs.PathConfig.resolve_mesh_path }```pythonconfigs.PathConfig.resolve_mesh_path(scene_id)```Resolve path to GT mesh for a scene.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||----------|--------|----------------------------------|------------|| scene_id | str | Scene identifier (e.g., "82832") | _required_ |#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|--------|---------------------------------------||| Path | Path to mesh file (may not exist yet) |### resolve_processed_mesh_path { #aria_nbv.configs.PathConfig.resolve_processed_mesh_path }```pythonconfigs.PathConfig.resolve_processed_mesh_path( scene_id, simplification_ratio, is_crop, spec_hash,)```Resolve path for a processed (cropped/simplified) mesh artifact.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||----------------------|--------|----------------------------------------------------|------------|| scene_id | str | ASE scene identifier. | _required_ || simplification_ratio | float | Mesh simplification ratio encoded in the filename. | _required_ || is_crop | bool | Whether the processed mesh is a cropped artifact. | _required_ || spec_hash | str | Short hash of the processing specification. | _required_ |#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|--------|-------------------------------------------------------------||| Path | Destination path where the processed mesh should be stored. |### resolve_atek_data_dir { #aria_nbv.configs.PathConfig.resolve_atek_data_dir }```pythonconfigs.PathConfig.resolve_atek_data_dir(config_name='efm')```Resolve path to ATEK data directory for a config.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||-------------|--------|--------------------------------------------|-----------|| config_name | str | ATEK config name (e.g., "efm", "efm_eval") |`'efm'`|#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|--------|-----------------------------||| Path | Path to ATEK data directory |### get_atek_source_path { #aria_nbv.configs.PathConfig.get_atek_source_path }```pythonconfigs.PathConfig.get_atek_source_path()```Get path to vendored ATEK source.#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|--------|---------------------------------||| Path | Path to external/ATEK directory |#### Raises {.doc-section .doc-section-raises}| Name | Type | Description ||--------|-------------------|----------------------||| FileNotFoundError | If ATEK is not found |### get_atek_url_json_path { #aria_nbv.configs.PathConfig.get_atek_url_json_path }```pythonconfigs.PathConfig.get_atek_url_json_path( json_filename='AriaSyntheticEnvironment_ATEK_download_urls.json',)```Get path to ATEK download URLs JSON.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||---------------|--------|---------------------------------|------------------------------------------------------|| json_filename | str | Name of the ATEK URL JSON file. |`'AriaSyntheticEnvironment_ATEK_download_urls.json'`|#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|--------|---------------------------------||| Path | Path to the ATEK URL JSON file. |### resolve_under_root { #aria_nbv.configs.PathConfig.resolve_under_root }```pythonconfigs.PathConfig.resolve_under_root(path, *, base_dir=None)```Resolve a user-provided path relative to the project root.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||----------|--------------|--------------------------------------------------------------------------------|------------|| path | str \| Path | Path to resolve (absolute or relative). | _required_ || base_dir | Path \| None | Optional base directory to resolve relative paths against. Defaults to `root`. |`None`|#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|--------|------------------------------------||| Path | Absolute, expanded, resolved path. |### resolve_cache_artifact_dir { #aria_nbv.configs.PathConfig.resolve_cache_artifact_dir }```pythonconfigs.PathConfig.resolve_cache_artifact_dir(path)```Resolve a cache or store directory against the configured data roots.Relative paths default to `offline_cache_dir` when available andotherwise fall back to `data_root`. Paths that already start withthe data-root or offline-cache root name are instead interpretedrelative to `root` so callers can still pass repo-root-relativepaths such as ``offline_cache/foo``.### resolve_run_dir { #aria_nbv.configs.PathConfig.resolve_run_dir }```pythonconfigs.PathConfig.resolve_run_dir(out_dir)```Resolve a run output directory and ensure it exists.### resolve_artifact_path { #aria_nbv.configs.PathConfig.resolve_artifact_path }```pythonconfigs.PathConfig.resolve_artifact_path( path,*, expected_suffix=None, create_parent=True,)```Resolve an artifact file path under the project root.#### Parameters {.doc-section .doc-section-parameters}| Name | Type | Description | Default ||-----------------|-------------|----------------------------------------------------------|------------|| path | str \| Path | Path to resolve (absolute or relative). | _required_ || expected_suffix | str \| None | Optional required suffix (e.g. ".json", ".pt", ".toml"). |`None`|| create_parent | bool | Create the parent directory when True. |`True`|#### Returns {.doc-section .doc-section-returns}| Name | Type | Description ||--------|--------|------------------------------------||| Path | Absolute, expanded, resolved path. |### resolve_config_toml_path { #aria_nbv.configs.PathConfig.resolve_config_toml_path }```pythonconfigs.PathConfig.resolve_config_toml_path(path, *, must_exist=True)```Resolve a TOML experiment config path.Relative paths are resolved as:- bare filenames (no parent) are interpreted as under `configs_dir`- other relative paths are interpreted as under `root`### resolve_optuna_study_uri { #aria_nbv.configs.PathConfig.resolve_optuna_study_uri }```pythonconfigs.PathConfig.resolve_optuna_study_uri(study_name)```Resolve a SQLite Optuna storage URI for a given study name.