open-discussion
open-discussion > RE: Shared NIRS Data Format - SNIRF
Oct 25, 2012 01:10 PM | Alessandro Torricelli
RE: Shared NIRS Data Format - SNIRF
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 .
In my understanding channels means optodes.
Then it is not clear to me how data from different wavelengths are stored in the variable d.
Suppose we have a 1 channel CW system operating at 2 wavelengths.
The dimensions of the variable d (actual raw data) for a specific experiment with 100 time points are x that is <100> x <1>.
The corresponding variable ml (measurement list) is an array structure that has the size <1> with fields
ml(1).SourceIndex =1
ml(1).DetectorIndex =1
ml(1).WavelengthIndex =1
ml(1).DataType =1
So, where are the data for the second wavelength??
Maybe you are giving to channels a different meaning. Maybe channels does not specifically refer to optodes, but more generally to acquired data? So = x ??
In this case, in the simple example of 1 channel and 2 wavelengths, the dimensions of the variable d are <100>x<2>, where d(:,1) is the first wavelength and d(:,2) the second wavelength?
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 .
That's all.
Looking forward to seeing you in London.
Alessandro Torricelli
Politecnico di Milano
Italy
1) General: It is not clear to me the exact meaning of the variable .
In my understanding channels means optodes.
Then it is not clear to me how data from different wavelengths are stored in the variable d.
Suppose we have a 1 channel CW system operating at 2 wavelengths.
The dimensions of the variable d (actual raw data) for a specific experiment with 100 time points are x that is <100> x <1>.
The corresponding variable ml (measurement list) is an array structure that has the size <1> with fields
ml(1).SourceIndex =1
ml(1).DetectorIndex =1
ml(1).WavelengthIndex =1
ml(1).DataType =1
So, where are the data for the second wavelength??
Maybe you are giving to channels a different meaning. Maybe channels does not specifically refer to optodes, but more generally to acquired data? So = x ??
In this case, in the simple example of 1 channel and 2 wavelengths, the dimensions of the variable d are <100>x<2>, where d(:,1) is the first wavelength and d(:,2) the second wavelength?
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 .
That's all.
Looking forward to seeing you in London.
Alessandro Torricelli
Politecnico di Milano
Italy
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 | |
