Inspecting datasets (info and params)¶
The brkraw Python API provides read-only inspection utilities for Paravision datasets.
These APIs are designed to help users understand dataset structure and metadata before running any conversion.
Typical workflow:
- Use
loader.info()to understand study and scan structure - Use
loader.search_params()to inspect acquisition parameters - Proceed to conversion
Dataset loader¶
All inspection APIs operate on a loaded dataset.
import brkraw as brk
loader = brk.load("/path/to/study")
The loader performs validation on load and does not modify the dataset.
Study and scan summaries (CLI: brkraw info)¶
Retrieve structured summaries describing the dataset.
This API is intended to answer questions such as:
- What scans are present in this study?
- How are scans and recos organized?
- What metadata is available at the study and scan levels?
Basic usage¶
info = loader.info(scope="full", as_dict=True)
print(info)
Scope control¶
loader.info(scope="study", as_dict=True)
loader.info(scope="scan", as_dict=True)
loader.info(scope="full", as_dict=True)
Available scopes:
study: study-level summary onlyscan: scan-level summary onlyfull: study and scan summaries
Scan filtering¶
loader.info(
scope="scan",
scan_id=[3, 4],
as_dict=True,
)
Multiple scan IDs may be provided.
Reco visibility¶
loader.info(
scope="scan",
show_reco=True,
as_dict=True,
)
When enabled, reco entries are included under each scan.
Return format¶
- When
as_dict=True, the result is a structured dictionary suitable for scripting or serialization. - When
as_dict=False, the API may return a formatted, human-readable representation.
The exact structure of the returned dictionary is stable within a major version.
Parameter search (CLI: brkraw params)¶
Search parameter files and retrieve matching entries.
This API is useful for:
- Inspecting acquisition parameters before conversion
- Debugging sequence-specific behavior
- Verifying values used by specs and rules
Basic usage¶
params = loader.search_params(
"PVM_RepetitionTime",
scan_id=3,
)
print(params)
Restrict to specific parameter files¶
params = loader.search_params(
"VisuAcqEchoTime",
scan_id=4,
param_file="visu_pars",
)
Supported parameter files include:
methodacqpvisu_parsreco
Reco-level parameters¶
params = loader.search_params(
"RECO_size",
scan_id=3,
reco_id=1,
)
The reco ID is optional and only required for reco-level parameter files.
Return format¶
The result is a structured mapping suitable for programmatic use. No formatting or filtering is applied beyond key and scope selection.
Design notes¶
- Inspection APIs are strictly read-only
- No files or configuration are modified
- No implicit defaults or environment variables are used
- All scope and selection must be explicit at call time
These APIs are safe to use on shared or read-only datasets.