ibllib.io.extractors.fibrephotometry
Data extraction from fibrephotometry DAQ files.
Below is the expected folder structure for a fibrephotometry session:
subject/ ├─ 2021-06-30/ │ ├─ 001/ │ │ ├─ raw_photometry_data/ │ │ │ │ ├─ _neurophotometrics_fpData.raw.pqt │ │ │ │ ├─ _neurophotometrics_fpData.channels.csv │ │ │ │ ├─ _mcc_DAQdata.raw.tdms
fpData.raw.pqt is a copy of the ‘FPdata’ file, the output of the Neuophotometrics Bonsai workflow. fpData.channels.csv is table of frame flags for deciphering LED and GPIO states. The default table, copied from the Neurophotometrics manual can be found in iblscripts/deploy/fppc/ _mcc_DAQdata.raw.tdms is the DAQ tdms file, containing the pulses from bpod and from the neurophotometrics system
Module attributes
Neurophotometrics FP3002 specific information. |
Functions
Reads data file and checks that the number of timestamps check out with a tolerance of n_frames |
|
From a tdms daq file, extracts the photometry frames and their tagging. |
|
|
Classes
- V_THRESHOLD = 3
Neurophotometrics FP3002 specific information. The light source map refers to the available LEDs on the system. The flags refers to the byte encoding of led states in the system.
- sync_photometry_to_daq(vdaq, fs, df_photometry, chmap={'bpod': 'AI1', 'photometry': 'AI0'}, v_threshold=3)[source]
- Parameters
vdaq – dictionary of daq traces.
fs – sampling frequency
df_photometry –
chmap –
v_threshold –
- Returns
- read_daq_timestamps(vdaq, v_threshold=3)[source]
From a tdms daq file, extracts the photometry frames and their tagging.
- Parameters
vsaq – dictionary of the voltage traces from the DAQ. Each item has a key describing
the channel as per the channel map, and contains a single voltage trace. :param v_threshold: :return:
- check_timestamps(daq_file, photometry_file, tolerance=20, chmap={'bpod': 'AI1', 'photometry': 'AI0'}, v_threshold=3)[source]
Reads data file and checks that the number of timestamps check out with a tolerance of n_frames
- Parameters
daq_file –
photometry_file –
tolerance – number of acceptable missing frames between the daq and the photometry file
chmap –
v_threshold –
- Returns
None
- class FibrePhotometry(self.session_path, collection=self.collection)[source]
Bases:
BaseExtractor
- save_names = 'photometry.signal.pqt'
- var_names = 'df_out'
- extract_timestamps(fp_data, **kwargs)[source]
Extract the photometry.timestamps array.
This depends on the DAQ and task synchronization protocol.
- Parameters
fp_data (dict) – A Bunch of raw fibrephotometry data, with the keys (‘raw’, ‘channels’).
- Returns
An array of timestamps, one per frame.
- Return type
numpy.ndarray