Пример #1
0
    def read_epoch(fh, block_id, array_id):
        nix_block = fh.handle.blocks[block_id]
        nix_da = nix_block.data_arrays[array_id]

        params = {
            'times': nix_da[0],  # TODO think about lazy data loading
            'durations': nix_da[1],  # TODO think about lazy data loading
            'labels': [x.encode('UTF-8') for x in nix_da.dimensions[0].labels]
        }

        name = Reader.Help.get_obj_neo_name(nix_da)
        if name:
            params['name'] = name

        epoch = Epoch(**params)

        for key, value in Reader.Help.read_attributes(nix_da.metadata, 'epoch').items():
            setattr(epoch, key, value)

        epoch.annotations = Reader.Help.read_annotations(nix_da.metadata, 'epoch')

        return epoch