Skip to content

Commit 95420ee

Browse files
committed
For clarity, move creation of child object lists explicitly into constructors of Block, Segment, Group, instead of doing it in the parent class Container.
1 parent 5e3c0b3 commit 95420ee

File tree

4 files changed

+24
-4
lines changed

4 files changed

+24
-4
lines changed

neo/core/block.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@ def __init__(self, name=None, description=None, file_origin=None,
8686
self.file_datetime = file_datetime
8787
self.rec_datetime = rec_datetime
8888
self.index = index
89+
self.segments = []
90+
self.groups = []
8991
self.regionsofinterest = [] # temporary workaround.
9092
# the goal is to store all sub-classes of RegionOfInterest in a single list
9193
# but this will need substantial changes to container handling

neo/core/container.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -233,10 +233,6 @@ def __init__(self, name=None, description=None, file_origin=None,
233233
super().__init__(name=name, description=description,
234234
file_origin=file_origin, **annotations)
235235

236-
# initialize containers
237-
for container in self._child_containers:
238-
setattr(self, container, [])
239-
240236
@property
241237
def _single_child_objects(self):
242238
"""

neo/core/group.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,23 @@ def __init__(self, objects=None, name=None, description=None, file_origin=None,
4848
allowed_types=None, **annotations):
4949
super().__init__(name=name, description=description,
5050
file_origin=file_origin, **annotations)
51+
52+
self.analogsignals = []
53+
self.irregularlysampledsignals = []
54+
self.spiketrains = []
55+
self.events = []
56+
self.epochs = []
57+
self.channelviews = []
58+
self.imagesequences = []
59+
self.segments = [] # to remove?
60+
self.groups = []
61+
self.block = None
62+
5163
if allowed_types is None:
5264
self.allowed_types = None
5365
else:
5466
self.allowed_types = tuple(allowed_types)
67+
5568
if objects:
5669
self.add(*objects)
5770

neo/core/segment.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,16 @@ def __init__(self, name=None, description=None, file_origin=None,
9191
'''
9292
super().__init__(name=name, description=description,
9393
file_origin=file_origin, **annotations)
94+
95+
self.analogsignals = []
96+
self.irregularlysampledsignals = []
9497
self.spiketrains = SpikeTrainList(segment=self)
98+
self.events = []
99+
self.epochs = []
100+
self.channelviews = []
101+
self.imagesequences = []
102+
self.block = None
103+
95104
self.file_datetime = file_datetime
96105
self.rec_datetime = rec_datetime
97106
self.index = index

0 commit comments

Comments
 (0)