nibabel
Access a multitude of neuroimaging data formats
Decision gist · record as of 2026-08-14
Yes. NiBabel is a stable, actively maintained library with no known vulnerabilities, low install friction, and permissive licensing. It is the de facto standard for neuroimaging file I/O in Python and essential for anyone working with brain imaging data in research or clinical contexts.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low friction install with four lightweight runtime dependencies (numpy, packaging, importlib-resources, typing-extensions).
- Active maintenance with a recent release (156 days ago) and ongoing repository activity.
License · maintenance · safety
MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; some bundled code uses BSD license. See COPYING file for full details.
last release 2026-03-11 (156 days) · last repo commit 2026-08-03 · 785 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 1,957,737 downloads/mo, #3,409 on PyPI
Alternatives
Verify before relying
pip install nibabel
import nibabel as nib
img = nib.load('scan.nii.gz')
data = img.get_fdata()- Whether the package handles all listed formats with equal completeness or if some are read-only or have limited support beyond what 'limited support for DICOM' indicates.
What it is and what it does
NiBabel is a Python library for reading and writing neuroimaging data files in a wide range of formats used in brain imaging research. It abstracts the complexity of different file formats—from NIfTI and ANALYZE to FreeSurfer MGH and AFNI BRIK/HEAD—into a unified API, allowing researchers to load image metadata and pixel data as NumPy arrays for downstream analysis.
The library is designed for neuroscience and medical imaging workflows where data often comes in proprietary or specialized formats. It handles both the structural metadata (header information) and the raw image arrays, making it a foundational tool for preprocessing pipelines, statistical analysis, and format conversion in neuroimaging research.
Use it for
- Load fMRI or structural MRI scans from NIfTI files for statistical analysis or visualization in research pipelines.
- Convert between neuroimaging formats (e.g., DICOM to NIfTI) for compatibility with downstream tools.
- Access FreeSurfer surface geometry and morphometry data for cortical analysis.
- Extract and manipulate brain imaging metadata (voxel size, affine transforms, acquisition parameters) for quality control.
- Build automated neuroimaging workflows that read multiple format types without format-specific parsing code.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
NiBabel is a stable, actively maintained library with no known vulnerabilities, low install friction, and permissive licensing. It is the de facto standard for neuroimaging file I/O in Python and essential for anyone working with brain imaging data in research or clinical contexts.
Install
nibabel on PyPI
Before you install
Low friction install with four lightweight runtime dependencies (numpy, packaging, importlib-resources, typing-extensions). Active maintenance with a recent release (156 days ago) and ongoing repository activity.
Requires Python 3.10 or later.
License in practice
MIT license permits commercial and private use with minimal restrictions; some bundled code uses BSD license. See COPYING file for full details.
Quickstart
pip install nibabel
import nibabel as nib
img = nib.load('scan.nii.gz')
data = img.get_fdata()
Verify before relying
- Whether the package handles all listed formats with equal completeness or if some are read-only or have limited support beyond what 'limited support for DICOM' indicates.
Package facts
| License | MIT permissive |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 4 packagesimportlib-resourcesnumpypackagingtyping-extensions |
| Maintenance | Actively maintained 156 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,957,737 / month, #3,409 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableEnvironment :: ConsoleIntended Audience :: Science/ResearchOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/Engineering |
Evidence: nibabel-5.4.2-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “neuroimaging file format reader”
- nibabelNiBabel reads and writes neuroimaging file formats including NIfTI,…
- trx-pythonReads, writes, and manipulates TRX tractography files in Python,…
- mne-bidsMNE-BIDS reads and writes neuroimaging datasets in BIDS format,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also nipype · pynrrd · neo · pyxnat · pybids · bidsschematools · GridDataFormats · mne-bids · dicom2nifti · meshioplusplus