def parse_plot_channels(channels, input_file): channels = channels if isinstance(channels, list) else [channels] channels = [none_or_int(channel) for channel in channels] # ToDo: # * check is channel exists, even when there is no None # * use annotation channel ids instead of array indices if None in channels: dim_t, channel_num = load_neo(input_file, object='analogsignal', lazy=True).shape for i, channel in enumerate(channels): if channel is None or channel >= channel_num: channels[i] = random.randint(0, channel_num) return channels
import neo import numpy as np import argparse from utils.io import load_neo if __name__ == '__main__': CLI = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) 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 thresholds (numpy array)") CLI.add_argument("--threshold", nargs='?', type=float, required=True) args, unknown = CLI.parse_known_args() asig = load_neo(args.data, 'analogsignal') dim_t, channel_num = asig.shape np.save(args.output, np.ones(channel_num) * args.threshold)
CLI = argparse.ArgumentParser( description=__doc__, formatter_class=argparse.RawDescriptionHelpFormatter) 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)
type=str, required=True, help="path to input data in neo format") CLI.add_argument("--properties", nargs='?', type=lambda v: v.split(','), default=[''], help="paths to input data in neo format") CLI.add_argument("--output", nargs='?', type=str, required=True, help="path of output file") args = CLI.parse_args() waves_block = load_neo(args.waves) 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:
return ax if __name__ == '__main__': CLI = argparse.ArgumentParser() CLI.add_argument("--data", nargs='?', type=str) CLI.add_argument("--frame_folder",nargs='?', type=str) CLI.add_argument("--frame_name", nargs='?', type=str) CLI.add_argument("--frame_format",nargs='?', type=str) CLI.add_argument("--frame_rate", nargs='?', type=none_or_float) CLI.add_argument("--colormap", nargs='?', type=str) CLI.add_argument("--event", nargs='?', type=none_or_str, default=None) CLI.add_argument("--markercolor", nargs='?', type=str, default='k') args = CLI.parse_args() blk = load_neo(args.data) blk = analogsignals_to_imagesequences(blk) # get data imgseq = blk.segments[0].imagesequences[0] times = blk.segments[0].analogsignals[0].times # to be replaced t_start = blk.segments[0].analogsignals[0].t_start # to be replaced t_stop = blk.segments[0].analogsignals[0].t_stop # to be replaced dim_t, dim_x, dim_y = imgseq.shape optical_flow = get_opticalflow(blk.segments[0].imagesequences) if args.event is not None: up_coords = get_events(blk.segments[0].events, frame_times=times, event_name=args.event)
help="path of output figure") CLI.add_argument("--t_start", nargs='?', type=float, default=0, help="start time in seconds") CLI.add_argument("--t_stop", nargs='?', type=float, default=10, help="stop time in seconds") CLI.add_argument("--channels", nargs='+', type=none_or_int, default=0, help="list of channels to plot") args = CLI.parse_args() asig = load_neo(args.data, 'analogsignal', lazy=True) channels = parse_plot_channels(args.channels, args.data) asig = time_slice(asig, t_start=args.t_start, t_stop=args.t_stop, lazy=True, channel_indexes=channels) ax = plot_traces(asig, channels) save_plot(args.output)
CLI.add_argument("--original_data", nargs='?', type=str, required=True, help="path to input data in neo format") CLI.add_argument("--processed_data", nargs='?', type=str, required=True, help="path to input data in neo format") CLI.add_argument("--img_dir", nargs='?', type=str, required=True, help="path of output figure directory") CLI.add_argument("--img_name", nargs='?', type=str, default='processed_trace_channel0.png', help='example filename for channel 0') CLI.add_argument("--t_start", nargs='?', type=float, default=0, help="start time in seconds") CLI.add_argument("--t_stop", nargs='?', type=float, default=10, help="stop time in seconds") CLI.add_argument("--channels", nargs='+', type=int, default=0, help="channel to plot") args = CLI.parse_args() orig_asig = load_neo(args.original_data, 'analogsignal', lazy=False) orig_asig = time_slice(orig_asig, t_start=args.t_start, t_stop=args.t_stop, lazy=False, channel_indexes=args.channels) proc_asig = load_neo(args.processed_data, 'analogsignal', lazy=False) proc_asig = time_slice(proc_asig, t_start=args.t_start, t_stop=args.t_stop, lazy=False, channel_indexes=args.channels) for channel in args.channels: plot_traces(orig_asig, proc_asig, channel) output_path = os.path.join(args.img_dir, args.img_name.replace('_channel0', f'_channel{channel}')) save_plot(output_path)