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)
Beispiel #2
0
    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)