Skip to content

Commit

Permalink
Add first pass at json definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
wtclarke committed Mar 28, 2024
1 parent 9c8303e commit c6c1e34
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 0 deletions.
3 changes: 3 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Changelog

## 28th March 2024 (V0.9)
- Definitions are now packaged as a machine-readable JSON file.

## 6th December 2023 (V0.8)
- Add SpectralWidth as a standard defined header value. However the dwell time stored in `pixdim[4]` is defined as the preferentially used value.

Expand Down
3 changes: 3 additions & 0 deletions definitions.json
Git LFS file not shown
65 changes: 65 additions & 0 deletions definitions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Documentation for the definitions.json file

The `definitions.json` file contains machine-readable definitions of NIfTI-MRS standard meta data and dimension tags.

Type fields should be generic JSON types: `number`, `string`, `array`, `object`, `bool`
or an array indicating a (optionally nested) array type and element type : `[array, number]` for a vector of numbers or `[array, array, string]` for a matrix of strings.

## nifti-mrs version number.
Two numeric elements, major and minor

## Possible dimension tags and descriptions
An object with keys as the possible tage, with documentation/use of those tags as the value.

## Header fields
All header fields are defined with a JSON object containing type information `type`, appropriate unit definitions `units`, a dco string `doc`, and whether the field should be removed during anonymisation `anon`.

### Required
Two fields are required, `SpectrometerFrequency` and `ResonantNucleus`.

### Standard defined
These fields are optional but must not be redefined.
This section currently contains:
#### 5.1 MRS specific Tags
- SpectralWidth
- EchoTime
- RepetitionTime
- InversionTime
- MixingTime
- AcquisitionStartTime
- ExcitationFlipAngle
- TxOffset
- VOI
- WaterSuppressed
- WaterSuppressionType
- SequenceTriggered
#### 5.2 Scanner information
- Manufacturer
- ManufacturersModelName
- DeviceSerialNumber
- SoftwareVersions
- InstitutionName
- InstitutionAddress
- TxCoil
- RxCoil
#### 5.3 Sequence information
- SequenceName
- ProtocolName
#### 5.4 Sequence information
- PatientPosition
- PatientName
- PatientID
- PatientWeight
- PatientDoB
- PatientSex
#### 5.5 Provenance and conversion metadata
- ConversionMethod
- ConversionTime
- OriginalFile
#### 5.6 Spatial information
- kSpace
#### 5.7 Editing Pulse information structure
- EditCondition
- EditPulse
#### 5.8 Processing Provenance
- ProcessingApplied

0 comments on commit c6c1e34

Please sign in to comment.