Skip to content

JNIfTI Specification (Draft-3)

Latest

Choose a tag to compare

@fangq fangq released this 10 Apr 04:50

JNIfTI V1 (Draft-3) — Release Notes

Release date: April 10, 2026
Previous version: V1 (Draft-2), frozen March 23, 2025
Specification URL: https://neurojson.org/jnifti
Status: Stable


Summary

Draft-3 is the stable release of the JNIfTI V1 specification. It builds on Draft-2 with new
NIRS/fNIRS intent codes, a formal JSON Schema, editorial improvements, and a cleaner
specification structure. The core format definition is unchanged and fully backward compatible
with Draft-2.


New Features

NIRS/fNIRS/DOT Intent Codes (codes 4050–4070)

Twenty-one new NIFTI_INTENT_NIRS_* intent codes have been added to support Near-Infrared
Spectroscopy (NIRS), functional NIRS (fNIRS), and Diffuse Optical Tomography (DOT) data.
New codes include:

  • Raw signals: nirs_delta_od, nirs_mua, nirs_musp, nirs_hbo, nirs_hbr,
    nirs_hbt, nirs_h2o, nirs_lipid, nirs_sto2, nirs_bfi
  • Time-of-flight moments: nirs_delta_mean_tof, nirs_delta_variance_tof,
    nirs_delta_skewness_tof
  • Hemodynamic response functions (HRF): nirs_hrf_delta_od, nirs_hrf_hbo,
    nirs_hrf_hbr, nirs_hrf_hbt, nirs_hrf_bfi, nirs_hrf_delta_mean_tof,
    nirs_hrf_delta_variance_tof, nirs_hrf_delta_skewness_tof

JSON Schema (schema/jnifti_format_schema.json)

A formal JSON Schema (Draft-07) for JNIfTI is now included. It validates all top-level
JNIfTI containers (NIFTIHeader, NIFTIData, NIFTIExtension, NIFTIGroup, NIFTIObject)
and their named variants (e.g., NIFTIHeader(name)). Schema definitions cover
NIFTIHeaderDef, NIFTIDataDef, AnnotatedArrayDef, NIFTIGroupDef, NIFTIObjectDef,
and NIFTIContainerDef.


Specification Changes

Status and versioning

  • Version updated from V1 (Draft 2) to V1 (Draft-3)
  • Status changed from Frozen to Stable
  • Canonical URL updated from https://neurojson.org/jnifti/draft2 to https://neurojson.org/jnifti

Improved Introduction and Abstract

The Background and Overview sections have been substantially rewritten for clarity:

  • Clearer explanation of how JNIfTI relates to the JData and BJData specifications
  • Explicit motivation: addresses the rigidity of the binary NIfTI format, which caused
    breaking changes across Analyze 7.5 → NIfTI-1 → NIfTI-2 transitions
  • Added framing for AI-powered neuroimaging workflows as a use case for human- and
    machine-readable JNIfTI data

Removed duplicate FSL intent sections

A duplicated block of FSL FNIRT/TOPUP intent codes was removed from the intent table.
The canonical FSL entries (codes 2006–2009, 2016–2018) remain.

Terminology fix

"Depreciated" corrected to "deprecated" throughout (section heading: Other deprecated subfields).

Updated JData and BJData references

References to the JData specification now point to https://neurojson.org/jdata (the stable
URL) rather than pinning to a specific draft version.


Infrastructure and Tooling

Updated submodules

The following library submodules have been updated to their latest versions:

  • lib/easyh5
  • lib/matlab/jsonlab
  • lib/matlab/zmat (newly added)
  • lib/python/pybj
  • lib/python/pyjdata

Compatibility

Draft-3 is fully backward compatible with Draft-2. All existing .jnii and .bnii files
conforming to Draft-2 remain valid under Draft-3.