User Tools

Site Tools


visual3d:documentation:emg:filtering:emg_envelope_version_2

This is an old revision of the document!


example files to be used with this example can be downloaded here.]] ===== script description ===== create a pipeline that performs an emg envelope with the following specifics: - prompt for: - high pass filter cutoff (default 20hz) - smoothing rms (default 50 ms) - plot average emg signal: - normalize time to stance - +/- 1 sd range as shaded area behind the mean curve ===== sample script ===== <code> ! prompt the user for the highpass filter cutoff frequency, and the size of the rms window. ! note that visual3d restricts the size of the rms window to integer values (e.g. frames) prompt_for_multiple_pipeline_parameter_values /pipeline_parameter_name=highpass_cutoff+rms_time_window /datatype=float+int /default_value=20+50 ! /default_value_count=1 /prompt_text=specify highpass cutoff and rms time window (milliseconds) ; select_active_file /file_name=all_files ! /query= ; ! highpass filter emg signals highpass_filter /signal_types=analog /signal_folder=original /signal_names=emg_a+emg_b+emg_c /result_folder=highpass ! /result_suffix= ! /filter_class=butterworth /frequency_cutoff=::highpass_cutoff /num_reflected=0 ! /num_extrapolated=0 /total_buffer_size=30 ! /num_bidirectional_passes=1 ; ! rms for emg signals moving_rms /signal_types=analog /signal_folder=highpass /signal_names=emg_a+emg_b+emg_c ! /result_types= /result_folders=rms ! /result_name= ! /apply_as_suffix_to_signal_name= /num_window_frames=( &::rms_time_window&/100) * parameter::analog::rate + 1 ; !----------------------------------------------------------------------------------- ! create a graphs with an average with cycle time normalization and +/- 1 sd range ! as shaded area behind the mean curve. !----------------------------------------------------------------------------------- set_report_page_title /page_number=1 /page_title=emg /page_title_color=black ; make_line_graph /page_number=1 /column_number=1 /row_number=1 ! /column_span=1 ! /row_span=1 /graph_title= /files_to_graph=all_files ! /display_legend=false ! /legend_location=ur ! /legend_text= /line_style=dash /line_color=black ! /line_bold=false ! /show_points=false /graph_mean=true /graph_stddev=true /mean_stddev_line_style=solid /mean_stddev_line_color=black /mean_stddev_line_bold=true /use_event_range=true /start_event_label=ron /end_event_label=roff ! /intermediate_events= ! /exclude_events= /x_axis_label=% stance /x_data_type=frame_numbers /x_data_name=time !/x_data_component= ! /x_data_processed=original /x_axis_scale=normalize 0% to 100% /y_axis_label=emg_a /y_data_type=analog /y_data_name=emg_a !/y_data_component= /y_data_processed=rms ! /y_axis_scale=global min to max ! /y_use_scientific_notation=false ; make_line_graph /page_number=1 /column_number=1 /row_number=2 ! /column_span=1 ! /row_span=1 /graph_title= /files_to_graph=all_files ! /display_legend=false ! /legend_location=ur ! /legend_text= /line_style=dash /line_color=black ! /line_bold=false ! /show_points=false /graph_mean=true /graph_stddev=true /mean_stddev_line_style=solid /mean_stddev_line_color=black /mean_stddev_line_bold=true /use_event_range=true /start_event_label=ron /end_event_label=roff ! /intermediate_events= ! /exclude_events= /x_axis_label=% stance /x_data_type=frame_numbers /x_data_name=time !/x_data_component= ! /x_data_processed=original /x_axis_scale=normalize 0% to 100% /y_axis_label=emg_b /y_data_type=analog /y_data_name=emg_b !/y_data_component= /y_data_processed=rms ! /y_axis_scale=global min to max ! /y_use_scientific_notation=false ; make_line_graph /page_number=1 /column_number=1 /row_number=3 ! /column_span=1 ! /row_span=1 /graph_title= /files_to_graph=all_files ! /display_legend=false ! /legend_location=ur ! /legend_text= /line_style=dash /line_color=black ! /line_bold=false ! /show_points=false /graph_mean=true /graph_stddev=true /mean_stddev_line_style=solid /mean_stddev_line_color=black /mean_stddev_line_bold=true /use_event_range=true /start_event_label=ron /end_event_label=roff ! /intermediate_events= ! /exclude_events= /x_axis_label=% stance /x_data_type=frame_numbers /x_data_name=time !/x_data_component= ! /x_data_processed=original /x_axis_scale=normalize 0% to 100% /y_axis_label=emg_c /y_data_type=analog /y_data_name=emg_c !/y_data_component= /y_data_processed=rms ! /y_axis_scale=global min to max ! /y_use_scientific_notation=false ; </code> ===== manually create 2d graph ===== the graphs do not need to be done in the pipeline. this can be accomplished as a report graph as displayed in the following image of the edit report dialog. editemgreportgraph.png\\

visual3d/documentation/emg/filtering/emg_envelope_version_2.1718803795.txt.gz · Last modified: 2024/06/19 13:29 by sgranger