Skip to content

Commit

Permalink
updated based on merge NeurodataWithoutBorders#61 and NeurodataWithou…
Browse files Browse the repository at this point in the history
  • Loading branch information
nicain committed Aug 9, 2017
1 parent fe210a9 commit 4677034
Show file tree
Hide file tree
Showing 13 changed files with 45 additions and 50 deletions.
5 changes: 3 additions & 2 deletions src/form/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
from collections import Iterable
from abc import ABCMeta
import six
from six import raise_from
import numpy as np

def __type_okay(value, argtype, allow_none=False):
Expand Down Expand Up @@ -266,15 +267,15 @@ def func_call(*args, **kwargs):
parse_err = parsed.get('errors')
if parse_err:
msg = ', '.join(parse_err)
raise TypeError(msg) from None
raise_from(TypeError(msg), None)
return func(self, **parsed['args'])
else:
def func_call(*args, **kwargs):
parsed = __parse_args(_copy.deepcopy(loc_val), args, kwargs, enforce_type=enforce_type)
parse_err = parsed.get('errors')
if parse_err:
msg = ', '.join(parse_err)
raise TypeError(msg) from None
raise_from(TypeError(msg), None)
return func(**parsed['args'])
_rtype = rtype
if isinstance(rtype, type):
Expand Down
4 changes: 2 additions & 2 deletions src/pynwb/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -99,8 +99,8 @@ class TimeSeries(NWBContainer):
def __init__(self, **kwargs):
"""Create a TimeSeries object
"""
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(TimeSeries, self).__init__, kwargs)
super(TimeSeries, self).__init__(*pargs, **pkwargs)
keys = ("resolution",
"comments",
"description",
Expand Down
2 changes: 1 addition & 1 deletion src/pynwb/core.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ class NWBContainer(with_metaclass(ExtenderMeta, Container)):
{'name': 'container_source', 'type': object, 'doc': 'the source of this Container e.g. file name', 'default': None})
def __init__(self, **kwargs):
parent, container_source, source, help = getargs('parent', 'container_source', 'source', 'help', kwargs)
super().__init__()
super(NWBContainer, self).__init__()

self.__fields = dict()
self.__subcontainers = list()
Expand Down
5 changes: 2 additions & 3 deletions src/pynwb/ecephys.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ class Device(NWBContainer):
{'name': 'source', 'type': str, 'doc': 'the source of the data'},
{'name': 'parent', 'type': 'NWBContainer', 'doc': 'The parent NWBContainer for this NWBContainer', 'default': None})
def __init__(self, **kwargs):
call_docval_func(super().__init__, kwargs)
call_docval_func(super(Device, self).__init__, kwargs)

@register_class('ElectrodeGroup', CORE_NAMESPACE)
class ElectrodeGroup(NWBContainer):
Expand Down Expand Up @@ -49,7 +49,7 @@ class ElectrodeGroup(NWBContainer):
{'name': 'parent', 'type': 'NWBContainer', 'doc': 'The parent NWBContainer for this NWBContainer', 'default': None})
def __init__(self, **kwargs):
channel_description, channel_location, channel_filtering, channel_coordinates, channel_impedance, description, location, device = popargs("channel_description", "channel_location", "channel_filtering", "channel_coordinates", "channel_impedance", "description", "location", "device", kwargs)
call_docval_func(super().__init__, kwargs)
call_docval_func(super(ElectrodeGroup, self).__init__, kwargs)
self.channel_description = channel_description
self.channel_location = channel_location
self.channel_filtering = channel_filtering
Expand Down Expand Up @@ -363,4 +363,3 @@ def __init__(self, **kwargs):
self.fields['description'] = description
self.fields['times'] = list(times)
self.fields['features'] = features

5 changes: 1 addition & 4 deletions src/pynwb/epoch.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ class Epoch(NWBContainer):
def __init__(self, **kwargs):
start, stop, description, tags = getargs('start', 'stop', 'description', 'tags', kwargs)
#super(Epoch, self).__init__(name=name, parent=parent)
call_docval_func(super().__init__, kwargs)
call_docval_func(super(Epoch, self).__init__, kwargs)
# dict to keep track of which time series are linked to this epoch
self._timeseries = dict()
# start and stop time (in seconds)
Expand Down Expand Up @@ -194,6 +194,3 @@ def __init__(self, **kwargs):
# and stop_time
self.count = count
self.idx_start = idx



4 changes: 2 additions & 2 deletions src/pynwb/file.py
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,8 @@ class NWBFile(NWBContainer):
{'name': 'devices', 'type': (list, tuple), 'doc': 'Device objects belonging to this NWBFile', 'default': None},
)
def __init__(self, **kwargs):
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(NWBFile, self).__init__, kwargs)
super(NWBFile, self).__init__(*pargs, **pkwargs)
self.__filename = getargs('file_name', kwargs)
self.__start_time = datetime.utcnow()
self.__file_id = '%s %s' % (self.__filename, self.__start_time.strftime('%Y-%m-%dT%H:%M:%SZ'))
Expand Down
4 changes: 2 additions & 2 deletions src/pynwb/icephys.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,8 @@ class IntracellularElectrode(NWBContainer):
{'name': 'device', 'type': str, 'doc': 'Name(s) of devices in general/devices.'})
def __init__(self, **kwargs):
slice, seal, description, location, resistance, filtering, initial_access_resistance, device = popargs('slice', 'seal', 'description', 'location', 'resistance', 'filtering', 'initial_access_resistance', 'device', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(IntracellularElectrode, self).__init__, kwargs)
super(IntracellularElectrode, self).__init__(*pargs, **pkwargs)
self.slice = slice
self.seal = seal
self.description = description
Expand Down
4 changes: 2 additions & 2 deletions src/pynwb/io/epoch.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
class EpochMap(ObjectMapper):

def __init__(self, spec):
super().__init__(spec)
super(EpochMap, self).__init__(spec)
start_spec = self.spec.get_dataset('start_time')
stop_spec = self.spec.get_dataset('stop_time')
self.map_const_arg('start', start_spec)
Expand All @@ -23,6 +23,6 @@ def name(self, builder):
class EpochTimeSeriesMap(ObjectMapper):

def __init__(self, spec):
super().__init__(spec)
super(EpochTimeSeriesMap, self).__init__(spec)
ts_spec = self.spec.get_link('timeseries')
self.map_const_arg('ts', ts_spec)
3 changes: 1 addition & 2 deletions src/pynwb/misc.py
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ class SpikeUnit(NWBContainer):
{'name': 'source', 'type': str, 'doc': 'Name, path or description of where unit times originated. This is necessary only if the info here differs from or is more fine-grained than the interfaces source field.', 'default': None})
def __init__(self, **kwargs):
times, unit_description = popargs('times', 'unit_description', kwargs)
call_docval_func(super().__init__, kwargs)
call_docval_func(super(SpikeUnit, self).__init__, kwargs)
self.times = times
self.unit_description = unit_description

Expand Down Expand Up @@ -209,4 +209,3 @@ def __init__(self, **kwargs):
@property
def unit_list(self):
return [si.name for si in self.spike_units]

8 changes: 4 additions & 4 deletions src/pynwb/ogen.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ class OptogeneticStimulusSite(NWBContainer):
{'name': 'location', 'type': str, 'doc': 'Location of stimulation site.'})
def __init__(self, **kwargs):
device, description, excitation_lambda, location = popargs('device', 'description', 'excitation_lambda', 'location', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(OptogeneticStimulusSite, self).__init__, kwargs)
super(OptogeneticStimulusSite, self).__init__(*pargs, **pkwargs)
self.device = device
self.description = description
self.excitation_lambda = excitation_lambda
Expand Down Expand Up @@ -65,6 +65,6 @@ class OptogeneticSeries(TimeSeries):
{'name': 'parent', 'type': 'NWBContainer', 'doc': 'The parent NWBContainer for this NWBContainer', 'default': None})
def __init__(self, **kwargs):
site = popargs('site', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(OptogeneticSeries, self).__init__, kwargs)
super(OptogeneticSeries, self).__init__(*pargs, **pkwargs)
self.site = site
36 changes: 18 additions & 18 deletions src/pynwb/ophys.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ class OpticalChannel(NWBContainer):
{'name': 'parent', 'type': 'NWBContainer', 'doc': 'The parent NWBContainer for this NWBContainer', 'default': None})
def __init__(self, **kwargs):
description, emission_lambda, parent = popargs("description", "emission_lambda", "parent", kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(OpticalChannel, self).__init__, kwargs)
super(OpticalChannel, self).__init__(*pargs, **pkwargs)
self.description = description
self.emission_lambda = emission_lambda

Expand Down Expand Up @@ -61,8 +61,8 @@ class ImagingPlane(NWBContainer):
{'name': 'parent', 'type': 'NWBContainer', 'doc': 'The parent NWBContainer for this NWBContainer', 'default': None})
def __init__(self, **kwargs):
optical_channel, description, device, excitation_lambda, imaging_rate, indicator, location, manifold, conversion, unit, reference_frame, parent = popargs('optical_channel', 'description', 'device', 'excitation_lambda', 'imaging_rate', 'indicator', 'location', 'manifold', 'conversion', 'unit', 'reference_frame', 'parent', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(ImagingPlane, self).__init__, kwargs)
super(ImagingPlane, self).__init__(*pargs, **pkwargs)
self.optical_channel = optical_channel if isinstance(optical_channel, list) else [optical_channel]
self.description = description
self.device = device
Expand Down Expand Up @@ -120,8 +120,8 @@ class TwoPhotonSeries(ImageSeries):
)
def __init__(self, **kwargs):
field_of_view, imaging_plane, pmt_gain, scan_line_rate = popargs('field_of_view', 'imaging_plane', 'pmt_gain', 'scan_line_rate', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(TwoPhotonSeries, self).__init__, kwargs)
super(TwoPhotonSeries, self).__init__(*pargs, **pkwargs)
self.field_of_view = field_of_view
self.imaging_plane = imaging_plane
self.pmt_gain = pmt_gain
Expand All @@ -147,8 +147,8 @@ class ROI(NWBContainer):
{'name': 'reference_images', 'type': ImageSeries, 'doc': 'One or more image stacks that the masks apply to (can be oneelement stack).'})
def __init__(self, **kwargs):
name, roi_description, pix_mask, pix_mask_weight, img_mask = popargs('name', 'roi_description', 'pix_mask', 'pix_mask_weight', 'img_mask', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(ROI, self).__init__, kwargs)
super(ROI, self).__init__(*pargs, **pkwargs)
self.roi_description = roi_description
self.pix_mask = pix_mask
self.pix_mask_weight = pix_mask_weight
Expand All @@ -173,8 +173,8 @@ class PlaneSegmentation(NWBContainer):
{'name': 'reference_images', 'type': ImageSeries, 'doc': 'One or more image stacks that the masks apply to (can be oneelement stack).'})
def __init__(self, **kwargs):
name, description, roi_list, imaging_plane, reference_images = popargs('name', 'description', 'roi_list', 'imaging_plane', 'reference_images', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(PlaneSegmentation, self).__init__, kwargs)
super(PlaneSegmentation, self).__init__(*pargs, **pkwargs)
self.description = description
self.roi_list = roi_list
self.imaging_plane = imaging_plane
Expand All @@ -200,8 +200,8 @@ class ImageSegmentation(NWBContainer):
{'name': 'plane_segmentation', 'type': PlaneSegmentation, 'doc': 'ImagePlane class.'})
def __init__(self, **kwargs):
plane_segmentation = popargs('plane_segmentation', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(ImageSegmentation, self).__init__, kwargs)
super(ImageSegmentation, self).__init__(*pargs, **pkwargs)
self.plane_segmentation = plane_segmentation

@register_class('RoiResponseSeries', CORE_NAMESPACE)
Expand Down Expand Up @@ -241,8 +241,8 @@ class RoiResponseSeries(TimeSeries):
)
def __init__(self, **kwargs):
roi_names, segmenttation_interface = popargs('roi_names', 'segmenttation_interface', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(RoiResponseSeries, self).__init__, kwargs)
super(RoiResponseSeries, self).__init__(*pargs, **pkwargs)
self.roi_names = roi_names
self.segmenttation_interface = segmenttation_interface

Expand All @@ -261,8 +261,8 @@ class DfOverF(NWBContainer):
{'name': 'roi_response_series', 'type': RoiResponseSeries, 'doc': 'RoiResponseSeries or any subtype.'})
def __init__(self, **kwargs):
roi_response_series = popargs('roi_response_series', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(DfOverF, self).__init__, kwargs)
super(DfOverF, self).__init__(*pargs, **pkwargs)
self.roi_response_series = roi_response_series

@register_class('Fluorescence', CORE_NAMESPACE)
Expand All @@ -280,6 +280,6 @@ class Fluorescence(NWBContainer):
{'name': 'roi_response_series', 'type': RoiResponseSeries, 'doc': 'RoiResponseSeries or any subtype.'})
def __init__(self, **kwargs):
roi_response_series = popargs('roi_response_series', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(Fluorescence, self).__init__, kwargs)
super(Fluorescence, self).__init__(*pargs, **pkwargs)
self.roi_response_series = roi_response_series
13 changes: 6 additions & 7 deletions src/pynwb/retinotopy.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,8 @@ class aimage(NWBContainer):
{'name': 'focal_depth', 'type': float, 'doc': 'Focal depth offset, in meters.'})
def __init__(self, **kwargs):
data, bits_per_pixel, dimension, format, field_of_view = popargs('data', 'bits_per_pixel', 'dimension', 'format', 'field_of_view', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(aimage, self).__init__, kwargs)
super(aimage, self).__init__(*pargs, **pkwargs)
self.data = data
self.bits_per_pixel = bits_per_pixel
self.dimension = format
Expand All @@ -49,8 +49,8 @@ class amap(NWBContainer):
{'name': 'dimension', 'type': Iterable, 'doc': 'Number of rows and columns in the image'})
def __init__(self, **kwargs):
data, field_of_view, unit, dimension = popargs('data', 'field_of_view', 'unit', 'dimension', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(amap, self).__init__, kwargs)
super(amap, self).__init__(*pargs, **pkwargs)
self.data = data
self.field_of_view = field_of_view
self.unit = unit
Expand Down Expand Up @@ -88,8 +88,8 @@ class ImagingRetinotopy(NWBContainer):
{'name': 'vasculature_image', 'type': aimage, 'doc': 'Gray-scale anatomical image of cortical surface. Array structure: [rows][columns].'})
def __init__(self, **kwargs):
axis_1_phase_map, axis_1_power_map, axis_2_phase_map, axis_2_power_map, axis_descriptions, focal_depth_image, sign_map, vasculature_image = popargs('axis_1_phase_map', 'axis_1_power_map', 'axis_2_phase_map', 'axis_2_power_map', 'axis_descriptions', 'focal_depth_image', 'sign_map', 'vasculature_image', kwargs)
pargs, pkwargs = fmt_docval_args(super().__init__, kwargs)
super().__init__(*pargs, **pkwargs)
pargs, pkwargs = fmt_docval_args(super(ImagingRetinotopy, self).__init__, kwargs)
super(ImagingRetinotopy, self).__init__(*pargs, **pkwargs)
self.axis_1_phase_map = axis_1_phase_map
self.axis_1_power_map = axis_1_power_map
self.axis_2_phase_map = axis_2_phase_map
Expand All @@ -98,4 +98,3 @@ def __init__(self, **kwargs):
self.focal_depth_image = focal_depth_image
self.sign_map = sign_map
self.vasculature_image = vasculature_image

2 changes: 1 addition & 1 deletion tests/unit/form_tests/utils_test/test_core_NWBContainer.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
class MyTestClass(NWBContainer):

def __init__(self, src, parent=None):
super().__init__(src, parent=parent)
super(MyTestClass, self).__init__(src, parent=parent)

def basic_add(self, **kwargs):
return kwargs
Expand Down

0 comments on commit 4677034

Please sign in to comment.