Example #1
0
def change_data_selector(args, old, new):
    global selected_file
    if new is None:
        selected_file = None
        return
    show_spinner("Updating selection...")
    selected_file = signals_files[new]
    if isinstance(selected_file, SignalsFile):
        group_cb.disabled = True
    elif isinstance(selected_file, SignalsFilesGroup):
        group_cb.disabled = False
    data_selector.remove_on_change('value', select_data)
    data_selector.options = sorted(list(selected_file.signals.keys()))
    data_selector.on_change('value', select_data)
    selected_signal_names = [
        s.name for s in selected_file.signals.values() if s.selected
    ]
    if not selected_signal_names:
        selected_signal_names = [""]
    change_selected_signals_in_data_selector(selected_signal_names)
    averaging_slider.value = selected_file.signals_averaging_window
    if len(averaging_slider_dummy_source.data['value']) > 0:
        averaging_slider_dummy_source.data['value'][
            0] = selected_file.signals_averaging_window
    group_cb.active = [0 if selected_file.show_bollinger_bands else None]
    group_cb.active += [1 if selected_file.separate_files else None]
    hide_spinner()
Example #2
0
def load_directory_group():
    show_spinner("Loading directories group...")
    directory = open_directory_dialog()
    # no files selected
    if not directory:
        hide_spinner()
        return

    display_directory_group(directory)
Example #3
0
def load_files():
    show_spinner("Loading files...")
    files = open_file_dialog()

    # no files selected
    if not files or not files[0]:
        hide_spinner()
        return

    display_files(files)
Example #4
0
def reload_all_files(force=False):
    pause_auto_update()

    for file_to_load in signals_files.values():
        if force or file_to_load.file_was_modified_on_disk():
            show_spinner("Updating files from the disk...")
            file_to_load.load()
            hide_spinner()
        refresh_info.text = "Last Update: " + str(datetime.datetime.now()).split(".")[0]

    resume_auto_update_according_to_toggle()
Example #5
0
def toggle_group_property(new):
    show_spinner("Loading...")

    # toggle show / hide Bollinger bands
    selected_file.change_bollinger_bands_state(0 in new)

    # show a separate signal for each file in a group
    selected_file.show_files_separately(1 in new)

    update_legend()

    hide_spinner()
Example #6
0
def toggle_second_axis():
    show_spinner("Switching the Y axis...")
    plot.yaxis[-1].visible = True
    selected_file.toggle_y_axis()

    # this is just for redrawing the signals
    selected_file.reload_data()

    update_y_axis_ranges()
    update_legend()

    hide_spinner()
Example #7
0
def display_files(files):
    pause_auto_update()

    display_boards()
    show_spinner("Loading files...")

    create_files_signal(files)

    change_selected_signals_in_data_selector([""])

    resume_auto_update_according_to_toggle()
    hide_spinner()
Example #8
0
def change_x_axis(val):
    global x_axis
    show_spinner("Updating the X axis...")
    x_axis[0] = x_axis_options[val]
    plot.xaxis.axis_label = x_axis_labels[val]

    for file_to_load in signals_files.values():
        file_to_load.update_x_axis_index()
        # this is needed in order to recalculate the mean of all the files
        if isinstance(file_to_load, SignalsFilesGroup):
            file_to_load.load()

    update_axis_range(x_axis[0], plot.x_range)
    hide_spinner()
Example #9
0
def load_file():
    file = open_file_dialog()
    show_spinner("Loading file...")
    # no file selected
    if not file:
        hide_spinner()
        return

    display_boards()

    create_files_signal([file])

    change_selected_signals_in_data_selector([""])
    hide_spinner()
Example #10
0
def select_data(args, old, new):
    if selected_file is None:
        return
    show_spinner("Updating the signal selection...")
    selected_signals = new
    for signal_name in selected_file.signals.keys():
        is_selected = signal_name in selected_signals
        selected_file.set_signal_selection(signal_name, is_selected)

    # update axes ranges
    update_y_axis_ranges()
    update_x_axis_ranges()

    # update the legend
    update_legend()

    hide_spinner()
Example #11
0
def display_directory_group(directory):
    pause_auto_update()

    display_boards()
    show_spinner("Loading directories group...")

    while get_run_type(directory) == FolderType.EMPTY:
        show_spinner("Waiting for experiment directory to get populated...")
        sys.stdout.write("Waiting for experiment directory to get populated...\r")
        time.sleep(10)

    handle_dir(directory, get_run_type(directory))

    change_selected_signals_in_data_selector([""])

    resume_auto_update_according_to_toggle()
    hide_spinner()
Example #12
0
def load_files_group():
    show_spinner("Loading files group...")
    files = open_file_dialog()
    # no files selected
    if not files or not files[0]:
        hide_spinner()
        return

    display_boards()

    if len(files) == 1:
        create_files_signal(files)
    else:
        create_files_group_signal(files)

    change_selected_signals_in_data_selector([""])
    hide_spinner()
Example #13
0
def select_color(attr, old, new):
    show_spinner("Changing signal color...")
    signals = selected_file.get_selected_signals()
    for signal in signals:
        signal.set_color(rgb_to_hex(crRGBs[new['1d']['indices'][0]]))
    hide_spinner()
Example #14
0
def update_averaging(args, old, new):
    show_spinner("Smoothing the signals...")
    # get the actual value from the dummy source
    new = averaging_slider_dummy_source.data['value'][0]
    selected_file.change_averaging_window(new)
    hide_spinner()