1234567891011121314151617181920212223242526272829303132333435 |
- from neo.io.basefromrawio import BaseFromRaw
- from neo.rawio.nixrawio import NIXRawIO
- # This class subjects to limitations when there are multiple asymmetric blocks
- class NixIO(NIXRawIO, BaseFromRaw):
- name = 'NIX IO'
- _prefered_signal_group_mode = 'group-by-same-units'
- _prefered_units_group_mode = 'all-in-one'
- def __init__(self, filename):
- NIXRawIO.__init__(self, filename)
- BaseFromRaw.__init__(self, filename)
- def read_block(self, block_index=0, lazy=False, signal_group_mode=None,
- units_group_mode=None, load_waveforms=False):
- bl = super().read_block(block_index, lazy,
- signal_group_mode,
- units_group_mode,
- load_waveforms)
- for chx in bl.channel_indexes:
- if "nix_name" in chx.annotations:
- nixname = chx.annotations["nix_name"]
- chx.annotations["nix_name"] = nixname[0]
- return bl
- def __enter__(self):
- return self
- def __exit__(self, *args):
- self.header = None
- self.file.close()
|