20 releases (breaking)

0.16.0 Jul 5, 2023
0.15.0 Nov 29, 2022
0.14.0 Jun 10, 2021
0.12.1 Jan 16, 2021
0.1.0 May 25, 2017

#347 in Parser implementations

Download history 67/week @ 2023-08-11 93/week @ 2023-08-18 116/week @ 2023-08-25 141/week @ 2023-09-01 175/week @ 2023-09-08 78/week @ 2023-09-15 60/week @ 2023-09-22 71/week @ 2023-09-29 47/week @ 2023-10-06 49/week @ 2023-10-13 95/week @ 2023-10-20 103/week @ 2023-10-27 152/week @ 2023-11-03 120/week @ 2023-11-10 98/week @ 2023-11-17 81/week @ 2023-11-24

466 downloads per month
Used in 2 crates



NIFTI-rs   Latest Version Continuous integration status dependency status

This library is a pure Rust implementation for reading files in the NIfTI format (more specifically NIfTI-1.1).


Please see the documentation for more.

use nifti::{NiftiObject, ReaderOptions, NiftiVolume};

let obj = ReaderOptions::new().read_file("myvolume.nii.gz")?;
// use obj
let header = obj.header();
let volume = obj.volume();
let dims = volume.dim();

The library will automatically look for the respective volume when specifying just the header file:

use nifti::{NiftiObject, ReaderOptions};

let obj = ReaderOptions::new().read_file("myvolume.hdr.gz")?;

With the ndarray_volumes feature (enabled by default), you can also convert a volume to an ndarray::Array and work from there:

let volume = obj.into_volume().into_ndarray::<f32>();

In addition, the nalgebra_affine feature unlocks the affine module, for useful affine transformations.


This library should hopefully fulfil a good number of use cases. However, not all features of the format are fully available. There are no deadlines for these features, so your help is much appreciated. Please visit the issue tracker and tracker for version 1.0. In case something is missing for your use case to work, please find an equivalent issue of file a new one. Pull requests are also welcome.


Licensed under either of

at your option.

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


~67K SLoC