After carefully reading the specifications, it is my impression that there is not a proper intent code to encode surfaces where vertices have associated a vector of probabilities.
In this case, should we use NIFTI_INTENT_NONE? I think it would also be possible to "hack" my way around using NIFTI_INTENT_TIME_SERIES, but it doesn't seem very reasonable.
A further complication is that GCS (Gaussian Classifier atlas Surfaces) files of FreeSurfer also store some sort of local information about "cliques".
Would this use case justify the creation of a new data intent?
Oscar,
There is NIFTI_INTENT_VECTOR. While the format states that it is for three-dimensional vectors, I think it would be okay to use for vectors of any dimension.
I have included a section of the GIFTI specification on extending GIFTI. You could use NIFTI_INTENT_NONE or create a new intent as specified in the second paragraph (below). Either way, you may want to put something in the metadata, perhaps a URL or email address for a description of the file’s content.
I was unable to find a description of FreeSurfer’s GCS format.
John Harwell
12.0 Extending GIFTI
This document describes the initial version of the GIFTI Surface Data Format. The data array intents in this version of GIFTI are those categories of data commonly interchanged between the various neuroimaging software packages. Developers are encouraged to use the GIFTI file format for new data intent types that do not require the addition of new XML tags. It is not necessary for developers to get approval of the GIFTI committee to add a new type of data intent. However, the GIFTI mailing list should be used to announce the new data intent to assess interest in the new data intent becoming an official GIFTI data intent.
When naming a new data intent, a process similar to that used for OpenGL extensions (http://en.wikipedia.org/wiki/OpenGL#Extensions) should be followed. In the case of GIFTI, the name of the new data intent should begin with the name of the neuroimaging software package creating the new data intent. For example, if the developers of Caret wanted to store latitude/longitude data in a GIFTI data file, the data intent would initially be named “CARET_INTENT_LATITIUDE_LONGITUDE”. If the GIFTI committee supported the addition of this new data intent, its name would change to “NIFTI_INTENT_LATITUDE_LONGITUDE”.
As far as I can tell, NIFTI_INTENT_VECTOR is not restricted to length 3, though the included examples are of that length. I think dim[5] would specify the length of the nodewise vectors.
Having said that, when I copy a mixed-stats dataset (beta/t-stat/F-stat) into GIFTI format, the INTENTs are specified one index at a time, meaning the dataset is a list of DataArray elements. Given that, the intent_code might refer to the actual data, not the fact that there is a vector of such values at each node. So it might be reasonable to use NIFTI_INTENT_ESTIMATE (or even NONE), for example. I don't see anything to specifially note a probability, unless the values were from a specific distribution, like NIFTI_INTENT_GAMMA.
- rick