Skip to main content

ModelArrayIO

Latest Version PyPI - Python Version License Documentation Status GitHub Actions: Tox Codecov Code style: ruff

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.

Overview

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)

Source distribution for modelarrayio 26.0.0
File Size Uploaded
modelarrayio-26.0.0.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for modelarrayio 26.0.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

26.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page