ModelArrayIO
ModelArrayIO is a Python package that converts between neuroimaging formats (fixel .mif, voxel NIfTI, CIFTI-2 dscalar/pscalar/pconn) and the HDF5 (.h5) layout used by the R package ModelArray. It can also write ModelArray statistical results back to imaging formats.
Relationship to ConFixel: The earlier project ConFixel is superseded by ModelArrayIO. The ConFixel repository is retained for history (including links from publications) and will be archived; new work should use this repository.
Documentation for installation and usage: ModelArrayIO on GitHub (this README). For conda, HDF5 libraries, and installing the ModelArray R package, see the ModelArray vignette Installation.
ModelArrayIO provides three converter areas, each with import and export commands:
Once ModelArrayIO is installed, these commands are available in your terminal:
Neuroimaging data (CIFTI, NIfTI, or MRtrix .mif):
Neuroimaging → .h5: modelarrayio to-modelarray
.h5 → Neuroimaging: modelarrayio export-results
Storage backends: HDF5 and TileDB
ModelArrayIO supports two on-disk backends for the subject-by-element matrix:
HDF5 (default), implemented in modelarrayio/h5_storage.py
TileDB, implemented in modelarrayio/tiledb_storage.py
Both backends expose a similar API:
create a dense 2D array (subjects, items) and write all values at once
create an empty array with the same shape and write by column stripes
write/read column names alongside the data
Notes and minor differences:
Chunking vs tiling: HDF5 uses chunks; TileDB uses tiles. We compute tile sizes analogous to chunk sizes to keep write/read patterns similar.
Compression: HDF5 uses gzip by default; TileDB defaults to zstd with shuffle for better speed/ratio. You can switch to gzip for parity.
Metadata: HDF5 stores column_names as a dataset attribute; TileDB stores names as JSON metadata on the array/group.
Layout: Both backends keep dimensions in the same order and use zero-based indices.
Metadata
Release files for modelarrayio 26.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| modelarrayio-26.0.0.tar.gz | 1.5 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| modelarrayio-26.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 1.6 MB
Release files / modelarrayio-26.0.0.tar.gz
| Download URL | modelarrayio-26.0.0.tar.gz |
|---|---|
| Size | 1.5 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
48b5ebca65135d9d2592686ac68069b99b73f8a6a00f6751630fcc793ac0711b
|
|
BLAKE2b-256 checksum How to use checksums |
ef5463c7170dad80f74aca33863373a9b293c5281921bb5b5ff48d213ff225dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / modelarrayio-26.0.0-py3-none-any.whl
| Download URL | modelarrayio-26.0.0-py3-none-any.whl |
|---|---|
| Size | 51.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a4c83beaa148463187bdd5c136330ffa8ce1dd4424135d68113bcbeba61ebe8f
|
|
BLAKE2b-256 checksum How to use checksums |
b25be909ecf4ada573cca2633061c3f6252c1cf925108eb8cb5cb9dd24157593
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|