ibllib.pipes.sync_tasks

Classes

SyncMtscomp

Task to rename, compress and register raw daq data with .bin format collected using NIDAQ

SyncPulses

Extract sync pulses from NIDAQ .bin / .cbin file N.B Only extracts sync from sync collection (i.e not equivalent to EphysPulses that extracts sync pulses for each probe)

SyncRegisterRaw

Task to register raw DAQ data.

class SyncRegisterRaw(session_path, **kwargs)[source]

Bases: RegisterRawDataTask

Task to register raw DAQ data.

Registers DAQ software output for a given device. The object should be _*_DAQdata, where the namespace identifies the DAQ model or acquisition software, e.g. ‘mcc’, ‘ni’ or ‘ni-usb-6211’. At minimum there should be a raw data dataset of the form _*_DAQdata.raw*, e.g. ‘_mc_DAQdata.raw.pqt’. The following are optional attribute datasets: - _*_DAQdata.timestamps.npy: for timeline the timestamps array is separate from the samples. - _*_DAQdata.meta.json: for timeline all acquisition meta data (e.g. sample rate, channel names) are stored in a separate file. - _*_DAQdata.wiring.json: for SpikeGLX the channel map is stored in this file. _timeline_softwareEvents.log.htsv: UDP messages and other software events in DAQ time.

priority = 100
job_size = 'small'
property signature

The signature of the task specifies inputs and outputs for the given task. For some tasks it is dynamic and calculated. The legacy code specifies those as tuples. The preferred way is to use the ExpectedDataset input and output constructors.

I = ExpectedDataset.input O = ExpectedDataset.output signature = {

‘input_files’: [

I(name=’extract.me.npy’, collection=’raw_data’, required=True, register=False, unique=False),

], ‘output_files’: [

O(name=’look.atme.npy’, collection=’shiny_data’, required=True, register=True, unique=False)

]} is equivalent to: signature = {

‘input_files’: [(‘extract.me.npy’, ‘raw_data’, True, True)], ‘output_files’: [(‘look.atme.npy’, ‘shiny_data’, True)], }

Returns:

class SyncMtscomp(session_path, **kwargs)[source]

Bases: DynamicTask

Task to rename, compress and register raw daq data with .bin format collected using NIDAQ

priority = 90
cpu = 2
io_charge = 30
job_size = 'small'
property signature

The signature of the task specifies inputs and outputs for the given task. For some tasks it is dynamic and calculated. The legacy code specifies those as tuples. The preferred way is to use the ExpectedDataset input and output constructors.

I = ExpectedDataset.input O = ExpectedDataset.output signature = {

‘input_files’: [

I(name=’extract.me.npy’, collection=’raw_data’, required=True, register=False, unique=False),

], ‘output_files’: [

O(name=’look.atme.npy’, collection=’shiny_data’, required=True, register=True, unique=False)

]} is equivalent to: signature = {

‘input_files’: [(‘extract.me.npy’, ‘raw_data’, True, True)], ‘output_files’: [(‘look.atme.npy’, ‘shiny_data’, True)], }

Returns:

class SyncPulses(session_path, **kwargs)[source]

Bases: DynamicTask

Extract sync pulses from NIDAQ .bin / .cbin file N.B Only extracts sync from sync collection (i.e not equivalent to EphysPulses that extracts sync pulses for each probe)

# TODO generalise to other daq and file formats, generalise to 3A probes

priority = 90
cpu = 2
io_charge = 30
job_size = 'small'
property signature

The signature of the task specifies inputs and outputs for the given task. For some tasks it is dynamic and calculated. The legacy code specifies those as tuples. The preferred way is to use the ExpectedDataset input and output constructors.

I = ExpectedDataset.input O = ExpectedDataset.output signature = {

‘input_files’: [

I(name=’extract.me.npy’, collection=’raw_data’, required=True, register=False, unique=False),

], ‘output_files’: [

O(name=’look.atme.npy’, collection=’shiny_data’, required=True, register=True, unique=False)

]} is equivalent to: signature = {

‘input_files’: [(‘extract.me.npy’, ‘raw_data’, True, True)], ‘output_files’: [(‘look.atme.npy’, ‘shiny_data’, True)], }

Returns: