Skip to content

Releases: NeuroJSON/jgifti

JGIFTI Specification Draft-1

10 Apr 16:22

Choose a tag to compare

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 including Version, MetaData, LabelTable,
    and default CoordSystem.
  • 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

  1. Compatibility mode — Separate .jgii files per data type with _DataLink_
    cross-references, mirroring existing GIFTI workflows.
  2. Merged file — All geometry and properties in a single file.
  3. 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