CLI.add_argument("--data", nargs='?', type=str, required=True, help="path to input data in neo format") CLI.add_argument("--output", nargs='?', type=str, required=True, help="path of output file") args = CLI.parse_args() block = load_neo(args.data) block = analogsignals_to_imagesequences(block) imgseq = block.filter(name='optical_flow', objects="ImageSequence") if imgseq: imgseq = imgseq[0] else: raise ValueError("Input does not contain a signal with name " \ + "'optical_flow'!") crit_point_evt = detect_critical_points( imgseq, block.segments[0].analogsignals[0].times) block.segments[0].events.append(crit_point_evt) write_neo(args.output, block)
asig_names = [asig.name for asig in waves_block.segments[0].analogsignals] event_names = [event.name for event in waves_block.segments[0].events] if not args.properties or not args.properties[0]: args.properties = [] for property in args.properties: block = load_neo(property) for asig in block.segments[0].analogsignals: if asig.name not in asig_names: waves_block.segments[0].analogsignals.append(asig) for event in block.segments[0].events: if event.name in event_names: waves_evt = waves_block.filter(name=event.name, objects="Event")[0] for key, value in event.annotations.items(): if key not in waves_evt.annotations: waves_evt.annotations[key] = value for key, value in event.array_annotations.items(): if key not in waves_evt.array_annotations: waves_evt.array_annotations[key] = value else: waves_block.segments[0].events.append(event) del block write_neo(args.output, waves_block)