autogaita 1.0.3__tar.gz → 1.0.4__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.
- {autogaita-1.0.3 → autogaita-1.0.4}/PKG-INFO +1 -1
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/batchrun_scripts/group_dlcrun.py +95 -95
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/group/group_4_stats.py +15 -2
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/group/group_main.py +14 -11
- autogaita-1.0.4/autogaita/gui/group_gui_config.json +41 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita.egg-info/PKG-INFO +1 -1
- {autogaita-1.0.3 → autogaita-1.0.4}/setup.py +1 -1
- autogaita-1.0.3/autogaita/gui/group_gui_config.json +0 -114
- {autogaita-1.0.3 → autogaita-1.0.4}/LICENSE +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/README.md +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/__init__.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/__main__.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/batchrun_scripts/__init__.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/batchrun_scripts/dlc_multirun.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/batchrun_scripts/dlc_singlerun.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/batchrun_scripts/group_universal3Drun.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/batchrun_scripts/sleap_singlerun.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/batchrun_scripts/universal3D_multirun.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/batchrun_scripts/universal3D_singlerun.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/common2D/__init__.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/common2D/common2D_3_analysis.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/common2D/common2D_4_plots.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/common2D/common2D_constants.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/common2D/common2D_utils.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/dlc/__init__.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/dlc/dlc_1_preparation.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/dlc/dlc_2_sc_extraction.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/dlc/dlc_main.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/dlc/dlc_utils.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/group/__init__.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/group/group_1_preparation.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/group/group_2_data_processing.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/group/group_3_PCA.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/group/group_5_plots.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/group/group_constants.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/group/group_utils.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/__init__.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/dlc_gui.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/dlc_gui_config.json +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/first_level_gui_utils.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/gaita_widgets.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/group_gui.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/gui_constants.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/gui_utils.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/main_gui.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/sleap_gui.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/sleap_gui_config.json +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/universal3D_gui.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/universal3D_gui_config.json +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/window_2D_advanced_config.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/window_2D_columninfo.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/gui/window_2D_run_and_done.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/resources/__init__.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/resources/constants.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/resources/icon.icns +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/resources/icon.ico +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/resources/logo.png +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/resources/pic_to_demo_for_repo.png +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/resources/utils.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/sleap/__init__.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/sleap/sleap_1_preparation.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/sleap/sleap_2_sc_extraction.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/sleap/sleap_main.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/universal3D/__init__.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/universal3D/universal3D_1_preparation.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/universal3D/universal3D_2_sc_extraction.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/universal3D/universal3D_3_analysis.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/universal3D/universal3D_4_plots.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/universal3D/universal3D_constants.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/universal3D/universal3D_datafile_preparation.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/universal3D/universal3D_main.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita/universal3D/universal3D_utils.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita.egg-info/SOURCES.txt +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita.egg-info/dependency_links.txt +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita.egg-info/requires.txt +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/autogaita.egg-info/top_level.txt +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/setup.cfg +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/tests/__init__.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/tests/test_common2D_unit_3_main_analysis.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/tests/test_dlc_approval.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/tests/test_dlc_unit_1_preparation.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/tests/test_dlc_unit_2_sc_extraction.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/tests/test_group_approval.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/tests/test_group_unit.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/tests/test_universal3D_approval.py +0 -0
- {autogaita-1.0.3 → autogaita-1.0.4}/tests/test_universal3D_unit.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: autogaita
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.4
|
|
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
|
|
@@ -13,9 +13,9 @@ def group_dlcrun():
|
|
|
13
13
|
folderinfo["group_names"] = [
|
|
14
14
|
# ----------
|
|
15
15
|
# RM Dataset
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
"5mm",
|
|
17
|
+
"12mm",
|
|
18
|
+
"25mm",
|
|
19
19
|
# -------
|
|
20
20
|
# Interaction Issue Dataset
|
|
21
21
|
# "Control",
|
|
@@ -26,12 +26,12 @@ def group_dlcrun():
|
|
|
26
26
|
# "two",
|
|
27
27
|
# --------
|
|
28
28
|
# Beam x Age for Manuscript
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
29
|
+
# "3m_5mm",
|
|
30
|
+
# "3m_12mm",
|
|
31
|
+
# "3m_25mm",
|
|
32
|
+
# "24m_5mm",
|
|
33
|
+
# "24m_12mm",
|
|
34
|
+
# "24m_25mm",
|
|
35
35
|
]
|
|
36
36
|
folderinfo["group_dirs"] = [
|
|
37
37
|
# --------------------------
|
|
@@ -48,23 +48,23 @@ def group_dlcrun():
|
|
|
48
48
|
# "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Testing/Group 2/",
|
|
49
49
|
# --------------------------
|
|
50
50
|
# RM Dataset (example data in repo)
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
"/Users/mahan/sciebo/PythonCode/gaita_repo/example data/5mm/Results/",
|
|
52
|
+
"/Users/mahan/sciebo/PythonCode/gaita_repo/example data/12mm/Results/",
|
|
53
|
+
"/Users/mahan/sciebo/PythonCode/gaita_repo/example data/25mm/Results/",
|
|
54
54
|
# --------------------------
|
|
55
55
|
# Beam x Age for Manuscript
|
|
56
|
-
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/5mm/9w",
|
|
57
|
-
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/12mm/9w",
|
|
58
|
-
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/25mm/9w",
|
|
59
|
-
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/5mm/104w",
|
|
60
|
-
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/12mm/104w",
|
|
61
|
-
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/25mm/104w"
|
|
56
|
+
# "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/5mm/9w",
|
|
57
|
+
# "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/12mm/9w",
|
|
58
|
+
# "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/25mm/9w",
|
|
59
|
+
# "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/5mm/104w",
|
|
60
|
+
# "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/12mm/104w",
|
|
61
|
+
# "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/25mm/104w"
|
|
62
62
|
]
|
|
63
63
|
folderinfo["results_dir"] = (
|
|
64
64
|
# "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/example_data_results/"
|
|
65
65
|
# "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Sanity Test Interaction Graziana/Result 10 joints/Mahan Results/"
|
|
66
|
-
|
|
67
|
-
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/
|
|
66
|
+
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Testing/GroupResults/"
|
|
67
|
+
# "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/TESTINGBIGDATA/"
|
|
68
68
|
)
|
|
69
69
|
# cfg
|
|
70
70
|
cfg = {}
|
|
@@ -85,65 +85,65 @@ def group_dlcrun():
|
|
|
85
85
|
# cfg["anova_design"] = "Mixed ANOVA"
|
|
86
86
|
cfg["PCA_variables"] = [
|
|
87
87
|
# Beam x Age
|
|
88
|
-
"Nose x",
|
|
89
|
-
"Nose y",
|
|
90
|
-
"Ear base x",
|
|
91
|
-
"Ear base y",
|
|
92
|
-
"Front paw tao x",
|
|
93
|
-
"Front paw tao y",
|
|
94
|
-
"Wrist x",
|
|
95
|
-
"Wrist y",
|
|
96
|
-
"Elbow x",
|
|
97
|
-
"Elbow y",
|
|
98
|
-
"Lower Shoulder x",
|
|
99
|
-
"Lower Shoulder y",
|
|
100
|
-
"Upper Shoulder x",
|
|
101
|
-
"Upper Shoulder y",
|
|
102
|
-
"Iliac Crest x",
|
|
103
|
-
"Iliac Crest y",
|
|
104
|
-
"Hip x",
|
|
105
|
-
"Hip y",
|
|
106
|
-
"Knee x",
|
|
107
|
-
"Knee y",
|
|
108
|
-
"Ankle x",
|
|
109
|
-
"Ankle y",
|
|
110
|
-
"Hind paw tao x",
|
|
111
|
-
"Hind paw tao y",
|
|
112
|
-
"Tail base y",
|
|
113
|
-
"Tail center x",
|
|
114
|
-
"Tail center y",
|
|
115
|
-
"Tail tip x",
|
|
116
|
-
"Tail tip y",
|
|
117
|
-
"Hind paw tao Velocity",
|
|
118
|
-
"Hind paw tao Acceleration",
|
|
119
|
-
"Ankle Velocity",
|
|
120
|
-
"Ankle Acceleration",
|
|
121
|
-
"Knee Velocity",
|
|
122
|
-
"Knee Acceleration",
|
|
123
|
-
"Hip Velocity",
|
|
124
|
-
"Hip Acceleration",
|
|
125
|
-
"Iliac Crest Velocity",
|
|
126
|
-
"Iliac Crest Acceleration",
|
|
127
|
-
"Ankle Angle",
|
|
128
|
-
"Knee Angle",
|
|
129
|
-
"Hip Angle",
|
|
130
|
-
"Wrist Angle",
|
|
131
|
-
"Elbow Angle",
|
|
132
|
-
"Lower Shoulder Angle",
|
|
133
|
-
"Iliac Crest Angle",
|
|
134
|
-
"Ankle Angle Velocity",
|
|
135
|
-
"Ankle Angle Acceleration",
|
|
136
|
-
"Knee Angle Acceleration",
|
|
137
|
-
"Hip Angle Velocity",
|
|
138
|
-
"Hip Angle Acceleration",
|
|
139
|
-
"Wrist Angle Velocity",
|
|
140
|
-
"Wrist Angle Acceleration",
|
|
141
|
-
"Elbow Angle Velocity",
|
|
142
|
-
"Elbow Angle Acceleration",
|
|
143
|
-
"Lower Shoulder Angle Velocity",
|
|
144
|
-
"Lower Shoulder Angle Acceleration",
|
|
145
|
-
"Iliac Crest Angle Velocity",
|
|
146
|
-
"Iliac Crest Angle Acceleration",
|
|
88
|
+
# "Nose x",
|
|
89
|
+
# "Nose y",
|
|
90
|
+
# "Ear base x",
|
|
91
|
+
# "Ear base y",
|
|
92
|
+
# "Front paw tao x",
|
|
93
|
+
# "Front paw tao y",
|
|
94
|
+
# "Wrist x",
|
|
95
|
+
# "Wrist y",
|
|
96
|
+
# "Elbow x",
|
|
97
|
+
# "Elbow y",
|
|
98
|
+
# "Lower Shoulder x",
|
|
99
|
+
# "Lower Shoulder y",
|
|
100
|
+
# "Upper Shoulder x",
|
|
101
|
+
# "Upper Shoulder y",
|
|
102
|
+
# "Iliac Crest x",
|
|
103
|
+
# "Iliac Crest y",
|
|
104
|
+
# "Hip x",
|
|
105
|
+
# "Hip y",
|
|
106
|
+
# "Knee x",
|
|
107
|
+
# "Knee y",
|
|
108
|
+
# "Ankle x",
|
|
109
|
+
# "Ankle y",
|
|
110
|
+
# "Hind paw tao x",
|
|
111
|
+
# "Hind paw tao y",
|
|
112
|
+
# "Tail base y",
|
|
113
|
+
# "Tail center x",
|
|
114
|
+
# "Tail center y",
|
|
115
|
+
# "Tail tip x",
|
|
116
|
+
# "Tail tip y",
|
|
117
|
+
# "Hind paw tao Velocity",
|
|
118
|
+
# "Hind paw tao Acceleration",
|
|
119
|
+
# "Ankle Velocity",
|
|
120
|
+
# "Ankle Acceleration",
|
|
121
|
+
# "Knee Velocity",
|
|
122
|
+
# "Knee Acceleration",
|
|
123
|
+
# "Hip Velocity",
|
|
124
|
+
# "Hip Acceleration",
|
|
125
|
+
# "Iliac Crest Velocity",
|
|
126
|
+
# "Iliac Crest Acceleration",
|
|
127
|
+
# "Ankle Angle",
|
|
128
|
+
# "Knee Angle",
|
|
129
|
+
# "Hip Angle",
|
|
130
|
+
# "Wrist Angle",
|
|
131
|
+
# "Elbow Angle",
|
|
132
|
+
# "Lower Shoulder Angle",
|
|
133
|
+
# "Iliac Crest Angle",
|
|
134
|
+
# "Ankle Angle Velocity",
|
|
135
|
+
# "Ankle Angle Acceleration",
|
|
136
|
+
# "Knee Angle Acceleration",
|
|
137
|
+
# "Hip Angle Velocity",
|
|
138
|
+
# "Hip Angle Acceleration",
|
|
139
|
+
# "Wrist Angle Velocity",
|
|
140
|
+
# "Wrist Angle Acceleration",
|
|
141
|
+
# "Elbow Angle Velocity",
|
|
142
|
+
# "Elbow Angle Acceleration",
|
|
143
|
+
# "Lower Shoulder Angle Velocity",
|
|
144
|
+
# "Lower Shoulder Angle Acceleration",
|
|
145
|
+
# "Iliac Crest Angle Velocity",
|
|
146
|
+
# "Iliac Crest Angle Acceleration",
|
|
147
147
|
|
|
148
148
|
|
|
149
149
|
# PREVIOUS TESTING FEATURES
|
|
@@ -167,7 +167,7 @@ def group_dlcrun():
|
|
|
167
167
|
# "Hind paw tao y",
|
|
168
168
|
# "Ankle y",
|
|
169
169
|
# "Knee y",
|
|
170
|
-
|
|
170
|
+
"Ankle Angle",
|
|
171
171
|
# "Knee Angle",
|
|
172
172
|
# "Nose x",
|
|
173
173
|
# "Knee y",
|
|
@@ -181,21 +181,21 @@ def group_dlcrun():
|
|
|
181
181
|
# "Elbow Angle"
|
|
182
182
|
|
|
183
183
|
|
|
184
|
-
# Beam x Age
|
|
185
|
-
"Hip x",
|
|
186
|
-
"Hip y",
|
|
187
|
-
"Knee x",
|
|
188
|
-
"Knee y",
|
|
189
|
-
"Ankle x",
|
|
190
|
-
"Ankle y",
|
|
191
|
-
"Hind paw tao x",
|
|
192
|
-
"Hind paw tao y",
|
|
193
|
-
"Hind paw tao Velocity",
|
|
194
|
-
"Ankle Velocity",
|
|
195
|
-
"Knee Velocity",
|
|
196
|
-
"Ankle Angle",
|
|
197
|
-
"Knee Angle",
|
|
198
|
-
"Hip Angle"
|
|
184
|
+
# # Beam x Age
|
|
185
|
+
# "Hip x",
|
|
186
|
+
# "Hip y",
|
|
187
|
+
# "Knee x",
|
|
188
|
+
# "Knee y",
|
|
189
|
+
# "Ankle x",
|
|
190
|
+
# "Ankle y",
|
|
191
|
+
# "Hind paw tao x",
|
|
192
|
+
# "Hind paw tao y",
|
|
193
|
+
# "Hind paw tao Velocity",
|
|
194
|
+
# "Ankle Velocity",
|
|
195
|
+
# "Knee Velocity",
|
|
196
|
+
# "Ankle Angle",
|
|
197
|
+
# "Knee Angle",
|
|
198
|
+
# "Hip Angle"
|
|
199
199
|
]
|
|
200
200
|
# run
|
|
201
201
|
autogaita.group(folderinfo, cfg)
|
|
@@ -586,6 +586,8 @@ def ANOVA_main(
|
|
|
586
586
|
# => note pingouin checks both or sphericity by default
|
|
587
587
|
if just_do_tukeys is False:
|
|
588
588
|
ANOVA_result = run_ANOVA(stats_df, stats_var, cfg)
|
|
589
|
+
else:
|
|
590
|
+
ANOVA_result = None
|
|
589
591
|
|
|
590
592
|
# run Tukeys for pairwise comparisons
|
|
591
593
|
# => always running multiple comparison tests as well. see Prism's doc for why
|
|
@@ -995,14 +997,25 @@ def save_stats_summary_to_text(
|
|
|
995
997
|
message = ""
|
|
996
998
|
|
|
997
999
|
# only for ANOVA - add the table above contrast loop
|
|
998
|
-
if "ANOVA" in which_test:
|
|
1000
|
+
if "ANOVA" in which_test and ANOVA_result is not None:
|
|
999
1001
|
message = (
|
|
1000
1002
|
message
|
|
1001
1003
|
+ "\n\n--------------------\nA N O V A T A B L E"
|
|
1002
1004
|
+ "\n--------------------"
|
|
1003
1005
|
+ "\n"
|
|
1004
|
-
+ str(ANOVA_result)
|
|
1005
1006
|
)
|
|
1007
|
+
message += "\n" # col header row
|
|
1008
|
+
for col in ANOVA_result.columns:
|
|
1009
|
+
message += f"| {col} | "
|
|
1010
|
+
n_rows, n_cols = np.shape(ANOVA_result)
|
|
1011
|
+
for row_idx in range(n_rows):
|
|
1012
|
+
message += "\n" # new row
|
|
1013
|
+
for col_idx in range(n_cols):
|
|
1014
|
+
val = ANOVA_result.iloc[row_idx, col_idx]
|
|
1015
|
+
if isinstance(val, str):
|
|
1016
|
+
message += f"| {val} | "
|
|
1017
|
+
else:
|
|
1018
|
+
message += f"| {str(round(val, 4))} | "
|
|
1006
1019
|
|
|
1007
1020
|
# contrast specific info
|
|
1008
1021
|
for contrast in contrasts:
|
|
@@ -110,17 +110,20 @@ def group(folderinfo, cfg):
|
|
|
110
110
|
tukeys_only_info_message(folderinfo)
|
|
111
111
|
else:
|
|
112
112
|
just_do_tukeys = False
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
113
|
+
# this function is called ANOVA_main even though we might just run Tukeys
|
|
114
|
+
# with it and not exactly an ANOVA as well
|
|
115
|
+
# => see conditions in sanity check setting just_do_tukeys
|
|
116
|
+
for stats_var in cfg["stats_variables"]:
|
|
117
|
+
ANOVA_main(
|
|
118
|
+
stats_df,
|
|
119
|
+
g_avg_dfs,
|
|
120
|
+
g_std_dfs,
|
|
121
|
+
stats_var,
|
|
122
|
+
just_do_tukeys,
|
|
123
|
+
folderinfo,
|
|
124
|
+
cfg,
|
|
125
|
+
plot_panel_instance,
|
|
126
|
+
)
|
|
124
127
|
plt.close("all")
|
|
125
128
|
|
|
126
129
|
# .................................. plots .......................................
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"group_names": [
|
|
4
|
+
"3m_25mm",
|
|
5
|
+
"24m_25mm",
|
|
6
|
+
"",
|
|
7
|
+
"",
|
|
8
|
+
"",
|
|
9
|
+
""
|
|
10
|
+
],
|
|
11
|
+
"group_dirs": [
|
|
12
|
+
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/25mm/9w",
|
|
13
|
+
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/25mm/104w",
|
|
14
|
+
"",
|
|
15
|
+
"",
|
|
16
|
+
"",
|
|
17
|
+
""
|
|
18
|
+
],
|
|
19
|
+
"results_dir": "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/YoungOld25mm/"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"do_permtest": false,
|
|
23
|
+
"do_anova": true,
|
|
24
|
+
"anova_design": "Mixed ANOVA",
|
|
25
|
+
"permutation_number": "10000",
|
|
26
|
+
"stats_threshold": "0.05",
|
|
27
|
+
"which_leg": "right",
|
|
28
|
+
"PCA_n_components": "3",
|
|
29
|
+
"PCA_custom_scatter_PCs": "",
|
|
30
|
+
"PCA_save_3D_video": true,
|
|
31
|
+
"PCA_bins": "",
|
|
32
|
+
"plot_SE": true,
|
|
33
|
+
"color_palette": "Set2",
|
|
34
|
+
"dont_show_plots": false,
|
|
35
|
+
"legend_outside": true,
|
|
36
|
+
"stats_variables": [
|
|
37
|
+
"Ankle Angle"
|
|
38
|
+
],
|
|
39
|
+
"PCA_variables": []
|
|
40
|
+
}
|
|
41
|
+
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: autogaita
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.4
|
|
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
|
|
@@ -26,7 +26,7 @@ if platform.system() == "Darwin":
|
|
|
26
26
|
setup(
|
|
27
27
|
name="autogaita",
|
|
28
28
|
python_requires=">=3.10",
|
|
29
|
-
version="1.0.
|
|
29
|
+
version="1.0.4", # rc == release candidate (before release is finished)
|
|
30
30
|
author="Mahan Hosseini",
|
|
31
31
|
description="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.",
|
|
32
32
|
packages=find_packages(),
|
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"group_names": [
|
|
4
|
-
"3m_5mm",
|
|
5
|
-
"3m_12mm",
|
|
6
|
-
"3m_25mm",
|
|
7
|
-
"",
|
|
8
|
-
"",
|
|
9
|
-
""
|
|
10
|
-
],
|
|
11
|
-
"group_dirs": [
|
|
12
|
-
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/5mm/9w",
|
|
13
|
-
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/12mm/9w",
|
|
14
|
-
"/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/25mm/9w",
|
|
15
|
-
"",
|
|
16
|
-
"",
|
|
17
|
-
""
|
|
18
|
-
],
|
|
19
|
-
"results_dir": "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Full Dataset and Results Nov 2024/3m3BeamsForPaper"
|
|
20
|
-
},
|
|
21
|
-
{
|
|
22
|
-
"do_permtest": false,
|
|
23
|
-
"do_anova": true,
|
|
24
|
-
"anova_design": "RM ANOVA",
|
|
25
|
-
"permutation_number": "10000",
|
|
26
|
-
"stats_threshold": "0.05",
|
|
27
|
-
"which_leg": "right",
|
|
28
|
-
"PCA_n_components": "0.9",
|
|
29
|
-
"PCA_custom_scatter_PCs": "1,3;2,3;2,3,4;",
|
|
30
|
-
"PCA_save_3D_video": true,
|
|
31
|
-
"PCA_bins": "",
|
|
32
|
-
"plot_SE": true,
|
|
33
|
-
"color_palette": "inferno",
|
|
34
|
-
"dont_show_plots": false,
|
|
35
|
-
"legend_outside": true,
|
|
36
|
-
"stats_variables": [
|
|
37
|
-
"Hip x",
|
|
38
|
-
"Hip y",
|
|
39
|
-
"Knee x",
|
|
40
|
-
"Knee y",
|
|
41
|
-
"Ankle x",
|
|
42
|
-
"Ankle y",
|
|
43
|
-
"Hind paw tao x",
|
|
44
|
-
"Hind paw tao y",
|
|
45
|
-
"Hind paw tao Velocity",
|
|
46
|
-
"Ankle Velocity",
|
|
47
|
-
"Knee Velocity",
|
|
48
|
-
"Ankle Angle",
|
|
49
|
-
"Knee Angle",
|
|
50
|
-
"Hip Angle"
|
|
51
|
-
],
|
|
52
|
-
"PCA_variables": [
|
|
53
|
-
"Nose x",
|
|
54
|
-
"Nose y",
|
|
55
|
-
"Ear base x",
|
|
56
|
-
"Ear base y",
|
|
57
|
-
"Front paw tao x",
|
|
58
|
-
"Front paw tao y",
|
|
59
|
-
"Wrist x",
|
|
60
|
-
"Wrist y",
|
|
61
|
-
"Elbow x",
|
|
62
|
-
"Elbow y",
|
|
63
|
-
"Lower Shoulder x",
|
|
64
|
-
"Lower Shoulder y",
|
|
65
|
-
"Upper Shoulder x",
|
|
66
|
-
"Upper Shoulder y",
|
|
67
|
-
"Iliac Crest x",
|
|
68
|
-
"Iliac Crest y",
|
|
69
|
-
"Hip x",
|
|
70
|
-
"Hip y",
|
|
71
|
-
"Knee x",
|
|
72
|
-
"Knee y",
|
|
73
|
-
"Ankle x",
|
|
74
|
-
"Ankle y",
|
|
75
|
-
"Hind paw tao x",
|
|
76
|
-
"Hind paw tao y",
|
|
77
|
-
"Tail base y",
|
|
78
|
-
"Tail center x",
|
|
79
|
-
"Tail center y",
|
|
80
|
-
"Tail tip x",
|
|
81
|
-
"Tail tip y",
|
|
82
|
-
"Hind paw tao Velocity",
|
|
83
|
-
"Hind paw tao Acceleration",
|
|
84
|
-
"Ankle Velocity",
|
|
85
|
-
"Ankle Acceleration",
|
|
86
|
-
"Knee Velocity",
|
|
87
|
-
"Knee Acceleration",
|
|
88
|
-
"Hip Velocity",
|
|
89
|
-
"Hip Acceleration",
|
|
90
|
-
"Iliac Crest Velocity",
|
|
91
|
-
"Iliac Crest Acceleration",
|
|
92
|
-
"Ankle Angle",
|
|
93
|
-
"Knee Angle",
|
|
94
|
-
"Hip Angle",
|
|
95
|
-
"Wrist Angle",
|
|
96
|
-
"Elbow Angle",
|
|
97
|
-
"Lower Shoulder Angle",
|
|
98
|
-
"Iliac Crest Angle",
|
|
99
|
-
"Ankle Angle Velocity",
|
|
100
|
-
"Ankle Angle Acceleration",
|
|
101
|
-
"Knee Angle Acceleration",
|
|
102
|
-
"Hip Angle Velocity",
|
|
103
|
-
"Hip Angle Acceleration",
|
|
104
|
-
"Wrist Angle Velocity",
|
|
105
|
-
"Wrist Angle Acceleration",
|
|
106
|
-
"Elbow Angle Velocity",
|
|
107
|
-
"Elbow Angle Acceleration",
|
|
108
|
-
"Lower Shoulder Angle Velocity",
|
|
109
|
-
"Lower Shoulder Angle Acceleration",
|
|
110
|
-
"Iliac Crest Angle Velocity",
|
|
111
|
-
"Iliac Crest Angle Acceleration"
|
|
112
|
-
]
|
|
113
|
-
}
|
|
114
|
-
]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{autogaita-1.0.3 → autogaita-1.0.4}/autogaita/universal3D/universal3D_datafile_preparation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|