nibabel
¶
Read and write access to common neuroimaging file formats, including: ANALYZE (plain, SPM99, SPM2 and later), GIFTI, NIfTI1, NIfTI2, CIFTI-2, MINC1, MINC2, AFNI BRIK/HEAD, ECAT and Philips PAR/REC. In addition, NiBabel also supports FreeSurfer’s MGH, geometry, annotation and morphometry files, and provides some limited support for DICOM.
NiBabel’s API gives full or selective access to header information (metadata), and image data is made available via NumPy arrays. For more information, see NiBabel’s documentation site and API reference.
Installation¶
To install NiBabel’s current release with pip
, run:
pip install nibabel
To install the latest development version, run:
pip install git+https://github.com/nipy/nibabel
When working on NiBabel itself, it may be useful to install in “editable” mode:
git clone https://github.com/nipy/nibabel.git
pip install -e ./nibabel
For more information on previous releases, see the release archive or development changelog.
Testing¶
During development, we recommend using tox to run nibabel tests:
git clone https://github.com/nipy/nibabel.git
cd nibabel
tox
To test an installed version of nibabel, install the test dependencies and run pytest:
pip install nibabel[test]
pytest --pyargs nibabel
For more information, consult the developer guidelines.
Mailing List¶
Please send any questions or suggestions to the neuroimaging mailing list.
License¶
NiBabel is licensed under the terms of the MIT license. Some code included with NiBabel is licensed under the BSD license. For more information, please see the COPYING file.
Citation¶
NiBabel releases have a Zenodo Digital Object Identifier (DOI) badge at the top of the release notes. Click on the badge for more information.
Quickstart¶
import nibabel as nib
img1 = nib.load('my_file.nii')
img2 = nib.load('other_file.nii.gz')
img3 = nib.load('spm_file.img')
data = img1.get_fdata()
affine = img1.affine
print(img1)
nib.save(img1, 'my_file_copy.nii.gz')
new_image = nib.Nifti1Image(data, affine)
nib.save(new_image, 'new_image.nii.gz')
For more detailed information see the NiBabel Manual.
|
Run benchmarks for nibabel using pytest |
|
|
|
Run tests for nibabel using pytest |
bench¶
- nibabel.bench(label=None, verbose=1, extra_argv=None)¶
Run benchmarks for nibabel using pytest
The protocol mimics the
numpy.testing.NoseTester.bench()
. Not all features are currently implemented.- Parameters:
- labelNone
Unused.
- verbose: int, optional
Verbosity value for test outputs. Positive values increase verbosity, and negative values decrease it. Default is 1.
- extra_argvlist, optional
List with any extra arguments to pass to pytest.
- Returns:
- codeExitCode
Returns the result of running the tests as a
pytest.ExitCode
enum
get_info¶
- nibabel.get_info()¶
test¶
- nibabel.test(label=None, verbose=1, extra_argv=None, doctests=False, coverage=False, raise_warnings=None, timer=False)¶
Run tests for nibabel using pytest
The protocol mimics the
numpy.testing.NoseTester.test()
. Not all features are currently implemented.- Parameters:
- labelNone
Unused.
- verbose: int, optional
Verbosity value for test outputs. Positive values increase verbosity, and negative values decrease it. Default is 1.
- extra_argvlist, optional
List with any extra arguments to pass to pytest.
- doctests: bool, optional
If True, run doctests in module. Default is False.
- coverage: bool, optional
If True, report coverage of NumPy code. Default is False. (This requires the coverage module).
- raise_warningsNone
Unused.
- timerFalse
Unused.
- Returns:
- codeExitCode
Returns the result of running the tests as a
pytest.ExitCode
enum