autogaita 1.0.0__tar.gz → 1.0.2__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.0 → autogaita-1.0.2}/PKG-INFO +1 -1
- {autogaita-1.0.0 → autogaita-1.0.2}/README.md +1 -1
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/sleap_singlerun.py +1 -1
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_4_stats.py +10 -7
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_main.py +2 -2
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_utils.py +0 -8
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/utils.py +12 -4
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita.egg-info/PKG-INFO +1 -1
- {autogaita-1.0.0 → autogaita-1.0.2}/setup.py +1 -1
- {autogaita-1.0.0 → autogaita-1.0.2}/LICENSE +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/__init__.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/__main__.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/__init__.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/dlc_multirun.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/dlc_singlerun.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/group_dlcrun.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/group_universal3Drun.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/universal3D_multirun.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/universal3D_singlerun.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/common2D/__init__.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/common2D/common2D_3_analysis.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/common2D/common2D_4_plots.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/common2D/common2D_constants.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/common2D/common2D_utils.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/dlc/__init__.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/dlc/dlc_1_preparation.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/dlc/dlc_2_sc_extraction.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/dlc/dlc_main.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/dlc/dlc_utils.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/__init__.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_1_preparation.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_2_data_processing.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_3_PCA.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_5_plots.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_constants.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/__init__.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/dlc_gui.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/dlc_gui_config.json +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/first_level_gui_utils.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/gaita_widgets.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/group_gui.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/group_gui_config.json +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/gui_constants.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/gui_utils.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/main_gui.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/sleap_gui.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/sleap_gui_config.json +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/universal3D_gui.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/universal3D_gui_config.json +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/window_2D_advanced_config.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/window_2D_columninfo.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/window_2D_run_and_done.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/__init__.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/constants.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/icon.icns +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/icon.ico +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/logo.png +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/pic_to_demo_for_repo.png +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/sleap/__init__.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/sleap/sleap_1_preparation.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/sleap/sleap_2_sc_extraction.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/sleap/sleap_main.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/__init__.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_1_preparation.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_2_sc_extraction.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_3_analysis.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_4_plots.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_constants.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_datafile_preparation.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_main.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_utils.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita.egg-info/SOURCES.txt +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita.egg-info/dependency_links.txt +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita.egg-info/requires.txt +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/autogaita.egg-info/top_level.txt +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/setup.cfg +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/tests/__init__.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_common2D_unit_3_main_analysis.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_dlc_approval.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_dlc_unit_1_preparation.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_dlc_unit_2_sc_extraction.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_group_approval.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_group_unit.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_universal3D_approval.py +0 -0
- {autogaita-1.0.0 → autogaita-1.0.2}/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.2
|
|
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
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
# Automated Gait Analysis in Python 🐸
|
|
13
13
|
|
|
14
|
-
- AutoGaitA simplifies, accelerates, and standardises gait analyses after body posture tracking with [DeepLabCut](https://github.com/DeepLabCut/DeepLabCut)
|
|
14
|
+
- AutoGaitA simplifies, accelerates, and standardises gait analyses after body posture tracking in 2D with [DeepLabCut](https://github.com/DeepLabCut/DeepLabCut) and [SLEAP](https://github.com/talmolab/sleap) or marker-based (such as [Simi Motion](http://www.simi.com/en/products/movement-analysis/simi-motion-2d3d.html?type=rss%2F)) as well as marker-less methods for obtaining 3D coordinates.
|
|
15
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.
|
|
16
16
|
- AutoGaitA enables comparisons to be made across experimental conditions, species, disease states or genotypes.
|
|
17
17
|
- Despite being developed with gait data, AutoGaitA can be utilised for the analysis of any motor behaviour.
|
|
@@ -600,7 +600,7 @@ def run_ANOVA(stats_df, stats_var, cfg):
|
|
|
600
600
|
|
|
601
601
|
# unpack
|
|
602
602
|
anova_design = cfg["anova_design"]
|
|
603
|
-
if "2-way" in anova_design:
|
|
603
|
+
if "2-way" in anova_design: # not really 2-way, see below
|
|
604
604
|
if "RM" in anova_design:
|
|
605
605
|
factor_1_col = cfg["factor_1_col"]
|
|
606
606
|
factor_2_col = cfg["factor_2_col"]
|
|
@@ -609,21 +609,24 @@ def run_ANOVA(stats_df, stats_var, cfg):
|
|
|
609
609
|
between_factor_col = cfg["between_factor_col"]
|
|
610
610
|
|
|
611
611
|
# .............. NOTE FOR MYSELF @ 13.12.2024 before releasing v1 ................
|
|
612
|
-
# => 2-way ANOVAs are
|
|
613
|
-
#
|
|
614
|
-
# =>
|
|
612
|
+
# => 2-way ANOVAs are 3-way ANOVAs with 2 within and 1 between subjects factor
|
|
613
|
+
# really
|
|
614
|
+
# => Not supported by Pinguin, likely need to switch to statsmodel's linear mixed
|
|
615
|
+
# effects models if I want to support it
|
|
616
|
+
# => There is a branch with the it being almost developed - I stopped there with
|
|
615
617
|
# tests of valid user input (@ line 677 of definefeatures_window) which did not
|
|
616
618
|
# behave as expected
|
|
617
619
|
# => Still decided to leave these lines here as they are because they do not
|
|
618
620
|
# affect anything really
|
|
619
|
-
# => Also don't forget that 2-way fully between ANOVAs are not supported by Pingouin
|
|
620
621
|
if anova_design == "RM ANOVA":
|
|
621
|
-
result = stats_df.rm_anova(
|
|
622
|
+
result = stats_df.rm_anova(
|
|
623
|
+
dv=stats_var, within=[SC_PERCENTAGE_COL, GROUP_COL], subject=ID_COL
|
|
624
|
+
)
|
|
622
625
|
elif anova_design == "Mixed ANOVA":
|
|
623
626
|
result = stats_df.mixed_anova(
|
|
624
627
|
dv=stats_var,
|
|
625
|
-
between=GROUP_COL,
|
|
626
628
|
within=SC_PERCENTAGE_COL,
|
|
629
|
+
between=GROUP_COL,
|
|
627
630
|
subject=ID_COL,
|
|
628
631
|
)
|
|
629
632
|
elif anova_design == "2-way RM ANOVA":
|
|
@@ -13,8 +13,8 @@ from autogaita.group.group_4_stats import (
|
|
|
13
13
|
ANOVA_main,
|
|
14
14
|
)
|
|
15
15
|
from autogaita.group.group_5_plots import plot_results
|
|
16
|
-
from autogaita.group.group_utils import print_start
|
|
17
|
-
from autogaita.resources.utils import PlotPanel
|
|
16
|
+
from autogaita.group.group_utils import print_start
|
|
17
|
+
from autogaita.resources.utils import print_finish, PlotPanel
|
|
18
18
|
import matplotlib
|
|
19
19
|
import matplotlib.pyplot as plt
|
|
20
20
|
|
|
@@ -118,14 +118,6 @@ def print_start(folderinfo, cfg):
|
|
|
118
118
|
f.write(start_string)
|
|
119
119
|
|
|
120
120
|
|
|
121
|
-
def print_finish(folderinfo):
|
|
122
|
-
"""Inform the user about being done."""
|
|
123
|
-
print("\n***************************************************************")
|
|
124
|
-
print("* GAITA FINISHED - YOUR RESULTS WERE STORED HERE: *")
|
|
125
|
-
print(folderinfo["results_dir"])
|
|
126
|
-
print("***************************************************************")
|
|
127
|
-
|
|
128
|
-
|
|
129
121
|
# %% ...................... plotting helper functions ...........................
|
|
130
122
|
def save_figures(figure, results_dir, figure_file_string):
|
|
131
123
|
"""Save figures as pngs to results_dir and as svgs to separate subfolders"""
|
|
@@ -27,7 +27,14 @@ def try_to_run_gaita(tracking_software, info, folderinfo, cfg, multirun_flag):
|
|
|
27
27
|
# first print some info
|
|
28
28
|
line_row = "-" * INFO_TEXT_WIDTH
|
|
29
29
|
empty_row = " " * INFO_TEXT_WIDTH
|
|
30
|
-
|
|
30
|
+
software_string = ""
|
|
31
|
+
if tracking_software == "DLC":
|
|
32
|
+
software_string = "D E E P L A B C U T"
|
|
33
|
+
elif tracking_software == "SLEAP":
|
|
34
|
+
software_string = "S L E A P"
|
|
35
|
+
elif tracking_software == "Universal 3D":
|
|
36
|
+
software_string = "U N I V E R S A L 3 D"
|
|
37
|
+
message_1 = f"A U T O G A I T A | {software_string}"
|
|
31
38
|
message_2 = "Analysing"
|
|
32
39
|
message_3 = info["name"]
|
|
33
40
|
side_space_1 = " " * ((INFO_TEXT_WIDTH - len(message_1)) // 2)
|
|
@@ -111,12 +118,13 @@ def print_finish(info):
|
|
|
111
118
|
"""Print that we finished this program"""
|
|
112
119
|
line_row = "-" * INFO_TEXT_WIDTH
|
|
113
120
|
empty_row = " " * INFO_TEXT_WIDTH
|
|
114
|
-
finished_message_1 = "G A I T A | D O N E"
|
|
121
|
+
finished_message_1 = "A U T O G A I T A | D O N E"
|
|
115
122
|
finished_message_2 = "Results are here"
|
|
116
123
|
side_space_1 = " " * ((INFO_TEXT_WIDTH - len(finished_message_1)) // 2)
|
|
117
124
|
side_space_2 = " " * ((INFO_TEXT_WIDTH - len(finished_message_2)) // 2)
|
|
118
125
|
message = (
|
|
119
|
-
|
|
126
|
+
"\n\n\n"
|
|
127
|
+
+ line_row
|
|
120
128
|
+ "\n"
|
|
121
129
|
+ side_space_1
|
|
122
130
|
+ finished_message_1
|
|
@@ -128,7 +136,7 @@ def print_finish(info):
|
|
|
128
136
|
+ finished_message_2
|
|
129
137
|
+ side_space_2
|
|
130
138
|
+ "\n"
|
|
131
|
-
+ info["results_dir"]
|
|
139
|
+
+ str(info["results_dir"])
|
|
132
140
|
+ "\n"
|
|
133
141
|
+ line_row
|
|
134
142
|
)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: autogaita
|
|
3
|
-
Version: 1.0.
|
|
3
|
+
Version: 1.0.2
|
|
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.2", # 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(),
|
|
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.0 → autogaita-1.0.2}/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
|