Infrastructure: I/O & BIDS¶
File loading and BIDS mapping live under infrastructure/. Keep these modules
free of Qt widgets so CLI tools and tests can reuse them.
I/O (infrastructure/io/)¶
Module |
Role |
|---|---|
|
NIfTI read/write via nibabel |
|
Lazy / full-res cache path for huge |
|
DICOM helpers (optional extras) |
|
Mesh I/O |
|
2D display stays native resolution; gzip may be decompressed once to an uncompressed cache for fast |
Critical path: open a large gzip volume¶
UI / API
│ open path.nii.gz
▼
nifti / volume_proxy
│ if huge gzip → decompress to cache .nii
│ mmap full-res
▼
viewer layers (2D native)
│
└──► rendering may use strided / capped voxels for 3D only
Performance background for users: Performance.
BIDS (infrastructure/bids/)¶
Module |
Role |
|---|---|
|
BIDS files → internal data models |
|
Layout discovery and loading |
|
Session and subject switching |
|
Derivative vs raw conventions |
|
Validation and batch QC hooks |
|
Import / conversion helpers |
The presentation BIDS panel calls into these modules; do not duplicate path logic in widgets.
See also¶
AutoAPI:
brain_deer.infrastructure.ioAutoAPI:
brain_deer.infrastructure.bids