Skip to content

Lexicon

RadiObject-specific terminology. For general medical imaging terms, see the DICOM standard, NIfTI specification, and BIDS specification.


Coordinate Systems and Orientation

Term Definition
RAS Right-Anterior-Superior — standard neuroimaging coordinate system (NIfTI default)
LPS Left-Posterior-Superior — ITK/some DICOM coordinate system
axcodes 3-character tuple indicating axis directions, e.g., ('R', 'A', 'S')
affine matrix 4x4 matrix mapping voxel indices (i,j,k) to world coordinates (x,y,z)
axial / sagittal / coronal Anatomical planes: top-down, side, and front views respectively

RadiObject Core Terminology

Term Definition
RadiObject Top-level TileDB Group organizing subject metadata (ObsMeta) and multiple VolumeCollections. Filtering returns views (is_view=True).
is_view Boolean property indicating whether a RadiObject/VolumeCollection is a filtered view
obs_subject_id Unique string identifier for a subject. Primary key in obs_meta, foreign key in obs
ObsMeta Subject-level observational metadata. Single-dimension TileDB sparse array keyed by obs_subject_id only. Contains system-managed obs_ids column (JSON list of volume obs_ids per subject).
VolumeCollection TileDB Group organizing multiple Volumes with consistent X/Y/Z dimensions. Filtering returns views.
Volume Single 3D or 4D radiology acquisition backed by TileDB dense array
obs_id Unique string identifier for a Volume, unique across entire RadiObject
obs Volume-level observation dataframe containing per-volume metadata
Dataframe TileDB-backed sparse array with configurable index dimensions for tabular data
INDEX_COLUMNS Default dimension tuple (obs_subject_id, obs_id) for VolumeCollection.obs. obs_meta uses (obs_subject_id,) only.
obs_ids System-managed obs_meta attribute: JSON-serialized sorted list of volume obs_ids linked to each subject
generate_obs_id() Creates obs_id from f"{obs_subject_id}_{collection_name}". Ensures global uniqueness across collections

Indexing and Filtering

Term Definition
Index Immutable named dataclass providing bidirectional mapping between string IDs and integer positions. Supports set algebra (&, \|, -, ^), alignment checking (is_aligned).
align() Standalone function computing the intersection of multiple Index objects
iloc Integer-location based indexer for selecting by position
loc Label-based indexer for selecting by obs_subject_id or obs_id
sel() Named-parameter selection by obs_subject_id
subjects VolumeCollection property returning deduplicated subject IDs in insertion order
groupby_subject() VolumeCollection iterator yielding (subject_id, VolumeCollection) pairs
filter() Filter subjects using TileDB QueryCondition expression
head() / tail() / sample() Return view of first/last/random n subjects
select_collections() Filter RadiObject to specified collections (returns view)
describe() Return summary showing subjects, collections, shapes, and label distributions

Query System

Term Definition
LazyQuery Lazy filter builder for VolumeCollection with deferred transforms. Entry point: vc.lazy()
EagerQuery Computed query results with pipeline methods (.map(), .write(), .to_list()). Entry point: vc.map(fn)
lazy() VolumeCollection method returning LazyQuery for deferred transforms
map() Apply transform to each volume. On VolumeCollection returns EagerQuery (eager); on LazyQuery defers execution
write() Persist query results to new VolumeCollection
to_list() Extract raw results from EagerQuery
to_dataframe() Summarize EagerQuery as a DataFrame with obs metadata and a result summary column. Accepts optional columns to override obs column selection
iter_volumes() LazyQuery streaming iterator yielding Volume objects
to_numpy_stack() Load all matching volumes as stacked array (N, X, Y, Z)
TransformFn Type alias: Callable[[np.ndarray, pd.Series], TransformResult] — receives (volume, obs_row)
TransformResult Union type: np.ndarray or tuple[np.ndarray, dict[str, AttrValue]] — volume alone or volume + obs updates
BatchTransformFn Type alias for batch transform: receives list of (volume, obs_row) tuples

Writers

Term Definition
VolumeCollectionWriter Context manager for incremental VolumeCollection writes
RadiObjectWriter Context manager for building RadiObject incrementally
write_volume() Write single volume data to VolumeCollectionWriter
write_batch() Write multiple volumes at once
add_collection() Add new collection to RadiObjectWriter, returns VolumeCollectionWriter
write() Persist a RadiObject or VolumeCollection (including views) to storage

Ingestion

Term Definition
from_images Factory method for bulk ingestion (NIfTI and DICOM) via images dict with auto format detection
images from_images param: dict mapping collection names to image sources (glob, directory, or pre-resolved tuples)
ImageFormat Enum (NIFTI, DICOM) representing detected or hinted image format
format_hint Optional dict mapping collection names to format strings ("nifti" or "dicom") for ambiguous sources
validate_alignment Verify all collections have matching subject IDs
series_type BIDS-aligned identifier for imaging sequence type (T1w, T2w, FLAIR, bold, dwi, CT)
append() Atomic method to add new subjects to existing RadiObject or VolumeCollection

Volume Operations

Term Definition
partial read Reading a subset of volume data without loading the entire volume
axial() / sagittal() / coronal() Partial read returning a 2D plane at specified coordinate
slice() Partial read returning arbitrary 3D ROI
to_numpy() Full volume read returning complete numpy array
to_nifti() Export volume to NIfTI file format
get_statistics() Compute descriptive statistics (mean, std, min, max, percentiles)
compute_histogram() Compute intensity histogram

Orientation

Term Definition
OrientationInfo Pydantic model storing anatomical orientation metadata
tile_orientation Volume property returning SliceOrientation enum for tile chunking strategy
canonical orientation Standard RAS orientation where X+=Right, Y+=Anterior, Z+=Superior
reorientation Transforming volume data and affine to match a target orientation

Configuration

Term Definition
RadiObjectConfig Top-level configuration with nested write, read, and s3 settings
WriteConfig Settings applied when creating new TileDB arrays. Immutable after creation
ReadConfig Read settings (memory_budget_mb, concurrency, max_workers)
TileConfig Tile chunking configuration (orientation, extents)
CompressionConfig Compression settings (algorithm, level)
OrientationConfig Anatomical orientation settings during ingestion
S3Config Cloud storage settings (region, endpoint, max_parallel_ops)
configure() Global function to update configuration
get_tiledb_ctx() Returns lazily-built TileDB context from current configuration

ML Training

Term Definition
VolumeCollectionDataset PyTorch Dataset wrapping VolumeCollection(s)
VolumeCollectionSubjectsDataset TorchIO-compatible Dataset yielding tio.Subject objects
LoadingMode Enum: FULL_VOLUME, PATCH, or SLICE_2D
DatasetConfig Pydantic model configuring dataset behavior
create_training_dataloader Factory function producing configured DataLoader

Threading and Concurrency

Term Definition
ctx_for_threads() Returns shared TileDB context for thread pool workers (metadata caching works)
ctx_for_process() Creates new TileDB context for forked processes (DataLoader workers)
persistent_workers DataLoader setting to keep worker processes alive between epochs
pin_memory DataLoader setting to copy tensors into CUDA pinned memory