Releases: NeuroJSON/jgifti
JGIFTI Specification Draft-1
JGIFTI Draft-1 Release Notes
Version: V1 (Draft-1)
Date: April 2026
Specification URL: https://neurojson.org/jgifti/draft1
License: Apache License, Version 2.0
Overview
This is the first public release of the JGIFTI specification — a JSON/Binary JSON
extension to the widely-used GIFTI surface format. JGIFTI enables lossless storage and
interchange of neuroimaging surface data using standard JSON (.jgii) and binary BJData
(.bgii) file formats, built on top of the JData and JMesh specifications.
Key Features
Two Primary Containers
GIFTIHeader— File-level metadata includingVersion,MetaData,LabelTable,
and defaultCoordSystem.GIFTIData— JMesh objects holding mesh geometry and associated per-node data.
JMesh Object Structure
Each GIFTIData entry uses the annotated form { _DataInfo_, Data, Properties }:
_DataInfo_— per-DataArray metadata (MetaData and CoordSystem)Data— vertex coordinates (N×3) or triangle indices (M×3, 1-based)Properties— all per-node data (shape, labels, colors, time series, fNIRS, etc.)
Three Storage Scenarios
- Compatibility mode — Separate
.jgiifiles per data type with_DataLink_
cross-references, mirroring existing GIFTI workflows. - Merged file — All geometry and properties in a single file.
- Multiple surfaces — Multiple anatomical surfaces (pial, white, inflated, sphere)
stored under anatomy-ID keys (e.g.,P001_L_pial) with shared topology via JSONPath
_DataLink_references to avoid data duplication.
GIFTI Intent Mapping
All standard GIFTI DataArray intents map to MeshVertex3, MeshTri3, or named
Properties fields:
| GIFTI Intent | JGIFTI |
|---|---|
NIFTI_INTENT_POINTSET |
MeshVertex3.Data |
NIFTI_INTENT_TRIANGLE |
MeshTri3.Data |
NIFTI_INTENT_LABEL |
MeshVertex3.Properties.Label |
NIFTI_INTENT_TIME_SERIES |
MeshVertex3.Properties.TimeSeries |
NIFTI_INTENT_RGB_VECTOR / NIFTI_INTENT_RGBA_VECTOR |
MeshVertex3.Properties.Color |
| Shape intents (thickness, curvature, sulcal depth) | MeshVertex3.Properties.<Name> |
fNIRS Support
Native support for functional near-infrared spectroscopy data via dedicated property
names: HbO, HbR, HbT, and AbsorptionCoefficient.
JData Binary Annotations
GIFTI binary data attributes map cleanly to JData annotations:
| GIFTI Attribute | JData Annotation |
|---|---|
DataType |
_ArrayType_ |
ArrayIndexingOrder |
_ArrayOrder_ |
Endian |
_ArrayZipEndian_ |
Encoding=GZipBase64Binary |
_ArrayZipType_: "zlib" |
File Specifiers and MIME Types
| Content | Text | Binary |
|---|---|---|
| Generic | .jgii |
.bgii |
| Coordinates | .coord.jgii |
.coord.bgii |
| Functional | .func.jgii |
.func.bgii |
| Labels | .label.jgii |
.label.bgii |
| Surface | .surf.jgii |
.surf.bgii |
| Time Series | .time.jgii |
.time.bgii |
MIME types: application/jgifti-text and application/jgifti-binary
JSON Schema
A formal JSON Schema (schema/jgifti_format_schema.json) is provided for validating
JGIFTI files against the Draft-1 specification.
Related Specifications
Feedback and Contributions
- Open an issue: https://github.com/NeuroJSON/jgifti/issues
- Community forum: https://github.com/orgs/NeuroJSON/discussions
- Pull requests welcome — see README.md for contribution guidelines.