def create(cls, fl_shank: FlShank) -> Shank: validate_parameters_not_none(__name__, fl_shank.shank_id, fl_shank.shanks_electrodes) shank = Shank(name=str(fl_shank.shank_id)) for shanks_electrode in fl_shank.shanks_electrodes: shank.add_shanks_electrode(shanks_electrode) return shank
def create_data_acq_device( cls, fl_data_acq_device: FlDataAcqDevice) -> DataAcqDevice: validate_parameters_not_none(__name__, fl_data_acq_device.name, fl_data_acq_device.system, fl_data_acq_device.amplifier, fl_data_acq_device.adc_circuit) return DataAcqDevice(name=fl_data_acq_device.name, system=fl_data_acq_device.system, amplifier=fl_data_acq_device.amplifier, adc_circuit=fl_data_acq_device.adc_circuit)
def create_camera_device(cls, fl_camera_device: FlCameraDevice) -> CameraDevice: validate_parameters_not_none(__name__, fl_camera_device.name, fl_camera_device.meters_per_pixel) return CameraDevice(name=fl_camera_device.name, meters_per_pixel=fl_camera_device.meters_per_pixel, manufacturer=fl_camera_device.manufacturer, model=fl_camera_device.model, lens=fl_camera_device.lens, camera_name=fl_camera_device.camera_name)
def create(cls, fl_shanks_electrode: FlShanksElectrode) -> ShanksElectrode: validate_parameters_not_none(__name__, fl_shanks_electrode.shanks_electrode_id, fl_shanks_electrode.rel_x, fl_shanks_electrode.rel_y, fl_shanks_electrode.rel_z) return ShanksElectrode( name=str(fl_shanks_electrode.shanks_electrode_id), rel_x=float(fl_shanks_electrode.rel_x), rel_y=float(fl_shanks_electrode.rel_y), rel_z=float(fl_shanks_electrode.rel_z), )
def create(position: Position, series_id: int, fl_position: FlPosition): validate_parameters_not_none(__name__, fl_position.column_labels, fl_position.position_data, fl_position.conversion) position.create_spatial_series( name='series_' + str(series_id), description=fl_position.column_labels, data=fl_position.position_data, conversion=fl_position.conversion, reference_frame='Upper left corner of video frame', timestamps=fl_position.timestamps, )
def create(cls, nwb_content: NWBFile, fl_electrode: FlElectrode): validate_parameters_not_none(__name__, fl_electrode.electrode_group, fl_electrode.electrode_id) nwb_content.add_electrode(x=0.0, y=0.0, z=0.0, imp=0.0, location='None', filtering='None', group=fl_electrode.electrode_group, id=fl_electrode.electrode_id)
def create_electrode_group(cls, fl_electrode_group: FlElectrodeGroup): validate_parameters_not_none(__name__, fl_electrode_group.name, fl_electrode_group.description, fl_electrode_group.location, fl_electrode_group.device) return ElectrodeGroup( name=fl_electrode_group.name, description=fl_electrode_group.description, location=fl_electrode_group.location, device=fl_electrode_group.device, )
def inject_extensions(self, nwb_content: NWBFile, fl_electrode_extension: FlElectrodeExtension): validate_parameters_not_none( __name__, fl_electrode_extension.rel_x, fl_electrode_extension.rel_y, fl_electrode_extension.rel_z, fl_electrode_extension.hw_chan, fl_electrode_extension.ntrode_id, fl_electrode_extension.channel_id, fl_electrode_extension.bad_channels, fl_electrode_extension.probe_shank, fl_electrode_extension.probe_electrode, fl_electrode_extension.ref_elect_id ) self.__join_extensions_to_electrodes(nwb_content, fl_electrode_extension)
def __build_single_camera_device(camera_metadata): validate_parameters_not_none( __name__, camera_metadata.get('id', None), camera_metadata.get('meters_per_pixel', None), camera_metadata.get('manufacturer', None), camera_metadata.get('model', None), camera_metadata.get('lens', None), camera_metadata.get('camera_name', None)) return FlCameraDeviceBuilder.build( name='camera_device ' + str(camera_metadata['id']), meters_per_pixel=float(camera_metadata['meters_per_pixel']), manufacturer=str(camera_metadata['manufacturer']), model=str(camera_metadata['model']), lens=str(camera_metadata['lens']), camera_name=str(camera_metadata['camera_name']))
def create_probe(cls, fl_probe: FlProbe) -> Probe: validate_parameters_not_none(__name__, fl_probe.probe_id, fl_probe.name, fl_probe.probe_type, fl_probe.units, fl_probe.probe_description, fl_probe.contact_side_numbering, fl_probe.contact_size, fl_probe.shanks) probe = Probe(id=fl_probe.probe_id, name=fl_probe.name, probe_type=fl_probe.probe_type, units=fl_probe.units, probe_description=fl_probe.probe_description, contact_side_numbering=fl_probe.contact_side_numbering, contact_size=fl_probe.contact_size) for shank in fl_probe.shanks: probe.add_shank(shank) return probe
def get_fl_tasks(self): validate_parameters_not_none(__name__, self.metadata['tasks']) task_list = [] for task in self.metadata["tasks"]: # for each task # Set task_environment to "none" if not in metadata if "task_environment" not in task.keys(): task_environment = "none" else: task_environment = task["task_environment"] # Append task to list task_list.append( self.__get_single_fl_task( task_name=task['task_name'], task_description=task['task_description'], camera_id=[ int(camera_id) for camera_id in task['camera_id'] ], task_epochs=[int(epoch) for epoch in task['task_epochs']], task_environment=task_environment)) return task_list
def create_header_device(cls, fl_header_device: FlHeaderDevice) -> HeaderDevice: validate_parameters_not_none(__name__, fl_header_device.name, fl_header_device.global_configuration) return HeaderDevice( name=fl_header_device.name, headstage_serial=fl_header_device. global_configuration['headstage_serial'], headstage_smart_ref_on=fl_header_device. global_configuration['headstage_smart_ref_on'], realtime_mode=fl_header_device. global_configuration['realtime_mode'], headstage_auto_settle_on=fl_header_device. global_configuration['headstage_auto_settle_on'], timestamp_at_creation=fl_header_device. global_configuration['timestamp_at_creation'], controller_firmware_version=fl_header_device. global_configuration['controller_firmware_version'], controller_serial=fl_header_device. global_configuration['controller_serial'], save_displayed_chan_only=fl_header_device. global_configuration['save_displayed_chan_only'], headstage_firmware_version=fl_header_device. global_configuration['headstage_firmware_version'], qt_version=fl_header_device.global_configuration['qt_version'], compile_date=fl_header_device.global_configuration['compile_date'], compile_time=fl_header_device.global_configuration['compile_time'], file_prefix=fl_header_device.global_configuration['file_prefix'], headstage_gyro_sensor_on=fl_header_device. global_configuration['headstage_gyro_sensor_on'], headstage_mag_sensor_on=fl_header_device. global_configuration['headstage_mag_sensor_on'], trodes_version=fl_header_device. global_configuration['trodes_version'], headstage_accel_sensor_on=fl_header_device. global_configuration['headstage_accel_sensor_on'], commit_head=fl_header_device.global_configuration['commit_head'], system_time_at_creation=fl_header_device. global_configuration['system_time_at_creation'], file_path=fl_header_device.global_configuration['file_path'])
def create_nwb_electrode_group( cls, fl_nwb_electrode_group: FlNwbElectrodeGroup): validate_parameters_not_none(__name__, fl_nwb_electrode_group.name, fl_nwb_electrode_group.description, fl_nwb_electrode_group.location, fl_nwb_electrode_group.device, fl_nwb_electrode_group.targeted_location, fl_nwb_electrode_group.targeted_x, fl_nwb_electrode_group.targeted_y, fl_nwb_electrode_group.targeted_z, fl_nwb_electrode_group.units) return NwbElectrodeGroup( name=fl_nwb_electrode_group.name, description=fl_nwb_electrode_group.description, location=fl_nwb_electrode_group.location, device=fl_nwb_electrode_group.device, targeted_location=fl_nwb_electrode_group.targeted_location, targeted_x=fl_nwb_electrode_group.targeted_x, targeted_y=fl_nwb_electrode_group.targeted_y, targeted_z=fl_nwb_electrode_group.targeted_z, units=fl_nwb_electrode_group.units, )
def create_device(cls, fl_device: FlDevice) -> Device: validate_parameters_not_none(__name__, fl_device.name) return Device(name=str(fl_device.name))
def __validate_parameters(electrode_groups: list): [ validate_parameters_not_none(__name__, electrode_group.name) for electrode_group in electrode_groups ]