Source code for pynwb.legacy.io.base

from pynwb.base import TimeSeries, ProcessingModule

from .. import ObjectMapper, register_map

legacy_TimeSeries_missing_time_info_name_list = ('natural_movie_one_image_stack',
                                                 'natural_movie_two_image_stack',
                                                 'natural_movie_three_image_stack',
                                                 'natural_scenes_image_stack',
                                                 'locally_sparse_noise_image_stack',
                                                 'locally_sparse_noise_8deg_image_stack',
                                                 'locally_sparse_noise_4deg_image_stack')


[docs] @register_map(ProcessingModule) class ModuleMap(ObjectMapper): def __init__(self, spec): super(ModuleMap, self).__init__(spec) containers_spec = self.spec.get_neurodata_type('NWBDataInterface') self.map_spec('containers', containers_spec)
[docs] @ObjectMapper.constructor_arg('name') def name(self, *args): builder = args[0] return builder.name
[docs] @ObjectMapper.constructor_arg('description') def carg_description(self, *args): return 'Brain Observatory Processing Module'
[docs] @register_map(TimeSeries) class TimeSeriesMap(ObjectMapper): def __init__(self, spec): super(TimeSeriesMap, self).__init__(spec) data_spec = self.spec.get_dataset('data') self.map_attr('unit', data_spec.get_attribute('unit')) self.map_const_arg('unit', data_spec.get_attribute('unit')) self.map_attr('resolution', data_spec.get_attribute('resolution')) self.map_attr('conversion', data_spec.get_attribute('conversion')) timestamps_spec = self.spec.get_dataset('timestamps') self.map_attr('timestamps_unit', timestamps_spec.get_attribute('unit')) # self.map_attr('interval', timestamps_spec.get_attribute('interval')) starting_time_spec = self.spec.get_dataset('starting_time') self.map_attr('starting_time_unit', starting_time_spec.get_attribute('unit')) self.map_attr('rate', starting_time_spec.get_attribute('rate'))
[docs] @ObjectMapper.constructor_arg('name') def carg_name(self, *args): builder = args[0] return builder.name
[docs] @ObjectMapper.constructor_arg('starting_time') def carg_starting_time(self, *args): builder = args[0] if builder.name in legacy_TimeSeries_missing_time_info_name_list: return -1.0
[docs] @ObjectMapper.constructor_arg('rate') def carg_rate(self, *args): builder = args[0] if builder.name in legacy_TimeSeries_missing_time_info_name_list: return -1.0