Skip to content

GUI Module

Graphical user interface components for interactive data logging and analysis.

Main Logger Class

Logger

Interactive Qt logger window for acquisition, analysis and plotting.

The main GUI entry point (exposed as dvma.Logger). Opening a Logger starts a live oscilloscope and provides controls to record, analyse (FFT / transfer function / sonogram) and plot, all backed by a datastructure.DataSet.

Parameters:

  • settings (MySettings, default: None ) –

    Acquisition configuration. If None, the GUI opens with its own defaults.

  • test_name (str, default: None ) –

    Default label applied to logged data.

  • default_window (str, default: None ) –

    Initial FFT/TF window choice (e.g. 'hann'); None means a rectangular window.

  • output_signal_settings (Output_Signal_Settings, default: None ) –

    Pre-fills the "Generate output" panel — waveform type, amplitude and the two frequencies. Defaults to output off (type='None'). See options.Output_Signal_Settings.

  • dataset (DataSet, default: None ) –

    Start from an existing dataset instead of an empty one — e.g. to add measurements to data you have already loaded.

Examples:

>>> oss = dvma.Output_Signal_Settings(type='sweep', amp=0.5,
...                                   f1=20, f2=2000)
>>> logger = dvma.Logger(settings, output_signal_settings=oss)

Attributes

settings instance-attribute
settings = settings
test_name instance-attribute
test_name = test_name
dataset instance-attribute
dataset = dataset
default_window instance-attribute
default_window = default_window
current_view instance-attribute
current_view = 'Time'
N_frames instance-attribute
N_frames = 1
overlap instance-attribute
overlap = 0.5
iw_fft_power instance-attribute
iw_fft_power = 0
iw_tf_power instance-attribute
iw_tf_power = 0
legend_loc instance-attribute
legend_loc = 'lower right'
show_coherence instance-attribute
show_coherence = True
show_data instance-attribute
show_data = True
coherence_plot_type instance-attribute
coherence_plot_type = 'linear'
xlinlog instance-attribute
xlinlog = 'linear'
plot_type instance-attribute
plot_type = None
freq_range instance-attribute
freq_range = [0, np.inf]
auto_xy instance-attribute
auto_xy = 'xy'
sets instance-attribute
sets = 'all'
channels instance-attribute
channels = 'all'
last_action instance-attribute
last_action = None
iw_power instance-attribute
iw_power = 0
selected_channels instance-attribute
selected_channels = []
flag_scaling instance-attribute
flag_scaling = False
message_time instance-attribute
message_time = 0
flag_log_and_replace instance-attribute
flag_log_and_replace = False
flag_output instance-attribute
flag_output = False
message_timer instance-attribute
message_timer = QTimer()
stream_check_timer instance-attribute
stream_check_timer = QTimer()
levels_timer instance-attribute
levels_timer = QTimer()
message instance-attribute
message = ''
t0_clipped instance-attribute
t0_clipped = 0
fn_in_range instance-attribute
fn_in_range = np.array([])
output_signal_settings instance-attribute
output_signal_settings = options.Output_Signal_Settings(type='None', amp=0, f1=0, f2=0)
window instance-attribute
window = QWidget()

Methods:

__init__
__init__(settings=None, test_name=None, default_window=None, output_signal_settings=None, dataset=None)
setup_layout_main
setup_layout_main()
setup_frame_figure
setup_frame_figure()
setup_frame_input
setup_frame_input()
setup_frame_message
setup_frame_message()
setup_frame_save
setup_frame_save()
setup_frame_axes
setup_frame_axes()
setup_frame_plot_details
setup_frame_plot_details()
setup_frame_tools
setup_frame_tools()
setup_frame_tools_selection
setup_frame_tools_selection()
setup_frame_tools_time_domain
setup_frame_tools_time_domain()
setup_frame_tools_fft
setup_frame_tools_fft()
setup_frame_tools_tf
setup_frame_tools_tf()
setup_frame_tools_scaling
setup_frame_tools_scaling()
setup_frame_tools_mode_fitting
setup_frame_tools_mode_fitting()
setup_frame_tools_settings
setup_frame_tools_settings()
setup_frame_tools_generate_output
setup_frame_tools_generate_output()
setup_frame_tools_edit_dataset
setup_frame_tools_edit_dataset()
setup_frame_tools_sonogram
setup_frame_tools_sonogram()
setup_frame_tools_save_export
setup_frame_tools_save_export()
update_frame_tools
update_frame_tools()
show
show()
close
close()
start_stream
start_stream()
show_message
show_message(message, b='ok')
hide_message
hide_message()
show_message_timer
show_message_timer()
check_stream
check_stream()
show_levels
show_levels()
button_clicked_osc
button_clicked_osc()
button_clicked_log_data
button_clicked_log_data()
add_logged_data
add_logged_data(d)
cancel_logging
cancel_logging()
delete_last_data
delete_last_data()
reset_data
reset_data()
load_data
load_data()
save_data
save_data()
save_fig
save_fig()
xmin
xmin()
xmax
xmax()
ymin
ymin()
ymax
ymax()
auto_x
auto_x()
auto_y
auto_y()
update_axes_values
update_axes_values(axes)
update_modal_message
update_modal_message(axes)
legend_left
legend_left()
legend_right
legend_right()
legend_onoff
legend_onoff()
update_figure
update_figure()
update_selected_channels
update_selected_channels(_)
select_all_data
select_all_data()
select_no_data
select_no_data()
show_set_only
show_set_only()
show_chan_only
show_chan_only()
next_chans
next_chans()
prev_chans
prev_chans()
co_min
co_min()
co_max
co_max()
freq_min
freq_min()
freq_max
freq_max()
update_co_axes_values
update_co_axes_values(axes)
data_toggle
data_toggle()
coherence_toggle
coherence_toggle()
select_xlinlog
select_xlinlog()
switch_view
switch_view(new_view_text)
select_view
select_view()
hide_plot_details
hide_plot_details()
show_plot_details_with_coherence
show_plot_details_with_coherence()
show_plot_details_with_nqyuist
show_plot_details_with_nqyuist()
show_plot_details_basic
show_plot_details_basic()
hide_all_tools
hide_all_tools()
select_tool
select_tool()
apply_settings
apply_settings()
show_available_devices
show_available_devices()
update_selected_set
update_selected_set()
update_data_summary
update_data_summary()
delete_data_type
delete_data_type()
delete_data_set
delete_data_set()
log_and_replace
log_and_replace()
update_output
update_output()
create_output_signal
create_output_signal()
preview_output
preview_output()
start_output
start_output()
clean_impulse
clean_impulse()
undo_last_action
undo_last_action()
calc_fft
calc_fft()
select_averaging_type
select_averaging_type()
refresh_Nframes_text
refresh_Nframes_text()
refresh_Nframes_slider
refresh_Nframes_slider()
refresh_test_name
refresh_test_name()
refresh_test_name2
refresh_test_name2()
calc_tf
calc_tf()
calc_tf_av
calc_tf_av(b)
xiw
xiw()
diw
diw()
xiwp
xiwp(power)
undo_scaling
undo_scaling()
best_match
best_match()
fit_mode
fit_mode()
freq_min2
freq_min2()
freq_max2
freq_max2()
accept_mode
accept_mode()
reject_mode
reject_mode()
view_mode_summary
view_mode_summary()
view_modal_reconstruction
view_modal_reconstruction()
refresh_sono_N_frames_slider
refresh_sono_N_frames_slider()
refresh_sono_N_frames_text
refresh_sono_N_frames_text()
calc_sono
calc_sono()
calc_damping
calc_damping()
import_jwlogger
import_jwlogger()
export_jwlogger
export_jwlogger()
export_matlab
export_matlab()
export_csv
export_csv()

Window Classes

PreviewWindow

Attributes

preview_window instance-attribute
preview_window = QWidget()
fig instance-attribute
fig = Figure(figsize=(9, 5), dpi=100)
canvas instance-attribute
canvas = FigureCanvas(self.fig)
toolbar instance-attribute
toolbar = NavigationToolbar(self.canvas, None)
p instance-attribute
p = plotting.PlotData(canvas=self.canvas, fig=self.fig)
label_figure instance-attribute
label_figure = boldLabel(title)
layout_figure instance-attribute
layout_figure = QVBoxLayout()

DampingFitWindow

Attributes

window instance-attribute
window = QWidget()
fig instance-attribute
fig = Figure(figsize=(9, 6), dpi=100)
canvas instance-attribute
canvas = FigureCanvas(self.fig)
toolbar instance-attribute
toolbar = NavigationToolbar(self.canvas, None)
label_figure instance-attribute
label_figure = boldLabel(title)
ax instance-attribute
ax = self.fig.add_subplot(111)
layout_figure instance-attribute
layout_figure = QVBoxLayout()

Methods:

plot_fits
plot_fits(fit_data)

Note

The GUI module is primarily intended for interactive use through the Logger interface. Most users will instantiate Logger(settings) rather than using these classes directly.