ibllib.pipes.video_tasks

Classes

DLC

This task relies on a correctly installed dlc environment as per https://docs.google.com/document/d/1g0scP6_3EmaXCU4SsDNZWwDTaD9MG0es_grLA-d0gh0/edit#

EphysPostDLC

The post_dlc task takes dlc traces as input and computes useful quantities, as well as qc.

VideoCompress

Task to compress raw video data from .avi to .mp4 format.

VideoConvert

Task that converts compressed avi to mp4 format and renames video and camlog files.

VideoRegisterRaw

Task to register raw video data.

VideoSyncQcBpod

Task to sync camera timestamps to main DAQ timestamps N.B Signatures only reflect new daq naming convention, non-compatible with ephys when not running on server

VideoSyncQcCamlog

Task to sync camera timestamps to main DAQ timestamps when camlog files are used.

VideoSyncQcNidq

Task to sync camera timestamps to main DAQ timestamps N.B Signatures only reflect new daq naming convention, non-compatible with ephys when not running on server

class VideoRegisterRaw(session_path, cameras, **kwargs)[source]

Bases: VideoTask, RegisterRawDataTask

Task to register raw video data. Builds up list of files to register from list of cameras given in session params file

priority = 100
job_size = 'small'
property signature

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

in the keyword argument list. For example: dict(one=1, two=2)

assert_expected_outputs(raise_error=True)[source]

frameData replaces the timestamps file. Therefore if frameData is present, timestamps is optional and vice versa.

class VideoCompress(session_path, cameras, **kwargs)[source]

Bases: VideoTask

Task to compress raw video data from .avi to .mp4 format.

priority = 90
job_size = 'large'
property signature

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

in the keyword argument list. For example: dict(one=1, two=2)

class VideoConvert(session_path, cameras, **kwargs)[source]

Bases: VideoTask

Task that converts compressed avi to mp4 format and renames video and camlog files. Specific to UCLA widefield implementation

priority = 90
job_size = 'small'
property signature

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

in the keyword argument list. For example: dict(one=1, two=2)

class VideoSyncQcCamlog(session_path, cameras, **kwargs)[source]

Bases: VideoTask

Task to sync camera timestamps to main DAQ timestamps when camlog files are used. Specific to UCLA widefield implementation

priority = 40
job_size = 'small'
property signature

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

in the keyword argument list. For example: dict(one=1, two=2)

class VideoSyncQcBpod(*args, **kwargs)[source]

Bases: VideoTask

Task to sync camera timestamps to main DAQ timestamps N.B Signatures only reflect new daq naming convention, non-compatible with ephys when not running on server

priority = 40
job_size = 'small'
property signature

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

in the keyword argument list. For example: dict(one=1, two=2)

class VideoSyncQcNidq(session_path, cameras, **kwargs)[source]

Bases: VideoTask

Task to sync camera timestamps to main DAQ timestamps N.B Signatures only reflect new daq naming convention, non-compatible with ephys when not running on server

priority = 40
job_size = 'small'
property signature

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

in the keyword argument list. For example: dict(one=1, two=2)

class DLC(session_path, cameras, **kwargs)[source]

Bases: VideoTask

This task relies on a correctly installed dlc environment as per https://docs.google.com/document/d/1g0scP6_3EmaXCU4SsDNZWwDTaD9MG0es_grLA-d0gh0/edit#

If your environment is set up otherwise, make sure that you set the respective attributes: t = EphysDLC(session_path) t.dlcenv = Path(‘/path/to/your/dlcenv/bin/activate’) t.scripts = Path(‘/path/to/your/iblscripts/deploy/serverpc/dlc’)

gpu = 1
cpu = 4
io_charge = 100
level = 2
force = True
job_size = 'large'
dlcenv = PosixPath('/home/runner/Documents/PYTHON/envs/dlcenv/bin/activate')
scripts = PosixPath('/home/runner/Documents/PYTHON/iblscripts/deploy/serverpc/dlc')
property signature

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

in the keyword argument list. For example: dict(one=1, two=2)

class EphysPostDLC(*args, **kwargs)[source]

Bases: VideoTask

The post_dlc task takes dlc traces as input and computes useful quantities, as well as qc.

io_charge = 90
level = 3
force = True
property signature

dict() -> new empty dictionary dict(mapping) -> new dictionary initialized from a mapping object’s

(key, value) pairs

dict(iterable) -> new dictionary initialized as if via:

d = {} for k, v in iterable:

d[k] = v

dict(**kwargs) -> new dictionary initialized with the name=value pairs

in the keyword argument list. For example: dict(one=1, two=2)