pcx-1 dataset: where is each electrode in the probe?
pcx-1 dataset: where is each electrode in the probe?
Posted by Michael G Mariscal at September 21. 2020Hello,
Thanks for a very interesting dataset. I would like to know, where is each electrode in the probe? In other words, in the image below, which circle would correspond to electrode 1, and 2, etc?
Thank you!
Re: pcx-1 dataset: where is each electrode in the probe?
Posted by Aditi Bishnoi at December 23. 2020Hello Authors,
Thank you for sharing this rich data set. Can you clarify on how to select the awake trials from the analysis? You mention using FT:LT indexing in data structures in your data description but that returns only 10 or 15 points, which I think is because I am doing it incorrectly. Please share an example of reading LFP signal from any one channel for the awake trial alone.
An additional query: are respiration and LFP signals aligned in time ?
Thank you.
Re: pcx-1 dataset: where is each electrode in the probe?
Posted by Aditi Bishnoi at December 24. 2020Unable to see image.
Hello,
Thanks for a very interesting dataset. I would like to know, where is each electrode in the probe? In other words, in the image below, which circle would correspond to electrode 1, and 2, etc?
Thank you!
Re: pcx-1 dataset: where is each electrode in the probe?
Posted by Kevin Bolding at December 27. 2020Hello Aditi,
There are 10-15 awake trials per experiment. So FT:LT should provide 10-15 indices. If you want the spike raster information for a single Unit responding to a specific odor Valve on trial 1, you would use efd.ValveSpikes.RasterAlign{Valve,Unit}(1). To get the LFP signal for a given trial you would have to define a time window, convert the window to samples, and capture samples around the trial start. I would use the PREXtime as a the trial start, though you could use the FVtimes. For example: efd.ValveTimes.PREXTimes{Valve}(1)
Finally, I am not entirely certain what you are referring to as LFP signals. Perhaps you are referring to the raw data. That is sampled at 30000 Hz. Respiration is sampled at 2000 Hz. The recordings are acquired simultaneously so if you convert between the sampling rates you can find the synchronized signals.
Here is some imperfect example code for how to extract unfiltered raw samples in a timewindow around odor inhalation. If you are working on this actively I would suggest downsampling the raw data. I have not done it in the eample code.
% params
EventTimes = efd.ValveTimes.PREXTimes{Valve}(FT:LT);
Fs = 30000;
nchannels = 32;
PST = [-1 1]; % select a time window 1 second before and 1 second after inhalation.
% access raw data file
rawfile = ???!!!\BoldingFranks_2018_DataSharing\Simul\raw\170609\170609_bank1.dat
fdata = fopen(rawfile);
% perieventtime in samples
PES = round(diff(PST)*Fs);
% preallocate for memory
datmat = zeros(nchannels,PES,length(EventTimes));
% extract data around a window for every event
for E = 1:length(EventTimes)
fseek(fdata,round(EventTimes(E)*Fs+PST(1)*Fs)*nchannels*2,'bof');
rawdata = fread(fdata,PES*nchannels,'*int16');
if length(rawdata) < nchannels*PES
rawdata(length(rawdata): nchannels*PES) = nan;
end
datmat(:,:,E) = reshape(rawdata,nchannels,[]);
end
% close raw data file
fclose(fdata);
Previously Aditi Bishnoi wrote:
Hello Authors,
Thank you for sharing this rich data set. Can you clarify on how to select the awake trials from the analysis? You mention using FT:LT indexing in data structures in your data description but that returns only 10 or 15 points, which I think is because I am doing it incorrectly. Please share an example of reading LFP signal from any one channel for the awake trial alone.
An additional query: are respiration and LFP signals aligned in time ?
Thank you.
Re: pcx-1 dataset: where is each electrode in the probe?
Posted by Kevin Bolding at December 27. 2020Hi Michael,
I also cannot see the image.
Unfortunately, the channel position information is not embedded in the uploaded data and can differ for each experiment. If you can help me by narrowing down which experiments are of interest I can find 'probe files' for each one that specify the channel positions. I am attaching a typical file that would be correct for ~75-90% of the data.
Previously Michael G Mariscal wrote:
Hello,
Thanks for a very interesting dataset. I would like to know, where is each electrode in the probe? In other words, in the image below, which circle would correspond to electrode 1, and 2, etc?
Thank you!
Re: pcx-1 dataset: where is each electrode in the probe?
Posted by Aditi Bishnoi at December 28. 2020Michael, If you are referring to the recording schematic in figure 3b of the paper, here is the channel layout of the probe used by the authors : http://neuronexus.com/wp-content/uploads/2018/07/H32-Maps-20150121.pdf . Do correct me if I am wrong Kevin.
Previously Kevin Bolding wrote:
Hi Michael,
I also cannot see the image.
Unfortunately, the channel position information is not embedded in the uploaded data and can differ for each experiment. If you can help me by narrowing down which experiments are of interest I can find 'probe files' for each one that specify the channel positions. I am attaching a typical file that would be correct for ~75-90% of the data.
Previously Michael G Mariscal wrote:
Hello,
Thanks for a very interesting dataset. I would like to know, where is each electrode in the probe? In other words, in the image below, which circle would correspond to electrode 1, and 2, etc?
Thank you!
Re: pcx-1 dataset: where is each electrode in the probe?
Posted by Aditi Bishnoi at December 28. 2020Yes I was referring to raw data. Many thanks for the prompt reply.
Previously Kevin Bolding wrote:
Hello Aditi,
There are 10-15 awake trials per experiment. So FT:LT should provide 10-15 indices. If you want the spike raster information for a single Unit responding to a specific odor Valve on trial 1, you would use efd.ValveSpikes.RasterAlign{Valve,Unit}(1). To get the LFP signal for a given trial you would have to define a time window, convert the window to samples, and capture samples around the trial start. I would use the PREXtime as a the trial start, though you could use the FVtimes. For example: efd.ValveTimes.PREXTimes{Valve}(1)
Finally, I am not entirely certain what you are referring to as LFP signals. Perhaps you are referring to the raw data. That is sampled at 30000 Hz. Respiration is sampled at 2000 Hz. The recordings are acquired simultaneously so if you convert between the sampling rates you can find the synchronized signals.
Here is some imperfect example code for how to extract unfiltered raw samples in a timewindow around odor inhalation. If you are working on this actively I would suggest downsampling the raw data. I have not done it in the eample code.
% params
EventTimes = efd.ValveTimes.PREXTimes{Valve}(FT:LT);
Fs = 30000;
nchannels = 32;
PST = [-1 1]; % select a time window 1 second before and 1 second after inhalation.
% access raw data file
rawfile = ???!!!\BoldingFranks_2018_DataSharing\Simul\raw\170609\170609_bank1.dat
fdata = fopen(rawfile);
% perieventtime in samples
PES = round(diff(PST)*Fs);
% preallocate for memory
datmat = zeros(nchannels,PES,length(EventTimes));
% extract data around a window for every event
for E = 1:length(EventTimes)
fseek(fdata,round(EventTimes(E)*Fs+PST(1)*Fs)*nchannels*2,'bof');
rawdata = fread(fdata,PES*nchannels,'*int16');
if length(rawdata) < nchannels*PES
rawdata(length(rawdata): nchannels*PES) = nan;
end
datmat(:,:,E) = reshape(rawdata,nchannels,[]);
end
% close raw data file
fclose(fdata);
Previously Aditi Bishnoi wrote:
Hello Authors,
Thank you for sharing this rich data set. Can you clarify on how to select the awake trials from the analysis? You mention using FT:LT indexing in data structures in your data description but that returns only 10 or 15 points, which I think is because I am doing it incorrectly. Please share an example of reading LFP signal from any one channel for the awake trial alone.
An additional query: are respiration and LFP signals aligned in time ?
Thank you.