This class provides a convenient interface to run a full decomposition
pipeline on an emgfile structure, including optional preprocessing
(bandpass and power-line removal), optional removal of bad channels,
decomposition using a selected algorithm, and optional post-processing
(duplicate MU removal).
Defaults
Decomposition
- method: emg.convolutive_bss
- parameters: emg.ConvolutiveBSSParams()
Filtering
- bandpass: enabled by default (order=2, 20-500 Hz)
- power-line removal: disabled by default
Channels
- bad-channel exclusion: enabled by default
(exclude_bad_channels=True)
Duplicate removal
- enabled by default
Examples:
Common part
>>> import openhdemg.library as emg
>>> emgfile = emg.emg_from_samplefile()
Minimal usage (defaults: bandpass enabled, notch disabled, duplicate
removal enabled)
>>> decomposer = emg.EMGDecomposer()
>>> decomposed_emgfile = decomposer.run_decomposition(emgfile)
Full customisation of decomposition parameters
>>> decomposer = emg.EMGDecomposer()
>>> params = emg.ConvolutiveBSSParams()
>>> params.n_iterations = 5
>>> params.silhouette_threshold = 0.88
>>> decomposer.set_decomposition_parameters(params=params)
>>> decomposed_emgfile = decomposer.run_decomposition(emgfile)
Quick customisation of decomposition parameters
>>> decomposer = emg.EMGDecomposer()
>>> decomposer.decomposition_parameters.n_iterations = 5
>>> decomposed_emgfile = decomposer.run_decomposition(emgfile)
Disable filtering entirely
>>> decomposer = emg.EMGDecomposer()
>>> decomposer.change_filtering_parameters(
... bandpass_enabled=False,
... notch_enabled=False,
... )
>>> decomposed_emgfile = decomposer.run_decomposition(emgfile)
Disable duplicate removal
>>> decomposer = emg.EMGDecomposer()
>>> decomposer.change_duplicate_removal_parameters(
... duplicate_removal_enabled=False,
... )
>>> decomposed_emgfile = decomposer.run_decomposition(emgfile)