Skip to content

rii-mango/NIFTI-Reader-JS

Repository files navigation

NIFTI-Reader-JS

A JavaScript NIfTI file format reader. This reader supports both NIfTI-1 and NIfT1-2 file formats, both compressed (.nii.gz) and uncompressed (.nii).

Usage

API, drawing to canvas example and more

Using in a HTML script tag to emulate older behaviour prior to the esbuild changes in v0.6.4:

<script type="module">
    import * as nifti from './nifti-reader.js';
    window.nifti = nifti.default;
    console.log(nifti);
</script>
var data = // an ArrayBuffer
var niftiHeader = null,
    niftiImage = null,
    niftiExt = null;

if (nifti.isCompressed(data)) {
    data = nifti.decompress(data);
}

if (nifti.isNIFTI(data)) {
    niftiHeader = nifti.readHeader(data);
    console.log(niftiHeader.toFormattedString());
    niftiImage = nifti.readImage(niftiHeader, data);
    
    if (nifti.hasExtension(niftiHeader)) {
        niftiExt = nifti.readExtensionData(niftiHeader, data);
    }
}

Install

Get a packaged source file:

Or install via NPM:

npm install nifti-reader-js

Or install via Bower:

bower install nifti-reader-js

Testing

npm test

Building

See the release folder for the latest builds or build it yourself using:

npm run build

This will output nifti-reader.js and nifti-reader-min.js to build/.

Acknowledgments

NIFTI-Reader-JS makes use of the following third-party libraries:

  • fflate — for GZIP inflating