Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Store release 0.1.0.b4 #65

Merged
merged 74 commits into from
Apr 5, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
74 commits
Select commit Hold shift + click to select a range
ff08c4a
Added: Edit MUs class
PaulRitsche Dec 3, 2023
8c0c021
Merge branch 'Towards_v0.1.0' of https://github.com/GiacomoValliPhD/O…
PaulRitsche Dec 3, 2023
a69edc5
Added: GUI_modules
PaulRitsche Dec 3, 2023
94b5de4
Added: MU edit window
PaulRitsche Dec 3, 2023
8987c7b
Clean up
PaulRitsche Dec 10, 2023
f3378d6
Added: MU properties / analyse force
PaulRitsche Dec 10, 2023
9463c6c
Update website
GiacomoValliPhD Dec 19, 2023
98a4c80
Update website
GiacomoValliPhD Dec 19, 2023
ff21ee9
Merge pull request #60 from GiacomoValliPhD/Towards_v0.1.0
GiacomoValliPhD Dec 19, 2023
c1cbae1
updated to main
PaulRitsche Dec 28, 2023
5648f22
Added: GUI Plotting Module
PaulRitsche Dec 31, 2023
b94fe6e
Fixed: Docstrings
PaulRitsche Dec 31, 2023
fdbd09f
Added:
PaulRitsche Dec 31, 2023
6d25338
Fix website
GiacomoValliPhD Jan 5, 2024
f9b5d63
Added: Advanced Analysis
PaulRitsche Jan 7, 2024
c82ad8e
Added: Main GUI
PaulRitsche Jan 9, 2024
917cbba
Added: Error Messages
PaulRitsche Jan 12, 2024
9bb5ac7
Added: Tracebacks and Settings
PaulRitsche Feb 3, 2024
2d9f712
Fixed: Reset analysis
PaulRitsche Feb 4, 2024
a4b87f6
Fixed: settings & resize
PaulRitsche Feb 4, 2024
41a2624
Merge branch 'Towards_v0.1.0' into test_modules
GiacomoValliPhD Feb 9, 2024
7660b69
Fixed: GUI resizing
PaulRitsche Feb 10, 2024
4d028b8
Fixed: settings import
PaulRitsche Feb 10, 2024
7786f0e
Initialise the test_suite
GiacomoValliPhD Feb 12, 2024
ed2ee7a
Update website and docs
GiacomoValliPhD Feb 17, 2024
5c1d31d
Updated citeus
GiacomoValliPhD Feb 17, 2024
5a098ce
New CV implementation
GiacomoValliPhD Feb 17, 2024
a91ca36
Merge branch 'Towards_v0.1.0' into test_modules
GiacomoValliPhD Feb 17, 2024
a72d163
Fixed: Magic windows...
PaulRitsche Feb 22, 2024
fe618e4
Update basic structure of the test_modules
GiacomoValliPhD Feb 26, 2024
5e19799
Update tests
GiacomoValliPhD Mar 4, 2024
98b1b30
Update test_openfiles.py
GiacomoValliPhD Mar 5, 2024
c0a51a6
Update accuracy estimation
GiacomoValliPhD Mar 5, 2024
9c1e048
Update accuracy estimation
GiacomoValliPhD Mar 5, 2024
16c7a69
Update askopenfile()
GiacomoValliPhD Mar 7, 2024
840a900
Merge branch 'Towards_v0.1.0' of https://github.com/GiacomoValliPhD/o…
PaulRitsche Mar 7, 2024
88812e2
Update electrodes.py
GiacomoValliPhD Mar 11, 2024
96842d6
Update accuracy estimation
GiacomoValliPhD Mar 12, 2024
f18442f
Update resize_emgfile() and showselect()
GiacomoValliPhD Mar 12, 2024
b9c3823
Merge branch 'Towards_v0.1.0' into modular_GUI_pr
GiacomoValliPhD Mar 12, 2024
49bff0d
First draft of GUI settings
GiacomoValliPhD Mar 14, 2024
63b0a18
Update muap.py
GiacomoValliPhD Mar 14, 2024
3f8ce49
Update openfiles.py
GiacomoValliPhD Mar 14, 2024
1dfeda1
Merge branch 'Towards_v0.1.0' into modular_GUI_pr
GiacomoValliPhD Mar 14, 2024
7850763
Formatted gui_plotting.py
GiacomoValliPhD Mar 21, 2024
5fd6ffc
Progressing with formatting and settings
GiacomoValliPhD Mar 21, 2024
132a806
Progressing with formatting and settings
GiacomoValliPhD Mar 21, 2024
f35a57d
Update settings.py
GiacomoValliPhD Mar 21, 2024
a8951e5
Implementing settings
GiacomoValliPhD Mar 22, 2024
a8e92c6
merge commit
PaulRitsche Mar 23, 2024
8422049
commit
PaulRitsche Mar 23, 2024
af1ad11
merging
PaulRitsche Mar 23, 2024
cda63c8
Added: style and fixed icon bugs
PaulRitsche Mar 24, 2024
676c752
Advancing with settings and formatting
GiacomoValliPhD Mar 25, 2024
6f78b72
Update error handling
GiacomoValliPhD Mar 25, 2024
3614f0e
Completed GUI settings
GiacomoValliPhD Mar 26, 2024
f9d2d10
Fixes and Improvements
GiacomoValliPhD Mar 28, 2024
c8c3f16
Staging stuff
PaulRitsche Mar 31, 2024
fe9645d
Merge conflicts
PaulRitsche Mar 31, 2024
7374583
Added: terminal to main GUI
PaulRitsche Mar 31, 2024
c5c4635
build(pyproject.toml): Added name and dynamic version for cz bump
PaulRitsche Mar 31, 2024
5e03a3d
Merge branch 'modular_GUI_pr' of https://github.com/GiacomoValliPhD/O…
PaulRitsche Mar 31, 2024
674c38d
refactor(openhdemg_gui.py): Adapted ctk class from which emgGUI() inh…
PaulRitsche Mar 31, 2024
d89fb6a
Minor fixes
GiacomoValliPhD Mar 31, 2024
525e2a2
Merge branch 'Towards_v0.1.0' into modular_GUI_pr
GiacomoValliPhD Mar 31, 2024
49a2692
GUI fixes completed
GiacomoValliPhD Apr 3, 2024
49255a3
Fixes and improvements
GiacomoValliPhD Apr 3, 2024
9dc527e
Merge branch 'Towards_v0.1.0' into modular_GUI_pr
GiacomoValliPhD Apr 3, 2024
4294bea
Final GUI fixes and improvements
GiacomoValliPhD Apr 5, 2024
dbcddc5
Improved docstrings and descriptions
GiacomoValliPhD Apr 5, 2024
31c69b0
Configuration for 0.1.0.b4 release
GiacomoValliPhD Apr 5, 2024
c58518e
Update website
GiacomoValliPhD Apr 5, 2024
02bfc1e
Remove pre-commit
GiacomoValliPhD Apr 5, 2024
d464be6
Merge pull request #64 from GiacomoValliPhD/Towards_v0.1.0
GiacomoValliPhD Apr 5, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ openhdemg.egg-info/
openhdemg/.DS_Store
prove.py
prove_storage.py
openhdemg/tests/fixtures/*
!openhdemg/tests/fixtures/__init__.py
7 changes: 5 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,16 @@ include LICENSE
include requirements.txt

# Add all the non .py files in openhdemg
include openhdemg/gui/gui_files/Icon.ico
include openhdemg/gui/gui_files/Icon_transp.ico
include openhdemg/gui/gui_files/Cite.png
include openhdemg/gui/gui_files/Contact.png
include openhdemg/gui/gui_files/Gear.png
include openhdemg/gui/gui_files/Info.png
include openhdemg/gui/gui_files/logo.png
include openhdemg/gui/gui_files/Logo_high_res.png
include openhdemg/gui/gui_files/Matrix.png
include openhdemg/gui/gui_files/Online.png
include openhdemg/gui/gui_files/Redirect.png
include openhdemg/gui/gui_files/Error.png
include openhdemg/gui/gui_files/gui_color_theme.json

include openhdemg/library/decomposed_test_files/otb_testfile.mat
8 changes: 1 addition & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,6 @@ If you already know how to use Python, that's the way to go! Otherwise, have a l
pip install openhdemg
```

or conda:

```shell
conda install -c conda-forge openhdemg
```

If you want an overview of what you can do with the *openhdemg* library, have a look at the [Quick Start section](https://www.giacomovalli.com/openhdemg/quick-start/).

## Good to know
Expand All @@ -61,7 +55,7 @@ python -m openhdemg.gui.openhdemg_gui

Once opened, it will look like this. It is cool, isn't it?

![gui_preview](https://www.giacomovalli.com/openhdemg/md_graphics/index/gui_preview.png)
![gui_preview](https://www.giacomovalli.com/openhdemg/md_graphics/index/gui_preview_v2.png)

## Why openhdemg
The *openhdemg* project was born in 2022 with the aim to provide the HD-EMG community with a free and open-source framework to analyse motor units' properties.
Expand Down
7 changes: 7 additions & 0 deletions docs/api_muap.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,13 @@ This module contains functions to produce and analyse MUs anction potentials

<br/>

::: openhdemg.library.muap.estimate_cv_via_mle
options:
show_root_full_path: False
show_root_heading: True

<br/>

::: openhdemg.library.muap.MUcv_gui
options:
show_root_full_path: False
Expand Down
2 changes: 1 addition & 1 deletion docs/cite-us.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
If you use *openhdemg* for your reaserch, please cite our [tutorial article](/isek_jek_tutorials/#jek-tutorial-article). Any citation will help us to continue our work.
If you use *openhdemg* for your reaserch, please cite our [tutorial article](isek_jek_tutorials.md#jek-tutorial-article). Any citation will help us to continue our work.

Cite us as:

Expand Down
39 changes: 24 additions & 15 deletions docs/gui_advanced.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,56 @@
# Graphical Interface

This is the toturial for the `Advanced Tools` in the *openhdemg* GUI. Great that you made it this far! In the next few sections we will take a look at the more advanced functions implemented in the GUI. But first of all, you need to click the `Advanced Tools`button in the main window of the GUI to get to the respective adavanced analysis. The `Advanced Tools Window` will open.
This is the toturial for the `Advanced Tools` in the *openhdemg* GUI. Great that you made it this far! In the next few sections we will take a look at the more advanced functions implemented in the GUI. But first of all, you need to click the `Advanced Tools` button in the main window of the GUI to get to the respective adavanced analysis. The `Advanced Tools Window` will open.

![advanced_analysis](md_graphics/gui/advanced_tools_window_v2.png)

Please note, the `Advanced Tools` might not be available for all the files, as some of them might not have a sufficient number of electrodes to directly perform the advanced analyses. If you want to use the advanced tools anyway, you can still do so from the library.

![advanced_analysis](md_graphics/gui/advanced_analysis_window.png)
## Start a Specific Tool

So far, we have included three advanced analyses in the *openhdemg* GUI.

- `Motor Unit Tracking`
- `Duplicate Removal`
- `Conduction Velocity Estimation`

For all of those, the specification of a `Matrix Orientation` and a `Matrix Code` is required. The `Matrix Orientaion` must match the one of your matrix during acquisition. You can find a reference image for the `Orientation` at the bottom in the right side of the `Plot Window` when using the `Plot EMG`function. The `Matrix Orientation` can be either **0** or **180** and must be chosen from the dropdown list.
For all of those, the specification of a `Matrix Code` and a `Matrix Orientation` is required.

The `Matrix Code` must be specified according to the one you used during acquisition. So far, the implemented codes are:

The `Matrix Code` must be specified according to the one you used during acquisition. So far, the codes
- `Custom order`
- `None`
- `GR08MM1305`
- `GR04MM1305`
- `GR10MM0808`

- `GR08MM1305`
- `GR04MM1305`
- `GR10MM0808`
- `None`
In case you selected `Custom order`, you must also specify the custom order in the GUI settings. Please refer to [this tutorial](gui_settings.md/#electrodes) for further instructions on how to do so.

are implemented. You must choose one from the respective dropdown list. In case you selected `None`, the entrybox `Rows, Columns` will appear. Please specify the number of rows and columns of your used matrix since you now bypass included matrix codes. `Orientation` is ignored when `Matrix Code` is `None`. In example, specifying
In case you selected `None`, the entrybox `Rows, Columns` will appear. Please specify the number of rows and columns of your used matrix since you now bypass included matrix codes. In example, specifying

```Python
Rows, Columns: 13, 5
```
means that your File has 65 channels.
means that your File has 65 channels organised over 13 rows and 5 columns.

If you selected one of the built-in sorting orders (e.g., `GR08MM1305`, `GR04MM1305`, `GR10MM0808`), you need to specify also the `Orientation` in row two and column four in the left side of the `Plot Window`. The `Orientaion` must match the one of your matrix during acquisition. You can find a reference image for the `Orientation` at the bottom in the right side of the `Plot Window`. `Orientation` is ignored when `Matrix Code` is `None` or `Custom order`.

Once you specified these parameter, you can click the `Advaned Analysis` button to start your analysis.

-----------------------------------------

## Motor Unit Tracking
When you want to track MUs across two different files, you need to select the `Motor Unit Tracking` options and specify the `Matrix Code` and `Matrix Orentation` in the `Advanced Tools Window`. Once you clicked the `Advanced Analysis` button, the `MUs Tracking Window` will pop-up.

![mus_tracking](md_graphics/gui/mu_tracking_window.png)
When you want to track MUs across two different files, you need to select the `Motor Unit Tracking` option and specify the `Matrix Code` and `Matrix Orentation` in the `Advanced Tools Window`. Once you clicked the `Advanced Analysis` button, the `MUs Tracking Window` will pop-up.

![mus_tracking](md_graphics/gui/mu_tracking_window_v2.png)

1. You need to specify the `Type of file` you want to track MUs across in the respective dropdown. The available filetypes are:

- `OTB` (.mat file exportable by OTBiolab+)
- `DEMUSE` (.mat file used in DEMUSE)
- `OPENHDEMG` (emgfile or reference signal stored in .json format)
- `CUSTOMCSV` (custom data from a .csv file)
- `OTB` (.mat file exportable by OTBiolab+)
- `DEMUSE` (.mat file used in DEMUSE)

Each filetype corresponds to a distinct datatype that should match the file you want to analyse. So, select the **Type of file** corresponding to the type of your file. In case you selected `OTB`, specify the `extension factor` in the dropdown.

Expand All @@ -61,9 +69,10 @@ When you want to track MUs across two different files, you need to select the `M
8. By clicking the `Track` button, you can start the analysis. The tracking results will be displayed in the `MUs Tracking Resul` output in the right side of the `MUs Tracking Window`.

## Duplicate Removal

When you want to remove MUs duplicates across different files, you need to select the `Duplicate Removal` options and specify the `Matrix Code` and `Matrix Orentation` in the `Advanced Tools Window`. Once you clicked the `Advanced Analysis` button, the `Duplicate Removal Window` will pop-up. `Duplicate Removal` requires similar input as `Motor Unit Tracking`, so please take a look at the [`Motor Unit Tracking`](#motor-unit-tracking) section. However, you need to do two more things.

![duplicate_removal](md_graphics/gui/duplicate_removal_window.png)
![duplicate_removal](md_graphics/gui/duplicate_removal_window_v2.png)

1. You should specify How to remove the duplicated MUs in the `Which` dropdown. You can choose between

Expand Down
Loading
Loading