open-discussion
open-discussion > RE: Shared NIRS Data Format - SNIRF
Nov 5, 2012 05:11 PM | David Boas
RE: Shared NIRS Data Format - SNIRF
1) We'll have to provide sample data soon in the spec.
2) Your understanding of how different time gate and/or moments will be handled is correct. If you have time gates, they would be specified as ml(n).DataType = 3, raw time domain time gate. you can add moments as well as ml(n).DataType = 4, raw time domain moments. These data types must index additional information for each channel of data with ml(n).DataTypeIndex which is provided in the SD structure in the spec
For gates
SD.TimeDelay
SD.TimeDelayWidth
For moments
SD.MomentOrder
Note that the gates require 2 additional bits of information, the time delay, and the time delay (or gate) width. These are index with the same ml(n).DataTypeIndex.
There are three different ways of representing CW data derived from the time domain data.
CW data could be represented as ml(n).DataType=3 using a SD.TimeDelay=0 and SD.TimeDelayWidth=10e-9. This is a very long gate that is effectively CW.
CW data could be indicated as the 0th moment as ml(n).DataType=4 with SD.MomentOrder=0.
Or, CW data could be indicated as normal CW data with ml(n).DataType=1.
Originally posted by Blaise Frederick:
2) Your understanding of how different time gate and/or moments will be handled is correct. If you have time gates, they would be specified as ml(n).DataType = 3, raw time domain time gate. you can add moments as well as ml(n).DataType = 4, raw time domain moments. These data types must index additional information for each channel of data with ml(n).DataTypeIndex which is provided in the SD structure in the spec
For gates
SD.TimeDelay
SD.TimeDelayWidth
For moments
SD.MomentOrder
Note that the gates require 2 additional bits of information, the time delay, and the time delay (or gate) width. These are index with the same ml(n).DataTypeIndex.
There are three different ways of representing CW data derived from the time domain data.
CW data could be represented as ml(n).DataType=3 using a SD.TimeDelay=0 and SD.TimeDelayWidth=10e-9. This is a very long gate that is effectively CW.
CW data could be indicated as the 0th moment as ml(n).DataType=4 with SD.MomentOrder=0.
Or, CW data could be indicated as normal CW data with ml(n).DataType=1.
Originally posted by Blaise Frederick:
Originally posted by Alessandro
Torricelli:
Providing a sample of data could help to better understand the proposed format.
Agreed. We will give some typical example cases when we fill
out the standard a bit - that's generally much clearer. We
just wanted to get the formal standard set first.
2) Time domain fNIRS: How to treat time domain data?
In time domain fNIRS systems based on the TCSPC technique the raw data are the distributions of time of flight (DTOFs) at two or more wavelengths. Microscopic time resolution is typically 10ps, and 512 or 1024 channels are acquired, therefore 5 or 10 ns are recorded. It is probably unreasonable to store all this data in the standard format, therefore preprocessing should be done.
By preprocessing the DTOF we can provide the intensity at selected time-gates. To enhance the contribution from deep layers (brain cortex) and reject the disturbing effect of superficial layers (scalp, skull), late and early time-gates are needed. Therefore the minimum number of time-gates is 2. Since the choice of the early and late time-gates may depend on the specific experiment, we store more than 2 gates, typically 10 time-gates with width of 400ps and variable delays (from 0 to 3.2ns in steps of 400ps). An 11th time gate corresponding to total number of photons (i.e. sum of photons in all time-gates, a pseudo CW measurement) is sometimes stored or calculated.
By a different preprocessing of the DTOF, we can provide the moments (1st, 2nd, and 3rd, corresponding to number of photons, mean time of flight and variance).
Suppose we have a 1 channel time domain system operating at 2 wavelengths and suppose we want to store 2 time gates (early and late).
The dimensions of the variable d (actual raw data) for a specific experiment with 100 time points are <100> x <4>, where d(:,1) is the first wavelength-first gate, d(:,2) the second wavelength-first gate, d(:,3) is the second wavelength-second gate, and d(:,4) the second wavelength-second gate.
If we want to store 11 time gates (i.e. 10 + CW), then the dimensions of the variable d (actual raw data) for a specific experiment with 100 time points are <100> x <22>. Maybe the data referring to the pseudoCW time gate can be recorded before all other time gates (it seems to me more elegant and efficient: when using moments the 1st data is the pseudoCW as well).
In general the dimensions of the variable d (actual raw data) are x , where
= x x ,
or
= x x .
...
Hi I have one general comment and a specif
comment for time domain data.
1) General: It is not clear to me the exact meaning of the variable .
...
1) General: It is not clear to me the exact meaning of the variable .
...
Providing a sample of data could help to better understand the proposed format.
2) Time domain fNIRS: How to treat time domain data?
In time domain fNIRS systems based on the TCSPC technique the raw data are the distributions of time of flight (DTOFs) at two or more wavelengths. Microscopic time resolution is typically 10ps, and 512 or 1024 channels are acquired, therefore 5 or 10 ns are recorded. It is probably unreasonable to store all this data in the standard format, therefore preprocessing should be done.
By preprocessing the DTOF we can provide the intensity at selected time-gates. To enhance the contribution from deep layers (brain cortex) and reject the disturbing effect of superficial layers (scalp, skull), late and early time-gates are needed. Therefore the minimum number of time-gates is 2. Since the choice of the early and late time-gates may depend on the specific experiment, we store more than 2 gates, typically 10 time-gates with width of 400ps and variable delays (from 0 to 3.2ns in steps of 400ps). An 11th time gate corresponding to total number of photons (i.e. sum of photons in all time-gates, a pseudo CW measurement) is sometimes stored or calculated.
By a different preprocessing of the DTOF, we can provide the moments (1st, 2nd, and 3rd, corresponding to number of photons, mean time of flight and variance).
Suppose we have a 1 channel time domain system operating at 2 wavelengths and suppose we want to store 2 time gates (early and late).
The dimensions of the variable d (actual raw data) for a specific experiment with 100 time points are <100> x <4>, where d(:,1) is the first wavelength-first gate, d(:,2) the second wavelength-first gate, d(:,3) is the second wavelength-second gate, and d(:,4) the second wavelength-second gate.
If we want to store 11 time gates (i.e. 10 + CW), then the dimensions of the variable d (actual raw data) for a specific experiment with 100 time points are <100> x <22>. Maybe the data referring to the pseudoCW time gate can be recorded before all other time gates (it seems to me more elegant and efficient: when using moments the 1st data is the pseudoCW as well).
In general the dimensions of the variable d (actual raw data) are x , where
= x x ,
or
= x x .
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 | |