autogaita 0.4.0__tar.gz → 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. {autogaita-0.4.0 → autogaita-1.0.0}/PKG-INFO +2 -1
  2. {autogaita-0.4.0 → autogaita-1.0.0}/README.md +44 -21
  3. autogaita-1.0.0/autogaita/__init__.py +27 -0
  4. {autogaita-0.4.0 → autogaita-1.0.0}/autogaita/__main__.py +2 -2
  5. autogaita-1.0.0/autogaita/batchrun_scripts/dlc_multirun.py +73 -0
  6. autogaita-0.4.0/autogaita/batchrun_scripts/autogaita_dlc_singlerun.py → autogaita-1.0.0/autogaita/batchrun_scripts/dlc_singlerun.py +6 -6
  7. autogaita-0.4.0/autogaita/batchrun_scripts/autogaita_group_dlcrun.py → autogaita-1.0.0/autogaita/batchrun_scripts/group_dlcrun.py +45 -25
  8. autogaita-0.4.0/autogaita/batchrun_scripts/autogaita_group_simirun.py → autogaita-1.0.0/autogaita/batchrun_scripts/group_universal3Drun.py +7 -7
  9. autogaita-1.0.0/autogaita/batchrun_scripts/sleap_singlerun.py +75 -0
  10. autogaita-0.4.0/autogaita/batchrun_scripts/autogaita_simi_multirun.py → autogaita-1.0.0/autogaita/batchrun_scripts/universal3D_multirun.py +6 -7
  11. autogaita-0.4.0/autogaita/batchrun_scripts/autogaita_simi_singlerun.py → autogaita-1.0.0/autogaita/batchrun_scripts/universal3D_singlerun.py +20 -10
  12. autogaita-1.0.0/autogaita/common2D/__init__.py +0 -0
  13. autogaita-1.0.0/autogaita/common2D/common2D_3_analysis.py +421 -0
  14. autogaita-1.0.0/autogaita/common2D/common2D_4_plots.py +929 -0
  15. autogaita-1.0.0/autogaita/common2D/common2D_constants.py +33 -0
  16. autogaita-1.0.0/autogaita/common2D/common2D_utils.py +273 -0
  17. autogaita-1.0.0/autogaita/dlc/__init__.py +0 -0
  18. autogaita-1.0.0/autogaita/dlc/dlc_1_preparation.py +692 -0
  19. autogaita-1.0.0/autogaita/dlc/dlc_2_sc_extraction.py +217 -0
  20. autogaita-1.0.0/autogaita/dlc/dlc_main.py +75 -0
  21. autogaita-1.0.0/autogaita/dlc/dlc_utils.py +28 -0
  22. autogaita-1.0.0/autogaita/group/__init__.py +0 -0
  23. autogaita-1.0.0/autogaita/group/group_1_preparation.py +260 -0
  24. autogaita-1.0.0/autogaita/group/group_2_data_processing.py +597 -0
  25. autogaita-1.0.0/autogaita/group/group_3_PCA.py +462 -0
  26. autogaita-1.0.0/autogaita/group/group_4_stats.py +1201 -0
  27. autogaita-1.0.0/autogaita/group/group_5_plots.py +631 -0
  28. autogaita-1.0.0/autogaita/group/group_constants.py +60 -0
  29. autogaita-1.0.0/autogaita/group/group_main.py +137 -0
  30. autogaita-1.0.0/autogaita/group/group_utils.py +199 -0
  31. autogaita-1.0.0/autogaita/gui/__init__.py +0 -0
  32. autogaita-1.0.0/autogaita/gui/dlc_gui.py +357 -0
  33. {autogaita-0.4.0/autogaita → autogaita-1.0.0/autogaita/gui}/dlc_gui_config.json +7 -7
  34. autogaita-1.0.0/autogaita/gui/first_level_gui_utils.py +304 -0
  35. autogaita-1.0.0/autogaita/gui/gaita_widgets.py +83 -0
  36. autogaita-0.4.0/autogaita/autogaita_group_gui.py → autogaita-1.0.0/autogaita/gui/group_gui.py +175 -260
  37. {autogaita-0.4.0/autogaita → autogaita-1.0.0/autogaita/gui}/group_gui_config.json +10 -6
  38. autogaita-1.0.0/autogaita/gui/gui_constants.py +76 -0
  39. autogaita-1.0.0/autogaita/gui/gui_utils.py +92 -0
  40. autogaita-0.4.0/autogaita/autogaita.py → autogaita-1.0.0/autogaita/gui/main_gui.py +53 -60
  41. autogaita-1.0.0/autogaita/gui/sleap_gui.py +357 -0
  42. autogaita-1.0.0/autogaita/gui/sleap_gui_config.json +68 -0
  43. autogaita-0.4.0/autogaita/autogaita_simi_gui.py → autogaita-1.0.0/autogaita/gui/universal3D_gui.py +455 -505
  44. autogaita-0.4.0/autogaita/simi_gui_config.json → autogaita-1.0.0/autogaita/gui/universal3D_gui_config.json +10 -4
  45. autogaita-1.0.0/autogaita/gui/window_2D_advanced_config.py +300 -0
  46. autogaita-1.0.0/autogaita/gui/window_2D_columninfo.py +470 -0
  47. autogaita-1.0.0/autogaita/gui/window_2D_run_and_done.py +414 -0
  48. autogaita-1.0.0/autogaita/resources/__init__.py +0 -0
  49. autogaita-1.0.0/autogaita/resources/constants.py +8 -0
  50. autogaita-1.0.0/autogaita/resources/pic_to_demo_for_repo.png +0 -0
  51. autogaita-1.0.0/autogaita/resources/utils.py +295 -0
  52. autogaita-1.0.0/autogaita/sleap/__init__.py +0 -0
  53. autogaita-1.0.0/autogaita/sleap/sleap_1_preparation.py +574 -0
  54. autogaita-1.0.0/autogaita/sleap/sleap_2_sc_extraction.py +167 -0
  55. autogaita-1.0.0/autogaita/sleap/sleap_main.py +77 -0
  56. autogaita-1.0.0/autogaita/universal3D/__init__.py +0 -0
  57. autogaita-1.0.0/autogaita/universal3D/universal3D_1_preparation.py +484 -0
  58. autogaita-1.0.0/autogaita/universal3D/universal3D_2_sc_extraction.py +389 -0
  59. autogaita-1.0.0/autogaita/universal3D/universal3D_3_analysis.py +680 -0
  60. autogaita-1.0.0/autogaita/universal3D/universal3D_4_plots.py +1003 -0
  61. autogaita-1.0.0/autogaita/universal3D/universal3D_constants.py +40 -0
  62. autogaita-1.0.0/autogaita/universal3D/universal3D_datafile_preparation.py +216 -0
  63. autogaita-1.0.0/autogaita/universal3D/universal3D_main.py +94 -0
  64. autogaita-1.0.0/autogaita/universal3D/universal3D_utils.py +18 -0
  65. {autogaita-0.4.0 → autogaita-1.0.0}/autogaita.egg-info/PKG-INFO +2 -1
  66. autogaita-1.0.0/autogaita.egg-info/SOURCES.txt +83 -0
  67. {autogaita-0.4.0 → autogaita-1.0.0}/autogaita.egg-info/requires.txt +1 -0
  68. {autogaita-0.4.0 → autogaita-1.0.0}/autogaita.egg-info/top_level.txt +1 -0
  69. {autogaita-0.4.0 → autogaita-1.0.0}/setup.py +4 -3
  70. autogaita-1.0.0/tests/__init__.py +0 -0
  71. autogaita-0.4.0/tests/test_dlc_unit3_main_analysis.py → autogaita-1.0.0/tests/test_common2D_unit_3_main_analysis.py +35 -9
  72. {autogaita-0.4.0 → autogaita-1.0.0}/tests/test_dlc_approval.py +3 -10
  73. autogaita-0.4.0/tests/test_dlc_unit1_preparation.py → autogaita-1.0.0/tests/test_dlc_unit_1_preparation.py +2 -2
  74. autogaita-0.4.0/tests/test_dlc_unit2_sc_extraction.py → autogaita-1.0.0/tests/test_dlc_unit_2_sc_extraction.py +7 -9
  75. {autogaita-0.4.0 → autogaita-1.0.0}/tests/test_group_approval.py +12 -6
  76. autogaita-1.0.0/tests/test_group_unit.py +133 -0
  77. autogaita-0.4.0/tests/test_simi_approval.py → autogaita-1.0.0/tests/test_universal3D_approval.py +8 -6
  78. autogaita-1.0.0/tests/test_universal3D_unit.py +69 -0
  79. autogaita-0.4.0/autogaita/__init__.py +0 -20
  80. autogaita-0.4.0/autogaita/autogaita_dlc.py +0 -2609
  81. autogaita-0.4.0/autogaita/autogaita_dlc_gui.py +0 -1913
  82. autogaita-0.4.0/autogaita/autogaita_group.py +0 -3022
  83. autogaita-0.4.0/autogaita/autogaita_simi.py +0 -2780
  84. autogaita-0.4.0/autogaita/autogaita_utils.py +0 -85
  85. autogaita-0.4.0/autogaita/batchrun_scripts/autogaita_dlc_multirun.py +0 -152
  86. autogaita-0.4.0/autogaita.egg-info/SOURCES.txt +0 -37
  87. {autogaita-0.4.0 → autogaita-1.0.0}/LICENSE +0 -0
  88. {autogaita-0.4.0 → autogaita-1.0.0}/autogaita/batchrun_scripts/__init__.py +0 -0
  89. /autogaita-0.4.0/autogaita/autogaita_icon.icns → /autogaita-1.0.0/autogaita/resources/icon.icns +0 -0
  90. /autogaita-0.4.0/autogaita/autogaita_icon.ico → /autogaita-1.0.0/autogaita/resources/icon.ico +0 -0
  91. /autogaita-0.4.0/autogaita/autogaita_logo.png → /autogaita-1.0.0/autogaita/resources/logo.png +0 -0
  92. {autogaita-0.4.0 → autogaita-1.0.0}/autogaita.egg-info/dependency_links.txt +0 -0
  93. {autogaita-0.4.0 → autogaita-1.0.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: autogaita
3
- Version: 0.4.0
3
+ Version: 1.0.0
4
4
  Summary: Automatic Gait Analysis in Python. A toolbox to streamline and standardise the analysis of kinematics across species after ML-based body posture tracking. Despite being optimised for gait analyses, AutoGaitA has the potential to be used for any kind of kinematic analysis.
5
5
  Home-page: https://github.com/mahan-hosseini/AutoGaitA/
6
6
  Author: Mahan Hosseini
@@ -18,6 +18,7 @@ Requires-Dist: scipy>=1.11
18
18
  Requires-Dist: ffmpeg-python>=0.2
19
19
  Requires-Dist: openpyxl>=3.1
20
20
  Requires-Dist: pillow>=10.3
21
+ Requires-Dist: h5py>=3.11
21
22
  Requires-Dist: pyobjc
22
23
  Provides-Extra: dev
23
24
  Requires-Dist: pytest; extra == "dev"
@@ -1,26 +1,28 @@
1
- ![AutoGaitA](https://github.com/mahan-hosseini/AutoGaitA/blob/main/res/autogaita_logo.png?raw=true)
1
+ ![AutoGaitA](https://github.com/mahan-hosseini/AutoGaitA/blob/main/autogaita/resources/logo.png?raw=true)
2
2
  ![Repository Active](https://www.repostatus.org/badges/latest/active.svg)
3
- [![Test AutoGaitA](https://github.com/mahan-hosseini/AutoGaitA/actions/workflows/auto_test_gaita.yml/badge.svg)](https://github.com/mahan-hosseini/AutoGaitA/actions/workflows/auto_test_gaita.yml)
3
+ [![Test AutoGaitA](https://github.com/mahan-hosseini/AutoGaitA/actions/workflows/autogaita_test_and_black.yml/badge.svg)](https://github.com/mahan-hosseini/AutoGaitA/actions/workflows/autogaita_test_and_black.yml)
4
4
  ![Python](https://img.shields.io/badge/python-v3.10+-blue.svg)
5
5
  [![PyPI - Version](https://img.shields.io/pypi/v/autogaita)](https://pypi.org/project/autogaita/)
6
6
  ![license: GPL v3](https://img.shields.io/badge/license-GPLv3-blue.svg)
7
7
  [![paper: biorxiv](https://img.shields.io/badge/paper-biorxiv-blue)](https://doi.org/10.1101/2024.04.14.589409)
8
8
 
9
9
  ![Black](https://img.shields.io/badge/code%20style-black-000000.svg)
10
+ [![X URL](https://img.shields.io/twitter/url?url=https%3A%2F%2Fx.com%2Fautogaita&style=social&label=updates)](https://x.com/autogaita)
11
+
10
12
  # Automated Gait Analysis in Python 🐸
11
13
 
12
- - AutoGaitA simplifies, accelerates, and standardises gait analyses after body posture tracking with [DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) and [Simi Motion](http://www.simi.com/en/products/movement-analysis/simi-motion-2d3d.html?type=rss%2F).
14
+ - AutoGaitA simplifies, accelerates, and standardises gait analyses after body posture tracking with [DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) or 3D tracking methods such as [Simi Motion](http://www.simi.com/en/products/movement-analysis/simi-motion-2d3d.html?type=rss%2F).
13
15
  - AutoGaitA's first-level tools provide a wide range of automated kinematic analyses for each input video and AutoGaitA Group allows the comparison of up to six groups.
14
16
  - AutoGaitA enables comparisons to be made across experimental conditions, species, disease states or genotypes.
15
17
  - Despite being developed with gait data, AutoGaitA can be utilised for the analysis of any motor behaviour.
16
18
 
17
19
  ## Getting Started
18
20
 
19
- ***Note!** [Our documentation](https://docs.google.com/document/d/1Y4wrrsjs0ybLDKPzE2LAatqPDq9jtwjIuk4M0jRZ3wE/edit?usp=sharing) provides step-by-step walkthroughs of how to install autogaita for **[Windows](https://docs.google.com/document/d/1Y4wrrsjs0ybLDKPzE2LAatqPDq9jtwjIuk4M0jRZ3wE/edit#heading=h.28j6wu2vamre)** and **[Mac](https://docs.google.com/document/d/1Y4wrrsjs0ybLDKPzE2LAatqPDq9jtwjIuk4M0jRZ3wE/edit)***
21
+ ***Note!** [Our documentation](https://docs.google.com/document/d/1iQxSwqBW3VdIXHm-AtV4TGlgpJPDldogVx6qzscsGxA/edit?usp=sharing) provides step-by-step walkthroughs of how to install autogaita for **[Windows](https://docs.google.com/document/d/1iQxSwqBW3VdIXHm-AtV4TGlgpJPDldogVx6qzscsGxA/edit?tab=t.0#heading=h.28j6wu2vamre)** and **[Mac](https://docs.google.com/document/d/1iQxSwqBW3VdIXHm-AtV4TGlgpJPDldogVx6qzscsGxA/edit?tab=t.0#heading=h.ljmdh7hfayyx)***
20
22
 
21
23
  It is strongly recommended that a separate virtual environment for AutoGaitA is created (note that the approach below creates the virtual environment to your current directory):
22
24
 
23
- - Create the virtual environment
25
+ - Create the virtual environment:
24
26
  - `python -m venv env_gaita`
25
27
 
26
28
  - After creation, activate the virtual environment via:
@@ -29,40 +31,55 @@ It is strongly recommended that a separate virtual environment for AutoGaitA is
29
31
 
30
32
  - Once activated, install AutoGaitA in the virtual environment via pip: `pip install autogaita`.
31
33
 
32
- - Access the main user interface via `python -m autogaita`.
34
+ - Access the main user interface via: `python -m autogaita`.
33
35
 
34
36
  - To update to the latest release (see the *Releases* panel on the right for the latest release) activate the virtual environment and: `pip install autogaita -U`.
35
37
 
36
- ## Tutorials and Examples
38
+ ## Demo Video
39
+ *Check out the video below for a demonstration of AutoGaitA's main workflow!*
40
+ <p><a href="https://youtu.be/_HIZVuUzpzk?feature=shared">
41
+ <img src="https://github.com/mahan-hosseini/AutoGaitA/blob/main/autogaita/resources/pic_to_demo_for_repo.png" width="550">
42
+
43
+ ## Tutorials & Examples
37
44
 
38
- ### Video Walkthrough Tutorials
45
+ ### Walkthrough Tutorial Videos
39
46
 
40
- **[The AutoGaitA YouTube Channel](https://youtube.com/playlist?list=PLCn5T7K_H8K56NIcEsfDK664OP7cN_Bad&si=mV5p2--nYvbofkPh) provides tutorials for file preparation and instructions on how to use AutoGaitA**
47
+ **[The AutoGaitA YouTube Channel](https://youtube.com/playlist?list=PLCn5T7K_H8K56NIcEsfDK664OP7cN_Bad&si=mV5p2--nYvbofkPh) provides tutorials for file preparation and instructions on how to use AutoGaitA. This includes in-depth explanations of all details, (main & advanced) configurations, possibilities, and outputs.**
41
48
 
42
- *Please note that tutorial videos might not always reflect the most up-to-date version of our toolbox, especially in the beginning when things are regularly changing. We will make sure to record new videos whenever there are major changes, though.*
49
+ *Please note that tutorial videos might not always reflect the most up-to-date version of our toolbox, especially in the beginning when things are regularly changing. We will make sure to record new videos whenever there are major changes though. Last tutorial-update was with v0.4.0. (August 2024).*
43
50
 
44
51
  ### Example Data
45
- We provide an example dataset in the **example data** folder of this repository, with a set of mice walking over differently wide beams and both the beam as well as body coordinates being tracked with DLC. Note that this dataset was used in our tutorial videos introducing *AutoGaitA_DLC*, *AutoGaitA_Group* and in our video explaining file preparation for *AutoGaitA_DLC*. We further provide a **group** folder there that can be used alongside the *AutoGaitA_Group* tutorial to confirm that users generate the same set of results following our instructions.
52
+ We provide an example dataset in the **example data** folder of this repository, with a set of mice walking over differently wide beams and both the beam as well as body coordinates being tracked with DLC. Note that this dataset was used in our tutorial videos introducing *AutoGaitA DLC*, *AutoGaitA Group* and in our video explaining file preparation for *AutoGaitA DLC*. We further provide a **group** folder there that can be used alongside the *AutoGaitA Group* tutorial to confirm that users generate the same set of results following our instructions.
46
53
 
47
54
  ### Annotation Table Examples and Templates
48
- Annotation Table example and template files for *AutoGaitA_DLC* and *AutoGaitA_Simi* can be found in the [**annotation tables**](https://github.com/mahan-hosseini/AutoGaitA/tree/main/annotation%20tables) folder of this repository.
55
+ Annotation Table example and template files for *AutoGaitA DLC* and *AutoGaitA Universal 3D* can be found in the [**annotation tables**](https://github.com/mahan-hosseini/AutoGaitA/tree/main/annotation%20tables) folder of this repository.
49
56
 
50
- Users are advised to read the ***important note*** of that folder, use the template to enter their data's timestamp information and to then compare the resulting table with our example to check formatting. Users working with ImageJ/FIJI are encouraged to check out the [AnnotationTable-Plugin](https://github.com/luca-flemming/AnnotationTable-Plugin) developed by our contributor Luca Flemming.
57
+ Users are advised to read the **General Recommendations** section of that folder, use the template to enter their data's timestamp information and to then compare the resulting table with our example to check formatting. Users working with ImageJ/FIJI are encouraged to check out the [AnnotationTable-Plugin](https://github.com/luca-flemming/AnnotationTable-Plugin) developed by our contributor Luca Flemming.
51
58
 
52
59
  ## Documentation
53
60
 
54
- **[The AutoGaitA Documentation](https://docs.google.com/document/d/1Y4wrrsjs0ybLDKPzE2LAatqPDq9jtwjIuk4M0jRZ3wE/edit?usp=sharing) provides complete guidelines on installation, file preparation, AutoGaitA GUIs, using AutoGaitA via the command line, installing FFmpeg for rotating 3D PCA videos, lists known issues and FAQ.**
61
+ **[The AutoGaitA Documentation](https://docs.google.com/document/d/1iQxSwqBW3VdIXHm-AtV4TGlgpJPDldogVx6qzscsGxA/edit?usp=sharing) provides complete guidelines on installation, file preparation, AutoGaitA GUIs, using AutoGaitA via the command line, installing FFmpeg for rotating 3D PCA videos, lists known issues and FAQ.**
55
62
 
56
- ## Please Note: Custom Joints and Angles!
57
- **We strongly recommend** users to pay attention to the *custom joints and angles* windows of AutoGaitA's first level toolboxes. Please see the relevant links below. These windows allow users to customise which columns of their data should be analysed and how angles should be computed.
63
+ ## Two important options
58
64
 
59
- By default, *AutoGaitA DLC* and *AutoGaitA Simi* implement standard values for mouse and human locomotion, respectively. If your analysis deviates from these standards (e.g. by focussing on another limb or a different species) **you must change these values!** You can find the window in the *advanced configuration* sections and once values are customised they remain for subsequent executions of AutoGaitA (i.e., until the program is closed).
65
+ ### Custom joints & angles
66
+ **We strongly advise** users to pay attention to the *custom joints and angles* windows of AutoGaitA's first level toolboxes. Please see the relevant links below. These windows allow users to customise which columns of their data should be analysed and how angles should be computed.
67
+
68
+ By default, *AutoGaitA DLC* and *AutoGaitA Universal 3D* implement standard values for mouse and human locomotion, respectively. If your analysis deviates from these standards (e.g. by focussing on another behaviour or a different species) **you must change these values!**
60
69
 
61
70
  **Find out more about *AutoGaitA's custom joints and angles:***
62
- - [YouTube - AutoGaitA DLC Advanced Configuration](https://youtu.be/YABoQMOqChk?feature=shared)
63
- - [YouTube - AutoGaitA Simi](https://youtu.be/fJhnjrJbA5c?feature=shared)
64
- - [Documentation - AutoGaitA DLC](https://docs.google.com/document/d/1Y4wrrsjs0ybLDKPzE2LAatqPDq9jtwjIuk4M0jRZ3wE/edit#heading=h.20bg7b7ymt0b)
65
- - [Documentation - AutoGaitA Simi](https://docs.google.com/document/d/1Y4wrrsjs0ybLDKPzE2LAatqPDq9jtwjIuk4M0jRZ3wE/edit#heading=h.uz61bpmua7qz)
71
+ - [YouTube - AutoGaitA DLC Advanced Configuration](https://youtu.be/MP9g9kXRE_Q?feature=shared)
72
+ - [YouTube - AutoGaitA Universal 3D (prev. called Simi)](https://youtu.be/rTG-Fc9XI9g?feature=shared)
73
+ - [Documentation - AutoGaitA DLC](https://docs.google.com/document/d/1iQxSwqBW3VdIXHm-AtV4TGlgpJPDldogVx6qzscsGxA/edit?tab=t.0#heading=h.20bg7b7ymt0b)
74
+ - [Documentation - AutoGaitA Universal 3D](https://docs.google.com/document/d/1iQxSwqBW3VdIXHm-AtV4TGlgpJPDldogVx6qzscsGxA/edit?tab=t.0#heading=h.uz61bpmua7qz)
75
+
76
+ ### Bin number of step cycle normalisation
77
+ An important step in AutoGaitA is normalising step cycles (or instances of other behaviours) to a uniform length before calculating the video-level average. This uniform length is called *bin number*, must be set by users and defaults to a value of 25.
78
+
79
+ Step cycles are normalised via averaging temporally adjacent data points if their original length was larger than the bin number and repeating values if they were shorter originally. Examples are provided here:
80
+ - [Documentation/AutoGaitA DLC/Main Configuration/Option #6](https://docs.google.com/document/d/1iQxSwqBW3VdIXHm-AtV4TGlgpJPDldogVx6qzscsGxA/edit?tab=t.0#heading=h.bboivsfqr2lz).
81
+
82
+ **We strongly advise** users to think carefully about an appropriate bin number for their datasets. The correct value varies and depends strongly on the studied species, behaviour and the frame rate of cameras.
66
83
 
67
84
  ## Analysing other behaviours - AutoCyclA 🚴
68
85
  Even though AutoGaitA's main focus is to automate and standardise gait analyses, our toolbox can be used to automate the analyses of any rhythmic behaviour of interest. For a proof-of-principle demonstration and an introduction of the general workflow of such analyses, see **[AutoCyclA - Automated Cycling Analysis with AutoGaitA.](https://github.com/mahan-hosseini/AutoGaitA/tree/main/autocycla)**
@@ -94,3 +111,9 @@ The AutoGaitA software is provided without warranty of any kind, express or impl
94
111
  If you would like to contribute to the AutoGaitA toolbox, feel free to open a pull request or contact us at autogaita@fz-juelich.de!
95
112
 
96
113
  We are looking forward to your input and ideas 😊
114
+
115
+ ## Archive
116
+ We have archived the resources of outdated AutoGaitA versions here:
117
+
118
+ - v0.4.1 - [Documentation](https://docs.google.com/document/d/1Y4wrrsjs0ybLDKPzE2LAatqPDq9jtwjIuk4M0jRZ3wE/edit?usp=sharing)
119
+ - v0.3.1 - [YouTube Tutorials](https://youtube.com/playlist?list=PLCn5T7K_H8K776DLuXKoPsUpI6Yb0NU33&si=7ZAAvcrPxR7WsB8a) & [Documentation](https://docs.google.com/document/d/11mJd7jUHk7joQ0BdZT98CJRrIANdyosMQMJGFtp6yR4/edit?usp=sharing)
@@ -0,0 +1,27 @@
1
+ # main gui
2
+ from .gui.main_gui import run_gui # autogaita.run_gui()
3
+
4
+ # 3 sub-guis
5
+ from .gui.dlc_gui import run_dlc_gui # autogaita.run_dlc_gui()
6
+ from .gui.sleap_gui import run_sleap_gui # autogaita.run_sleap_gui()
7
+ from .gui.universal3D_gui import (
8
+ run_universal3D_gui,
9
+ ) # autogaita.run_universal3D_gui()
10
+ from .gui.group_gui import run_group_gui # autogaita.run_group_gui()
11
+
12
+ # 4 main functions
13
+ from .dlc.dlc_main import dlc # autogaita.dlc(info, folderinfo, cfg)
14
+ from .sleap.sleap_main import sleap # autogaita.sleap(info, folderinfo, cfg)
15
+ from .universal3D.universal3D_main import (
16
+ universal3D,
17
+ ) # autogaita.universal3D(info, folderinfo, cfg)
18
+ from .group.group_main import group # autogaita.group(folderinfo, cfg)
19
+
20
+ # 6 batchrun functions - call via e.g. autogaita.dlc_singlerun()
21
+ from .batchrun_scripts.dlc_singlerun import dlc_singlerun
22
+ from .batchrun_scripts.dlc_multirun import dlc_multirun
23
+ from .batchrun_scripts.sleap_singlerun import sleap_singlerun
24
+ from .batchrun_scripts.universal3D_multirun import universal3D_multirun
25
+ from .batchrun_scripts.universal3D_singlerun import universal3D_singlerun
26
+ from .batchrun_scripts.group_dlcrun import group_dlcrun
27
+ from .batchrun_scripts.group_universal3Drun import group_universal3Drun
@@ -1,6 +1,6 @@
1
1
  # This script makes it so you can run "python -m autogaita" and get the main gui
2
2
 
3
- from .autogaita import gui
3
+ from .gui.main_gui import run_gui
4
4
 
5
5
  if __name__ == "__main__":
6
- gui()
6
+ run_gui()
@@ -0,0 +1,73 @@
1
+ from autogaita.common2D.common2D_utils import extract_info, run_singlerun_in_multirun
2
+ import os
3
+
4
+ # %% main function
5
+
6
+
7
+ def dlc_multirun():
8
+ """
9
+ Batchrun script to run AutoGaitA DLC for a folder of datasets.
10
+ folderinfo & cfg dictionaries must be configured as explained in our documentation. See the "AutoGaitA without the GUI" section of our documentation for references to in-depth explanations to all dictionary keys (note that each key of dicts corresponds to some object in the AutoGaitA DLC GUI)
11
+ """
12
+ # folderinfo
13
+ folderinfo = {}
14
+ folderinfo["root_dir"] = "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Testing/"
15
+ folderinfo["sctable_filename"] = "25mm.xlsx"
16
+ folderinfo["data_string"] = "SIMINewOct"
17
+ folderinfo["beam_string"] = "BeamTraining"
18
+ folderinfo["premouse_string"] = "Mouse"
19
+ folderinfo["postmouse_string"] = "25mm"
20
+ folderinfo["prerun_string"] = "run"
21
+ folderinfo["postrun_string"] = "6DLC"
22
+ # cfg
23
+ cfg = {}
24
+ cfg["sampling_rate"] = 100 # base cfg
25
+ cfg["subtract_beam"] = True
26
+ cfg["dont_show_plots"] = False
27
+ cfg["convert_to_mm"] = True
28
+ cfg["pixel_to_mm_ratio"] = 3.76
29
+ cfg["x_sc_broken_threshold"] = 200 # optional cfg
30
+ cfg["y_sc_broken_threshold"] = 50
31
+ cfg["x_acceleration"] = True
32
+ cfg["angular_acceleration"] = True
33
+ cfg["save_to_xls"] = True
34
+ cfg["bin_num"] = 25
35
+ cfg["plot_SE"] = True
36
+ cfg["standardise_y_at_SC_level"] = True
37
+ cfg["standardise_y_to_a_joint"] = True
38
+ cfg["y_standardisation_joint"] = ["Hind paw tao"]
39
+ cfg["plot_joint_number"] = 3
40
+ cfg["color_palette"] = "viridis"
41
+ cfg["legend_outside"] = True
42
+ cfg["invert_y_axis"] = True
43
+ cfg["flip_gait_direction"] = True
44
+ cfg["analyse_average_x"] = True
45
+ cfg["standardise_x_coordinates"] = True
46
+ cfg["x_standardisation_joint"] = ["Hind paw tao"]
47
+ cfg["results_dir"] = ""
48
+ cfg["hind_joints"] = ["Hind paw tao", "Ankle", "Knee", "Hip", "Iliac Crest"]
49
+ cfg["fore_joints"] = [
50
+ "Front paw tao ",
51
+ "Wrist ",
52
+ "Elbow ",
53
+ "Lower Shoulder ",
54
+ "Upper Shoulder ",
55
+ ]
56
+ cfg["beam_col_left"] = ["BeamLeft"] # list of len == 1
57
+ cfg["beam_col_right"] = ["BeamRight"]
58
+ cfg["beam_hind_jointadd"] = ["Tail base ", "Tail center ", "Tail tip "]
59
+ cfg["beam_fore_jointadd"] = ["Nose ", "Ear base "]
60
+ cfg["angles"] = {
61
+ "name": ["Ankle ", "Knee ", "Hip "],
62
+ "lower_joint": ["Hind paw tao ", "Ankle ", "Knee "],
63
+ "upper_joint": ["Knee ", "Hip ", "Iliac Crest "],
64
+ }
65
+ # run a single gaita run for each entry of info
66
+ info = extract_info(folderinfo)
67
+ for idx in range(len(info["name"])):
68
+ run_singlerun_in_multirun("DLC", idx, info, folderinfo, cfg)
69
+
70
+
71
+ # %% what happens if we just hit run
72
+ if __name__ == "__main__":
73
+ dlc_multirun()
@@ -1,4 +1,4 @@
1
- from autogaita import autogaita_utils
1
+ from autogaita.resources.utils import try_to_run_gaita
2
2
  import os
3
3
 
4
4
 
@@ -33,11 +33,11 @@ def dlc_singlerun():
33
33
  cfg["save_to_xls"] = True
34
34
  cfg["bin_num"] = 25
35
35
  cfg["plot_SE"] = True
36
- cfg["standardise_y_at_SC_level"] = True
36
+ cfg["standardise_y_at_SC_level"] = False
37
37
  cfg["standardise_y_to_a_joint"] = True
38
38
  cfg["y_standardisation_joint"] = ["Hind paw tao"]
39
- cfg["plot_joint_number"] = 3
40
- cfg["color_palette"] = "viridis"
39
+ cfg["plot_joint_number"] = 5
40
+ cfg["color_palette"] = "Set2"
41
41
  cfg["legend_outside"] = True
42
42
  cfg["invert_y_axis"] = True
43
43
  cfg["flip_gait_direction"] = True
@@ -63,7 +63,7 @@ def dlc_singlerun():
63
63
  }
64
64
  # info
65
65
  info = {}
66
- info["mouse_num"] = 12
66
+ info["mouse_num"] = 17
67
67
  info["run_num"] = 3
68
68
  info["name"] = "ID " + str(info["mouse_num"]) + " - Run " + str(info["run_num"])
69
69
  if folderinfo["results_dir"]:
@@ -73,7 +73,7 @@ def dlc_singlerun():
73
73
  folderinfo["root_dir"], "Results", info["name"]
74
74
  )
75
75
  # run
76
- autogaita_utils.try_to_run_gaita("DLC", info, folderinfo, cfg, False)
76
+ try_to_run_gaita("DLC", info, folderinfo, cfg, False)
77
77
 
78
78
 
79
79
  # %% what happens if we just hit run
@@ -1,4 +1,4 @@
1
- from autogaita import autogaita_group
1
+ import autogaita
2
2
 
3
3
 
4
4
  def group_dlcrun():
@@ -12,15 +12,15 @@ def group_dlcrun():
12
12
  folderinfo = {}
13
13
  folderinfo["group_names"] = [
14
14
  # RM Dataset
15
- # "5mm",
16
- # "12mm",
17
- # "25mm",
15
+ "5mm",
16
+ "12mm",
17
+ "25mm",
18
18
  # Interaction Issue Dataset
19
19
  # "Control",
20
20
  # "Silenced",
21
21
  # Testing Dataset
22
- "one",
23
- "two",
22
+ # "one",
23
+ # "two",
24
24
  ]
25
25
  folderinfo["group_dirs"] = [
26
26
  # --------------------------
@@ -33,54 +33,74 @@ def group_dlcrun():
33
33
  # "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Sanity Test Interaction Graziana/Result 10 joints/Silenced/",
34
34
  # --------------------------
35
35
  # Testing Dataset
36
- "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Testing/Group 1/",
37
- "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Testing/Group 2/",
36
+ # "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Testing/Group 1/",
37
+ # "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Testing/Group 2/",
38
38
  # --------------------------
39
39
  # RM Dataset (example data in repo)
40
- # "/Users/mahan/sciebo/PythonCode/autogaita_repository/example data/5mm/Results/",
41
- # "/Users/mahan/sciebo/PythonCode/autogaita_repository/example data/12mm/Results/",
42
- # "/Users/mahan/sciebo/PythonCode/autogaita_repository/example data/25mm/Results/",
40
+ "/Users/mahan/sciebo/PythonCode/gaita_repo/example data/5mm/Results/",
41
+ "/Users/mahan/sciebo/PythonCode/gaita_repo/example data/12mm/Results/",
42
+ "/Users/mahan/sciebo/PythonCode/gaita_repo/example data/25mm/Results/",
43
43
  ]
44
44
  folderinfo["results_dir"] = (
45
- # " /Users/mahan/sciebo/Research/AutoGaitA/Mouse/example_data_results/"
45
+ "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/example_data_results/"
46
46
  # "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Sanity Test Interaction Graziana/Result 10 joints/Mahan Results/"
47
- "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Testing/GroupResults/"
47
+ # "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Testing/GroupResults/"
48
48
  )
49
49
  # cfg
50
50
  cfg = {}
51
- cfg["do_permtest"] = True
51
+ cfg["do_permtest"] = False # True
52
52
  cfg["do_anova"] = True
53
53
  cfg["permutation_number"] = 100
54
- cfg["number_of_PCs"] = 3
55
- cfg["save_3D_PCA_video"] = False
54
+ cfg["PCA_n_components"] = 6
55
+ # cfg["PCA_n_components"] = 0.33
56
+ # cfg["PCA_custom_scatter_PCs"] = "4,5,6;4,5;2,4,6"
57
+ cfg["PCA_custom_scatter_PCs"] = ""
58
+ cfg["PCA_save_3D_video"] = False # True
59
+ cfg["PCA_bins"] = "" # "0-10,24,50-75"
56
60
  cfg["stats_threshold"] = 0.05
57
61
  cfg["plot_SE"] = False
58
62
  cfg["color_palette"] = "viridis"
59
63
  cfg["dont_show_plots"] = True
60
64
  cfg["legend_outside"] = True
61
65
  cfg["which_leg"] = "left"
62
- cfg["anova_design"] = "Mixed ANOVA"
66
+ cfg["anova_design"] = "RM ANOVA"
67
+ # cfg["anova_design"] = "Mixed ANOVA"
63
68
  cfg["permutation_number"] = 100
64
- cfg["PCA_variables"] = [] # ["Hind paw tao y", "Ankle y", "Knee y"]
65
- cfg["stats_variables"] = [
69
+ cfg["PCA_variables"] = [
66
70
  # "Hind paw tao y",
67
71
  # "Ankle y",
68
72
  # "Knee y",
69
73
  # "Ankle Angle",
70
74
  # "Knee Angle",
71
75
  # "Nose x",
76
+ # "Knee y",
77
+ # "Knee x",
78
+ # "Knee Velocity",
79
+ # "Knee Acceleration",
80
+ # "Knee Angle",
81
+ # "Knee Angle Velocity",
82
+ # "Knee Angle Acceleration",
83
+ # "Hip Angle",
84
+ ]
85
+ cfg["stats_variables"] = [
86
+ "Hind paw tao y",
87
+ # "Ankle y",
72
88
  "Knee y",
73
- "Knee x",
74
- "Knee Velocity",
75
- "Knee Acceleration",
89
+ # "Ankle Angle",
76
90
  "Knee Angle",
77
- "Knee Angle Velocity",
78
- "Knee Angle Acceleration",
91
+ # "Nose x",
92
+ # "Knee y",
93
+ "Knee x",
94
+ # "Knee Velocity",
95
+ # "Knee Acceleration",
96
+ # "Knee Angle",
97
+ # "Knee Angle Velocity",
98
+ # "Knee Angle Acceleration",
79
99
  # "Hip Angle",
80
100
  # "Elbow Angle"
81
101
  ]
82
102
  # run
83
- autogaita_group.group(folderinfo, cfg)
103
+ autogaita.group(folderinfo, cfg)
84
104
 
85
105
 
86
106
  # %% what happens if we just hit run
@@ -1,9 +1,9 @@
1
- from autogaita import autogaita_group
1
+ import autogaita
2
2
 
3
3
 
4
- def group_simirun():
4
+ def group_universal3Drun():
5
5
  """
6
- Batchrun script to run AutoGaitA Group for Results obtained with AutoGaitA Simi.
6
+ Batchrun script to run AutoGaitA Group for Results obtained with AutoGaitA Universal 3D.
7
7
  folderinfo & cfg dictionaries must be configured as explained in our documentation. See the "AutoGaitA without the GUI" section of our documentation for references to in-depth explanations to all dictionary keys (note that each key of dicts corresponds to some object in the AutoGaitA Group GUI)
8
8
  """
9
9
  # loop over legs - currently no option to do both legs in a single run
@@ -27,8 +27,8 @@ def group_simirun():
27
27
  cfg["do_permtest"] = True
28
28
  cfg["do_anova"] = True
29
29
  cfg["permutation_number"] = 10
30
- cfg["number_of_PCs"] = 3
31
- cfg["save_3D_PCA_video"] = False
30
+ cfg["PCA_n_components"] = 3
31
+ cfg["PCA_save_3D_video"] = False
32
32
  cfg["stats_threshold"] = 0.05
33
33
  cfg["plot_SE"] = False
34
34
  cfg["color_palette"] = "viridis"
@@ -59,9 +59,9 @@ def group_simirun():
59
59
  # "Elbow, " + cfg["which_leg"] + " Angle",
60
60
  ]
61
61
  # run
62
- autogaita_group.group(folderinfo, cfg)
62
+ autogaita.group(folderinfo, cfg)
63
63
 
64
64
 
65
65
  # %% what happens if we just hit run
66
66
  if __name__ == "__main__":
67
- group_simirun()
67
+ group_universal3Drun()
@@ -0,0 +1,75 @@
1
+ from autogaita.resources.utils import try_to_run_gaita
2
+ import os
3
+
4
+
5
+ # main function
6
+ def sleap_singlerun():
7
+ """
8
+ Batchrun script to run AutoGaitA SLEAP for a single dataset.
9
+ folderinfo & cfg dictionaries must be configured as explained in our documentation. (note that each value of these corresponds to some object in the AutoGaitA Simi GUI)
10
+ """
11
+ # folderinfo
12
+ folderinfo = {}
13
+ folderinfo["root_dir"] = (
14
+ "/Users/mahan/sciebo/Research/AutoGaitA/SLEAP/SLEAPs Drosophila/"
15
+ )
16
+ folderinfo["results_dir"] = ""
17
+ folderinfo["sctable_filename"] = "Annotation Table"
18
+ folderinfo["data_string"] = ""
19
+ folderinfo["beam_string"] = ""
20
+
21
+ # cfg
22
+ cfg = {}
23
+ # 25 Hz sampling rate for SLEAP's example fly dataset (3000 frames @ 2 minutes)
24
+ # https://github.com/talmolab/sleap/tree/main/docs/notebooks/analysis_example
25
+ cfg["sampling_rate"] = 25
26
+ cfg["subtract_beam"] = False
27
+ cfg["dont_show_plots"] = True
28
+ cfg["convert_to_mm"] = False
29
+ cfg["pixel_to_mm_ratio"] = 1
30
+ cfg["x_sc_broken_threshold"] = 200 # optional cfg
31
+ cfg["y_sc_broken_threshold"] = 50
32
+ cfg["x_acceleration"] = True
33
+ cfg["angular_acceleration"] = True
34
+ cfg["save_to_xls"] = True
35
+ cfg["bin_num"] = 25
36
+ cfg["plot_SE"] = True
37
+ cfg["standardise_y_at_SC_level"] = False
38
+ cfg["standardise_y_to_a_joint"] = True
39
+ cfg["y_standardisation_joint"] = ["head"]
40
+ cfg["plot_joint_number"] = 3
41
+ cfg["color_palette"] = "viridis"
42
+ cfg["legend_outside"] = True
43
+ # cfg["invert_y_axis"] = False
44
+ cfg["flip_gait_direction"] = False
45
+ cfg["analyse_average_x"] = False
46
+ cfg["standardise_x_coordinates"] = False
47
+ cfg["x_standardisation_joint"] = ["head"]
48
+ cfg["hind_joints"] = ["head", "thorax", "wingL", "wingR"]
49
+ cfg["fore_joints"] = []
50
+ cfg["beam_col_left"] = [] # list of len == 1
51
+ cfg["beam_col_right"] = []
52
+ cfg["beam_hind_jointadd"] = []
53
+ cfg["beam_fore_jointadd"] = []
54
+ cfg["angles"] = {
55
+ "name": ["thorax"],
56
+ "lower_joint": ["hindlegL4"],
57
+ "upper_joint": ["midlegL4"],
58
+ }
59
+
60
+ # info
61
+ info = {}
62
+ info["name"] = "1" # analyse this dataset
63
+ if folderinfo["results_dir"]:
64
+ info["results_dir"] = os.path.join(folderinfo["results_dir"], info["name"])
65
+ else:
66
+ info["results_dir"] = os.path.join(
67
+ folderinfo["root_dir"], "Results", info["name"]
68
+ )
69
+ # run
70
+ try_to_run_gaita("SLEAP", info, folderinfo, cfg, False)
71
+
72
+
73
+ # %% what happens if we just hit run
74
+ if __name__ == "__main__":
75
+ sleap_singlerun()
@@ -1,15 +1,14 @@
1
- from autogaita import autogaita_utils
1
+ from autogaita.resources.utils import try_to_run_gaita
2
2
  import os
3
- import pdb
4
3
 
5
4
 
6
5
  # %% main function
7
6
 
8
7
 
9
- def simi_multirun():
8
+ def universal3D_multirun():
10
9
  """
11
- Batchrun script to run AutoGaitA Simi for a folder of datasets.
12
- folderinfo & cfg dictionaries must be configured as explained in our documentation. See the "AutoGaitA without the GUI" section of our documentation for references to in-depth explanations to all dictionary keys (note that each key of dicts corresponds to some object in the AutoGaitA Simi GUI)
10
+ Batchrun script to run AutoGaitA Universal 3D for a folder of datasets.
11
+ folderinfo & cfg dictionaries must be configured as explained in our documentation. See the "AutoGaitA without the GUI" section of our documentation for references to in-depth explanations to all dictionary keys (note that each key of dicts corresponds to some object in the AutoGaitA Universal 3D GUI)
13
12
  """
14
13
  # folderinfo
15
14
  folderinfo = {}
@@ -53,7 +52,7 @@ def run_singlerun(idx, info, folderinfo, cfg):
53
52
  for keyname in keynames:
54
53
  this_info[keyname] = info[keyname][idx]
55
54
  # important to only pass this_info to main script here (1 run at a time!)
56
- autogaita_utils.try_to_run_gaita("Simi", this_info, folderinfo, cfg, True)
55
+ try_to_run_gaita("Universal 3D", this_info, folderinfo, cfg, True)
57
56
 
58
57
 
59
58
  def extract_info(folderinfo):
@@ -94,4 +93,4 @@ def extract_info(folderinfo):
94
93
 
95
94
  # %% what happens if we just hit run
96
95
  if __name__ == "__main__":
97
- simi_multirun()
96
+ universal3D_multirun()
@@ -1,16 +1,17 @@
1
- from autogaita import autogaita_utils
1
+ from autogaita.resources.utils import try_to_run_gaita
2
2
  import os
3
3
 
4
4
 
5
5
  # main function
6
- def simi_singlerun():
6
+ def universal3D_singlerun():
7
7
  """
8
- Batchrun script to run AutoGaitA Simi for a single dataset.
9
- folderinfo & cfg dictionaries must be configured as explained in our documentation. (note that each value of these corresponds to some object in the AutoGaitA Simi GUI)
8
+ Batchrun script to run AutoGaitA Universal 3D for a single dataset.
9
+ folderinfo & cfg dictionaries must be configured as explained in our documentation. (note that each value of these corresponds to some object in the AutoGaitA Universal 3D GUI)
10
10
  """
11
11
  # folderinfo
12
12
  folderinfo = {}
13
13
  folderinfo["root_dir"] = "/Users/mahan/sciebo/Research/AutoGaitA/Human/Testing2/"
14
+ # folderinfo["root_dir"] = "/Users/mahan/sciebo/Research/AutoGaitA/Fly/3D Data/"
14
15
  folderinfo["results_dir"] = ""
15
16
  folderinfo["sctable_filename"] = "SC Latency Table"
16
17
  folderinfo["postname_string"] = ""
@@ -23,11 +24,20 @@ def simi_singlerun():
23
24
  cfg["bin_num"] = 25
24
25
  cfg["plot_SE"] = True
25
26
  cfg["normalise_height_at_SC_level"] = True
26
- cfg["plot_joint_number"] = 7
27
- cfg["color_palette"] = "viridis"
27
+ cfg["plot_joint_number"] = 5
28
+ cfg["color_palette"] = "Set2"
28
29
  cfg["legend_outside"] = True
29
30
  cfg["analyse_average_y"] = False
30
- cfg["joints"] = ["Midfoot", "Ankle", "Knee", "Hip", "Pelvis", "Shoulder", "Neck"]
31
+ cfg["joints"] = [
32
+ # "R1-ThCx",
33
+ "Midfoot",
34
+ "Ankle",
35
+ "Knee",
36
+ "Hip",
37
+ "Pelvis",
38
+ "Shoulder",
39
+ "Neck",
40
+ ]
31
41
  cfg["angles"] = {
32
42
  "name": ["Ankle", "Knee"],
33
43
  "lower_joint": ["Midfoot", "Ankle"],
@@ -35,7 +45,7 @@ def simi_singlerun():
35
45
  }
36
46
  # info
37
47
  info = {}
38
- info["name"] = "SK" # analyse this dataset
48
+ info["name"] = "SK" # "A1" # # analyse this dataset
39
49
  if folderinfo["results_dir"]:
40
50
  info["results_dir"] = os.path.join(folderinfo["results_dir"], info["name"])
41
51
  else:
@@ -43,9 +53,9 @@ def simi_singlerun():
43
53
  folderinfo["root_dir"], "Results", info["name"]
44
54
  )
45
55
  # run
46
- autogaita_utils.try_to_run_gaita("Simi", info, folderinfo, cfg, False)
56
+ try_to_run_gaita("Universal 3D", info, folderinfo, cfg, False)
47
57
 
48
58
 
49
59
  # %% what happens if we just hit run
50
60
  if __name__ == "__main__":
51
- simi_singlerun()
61
+ universal3D_singlerun()
File without changes