open-discussion
open-discussion > RE: Shared NIRS Data Format - SNIRF
Nov 20, 2012 03:11 PM | David Boas
RE: Shared NIRS Data Format - SNIRF
We are getting close to finalizing the SNIRF spec.
After more discussion with Ted Huppert, we figured out a good compromise to combine the "standard" and "extended" SNIRF file formats. The extended format used a unique time vector for every channel of data. But this can place an unnecessary book keeping burden on the software developer if all channels have a common time vector. The specification has been modified to describe how we can achieve both at the same time without having a "standard" and "extended" version of SNIRF.
Basically, we created blocks of data in the variable "data(idx)" with subfields "data(idx).d", "data(idx).t", and "data(idx).ml". In this way, if the data channels all have a common time vector, then there could simply be a single block of data, i.e. only one element in the data array. If, for example, there are 10 channels of data each with a unique time vector, then there will be 10 blocks of data, i.e. 10 elements in the data array.
I believe that this is an important simplification that developers will appreciate in the future.
This had a few residual impacts. First, the one column option for the sim(n).Data has been removed. This leaves the 3 column option which in fact is much more general. It was appropriate to drop the one column option. Second, there is now no need for the optional toffset list.
Finally, there are a few remaining things from the discussions that need to be addressed. I welcome any input or help on these points.
1) Provide examples of different data files.
2) Further discuss meta data.
3) Forum discussion by Mathieu Coursolle and Blaise Frederick:
In the optional variables, the "qform" variable specified a 4x4 matrix to align the NIRS coordinate system to other geometries. Would it be useful to have an additionnal variable that describes that geometry (ex: MNI, Talairach, anatomical, etc) ? I am thinking of something that may be similar to the NIfTI file format.
That sounds like a good idea; we'll have to think about what geometries would make the most sense ("scanner anatomic" is probably not relevant, but "MNI", "Talairach", maybe "10-20" might be good choices- we'd have to decide how the last would be implemented).
4) Forum Discussion by Alex Cristia
- You could add a field SD.Origin which can specify the 10-20 electrode used as reference, since most fNIRS neurocog users will have one. This simple addition would make it much easier to incorporate localization in an eventual meta-analysis.
After more discussion with Ted Huppert, we figured out a good compromise to combine the "standard" and "extended" SNIRF file formats. The extended format used a unique time vector for every channel of data. But this can place an unnecessary book keeping burden on the software developer if all channels have a common time vector. The specification has been modified to describe how we can achieve both at the same time without having a "standard" and "extended" version of SNIRF.
Basically, we created blocks of data in the variable "data(idx)" with subfields "data(idx).d", "data(idx).t", and "data(idx).ml". In this way, if the data channels all have a common time vector, then there could simply be a single block of data, i.e. only one element in the data array. If, for example, there are 10 channels of data each with a unique time vector, then there will be 10 blocks of data, i.e. 10 elements in the data array.
I believe that this is an important simplification that developers will appreciate in the future.
This had a few residual impacts. First, the one column option for the sim(n).Data has been removed. This leaves the 3 column option which in fact is much more general. It was appropriate to drop the one column option. Second, there is now no need for the optional toffset list.
Finally, there are a few remaining things from the discussions that need to be addressed. I welcome any input or help on these points.
1) Provide examples of different data files.
2) Further discuss meta data.
3) Forum discussion by Mathieu Coursolle and Blaise Frederick:
In the optional variables, the "qform" variable specified a 4x4 matrix to align the NIRS coordinate system to other geometries. Would it be useful to have an additionnal variable that describes that geometry (ex: MNI, Talairach, anatomical, etc) ? I am thinking of something that may be similar to the NIfTI file format.
That sounds like a good idea; we'll have to think about what geometries would make the most sense ("scanner anatomic" is probably not relevant, but "MNI", "Talairach", maybe "10-20" might be good choices- we'd have to decide how the last would be implemented).
4) Forum Discussion by Alex Cristia
- You could add a field SD.Origin which can specify the 10-20 electrode used as reference, since most fNIRS neurocog users will have one. This simple addition would make it much easier to incorporate localization in an eventual meta-analysis.
Threaded View
Title | Author | Date |
---|---|---|
David Boas | Oct 19, 2012 | |
David Boas | Aug 1, 2013 | |
Mathieu Coursolle | Apr 2, 2013 | |
Mathieu Coursolle | Apr 15, 2013 | |
David Boas | Jul 31, 2013 | |
David Boas | Jul 31, 2013 | |
David Boas | Nov 20, 2012 | |
Alex Cristia | Nov 20, 2012 | |
Alex Cristia | Nov 5, 2012 | |
David Boas | Nov 16, 2012 | |
Mathieu Coursolle | Nov 16, 2012 | |
Alessandro Torricelli | Oct 25, 2012 | |
Blaise Frederick | Oct 26, 2012 | |
David Boas | Nov 5, 2012 | |
Alessandro Torricelli | Oct 25, 2012 | |
Mathieu Coursolle | Oct 22, 2012 | |
Blaise Frederick | Oct 22, 2012 | |
David Boas | Nov 5, 2012 | |
Mathieu Coursolle | Nov 20, 2012 | |