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.
Files changed (85) hide show
  1. {autogaita-1.0.0 → autogaita-1.0.2}/PKG-INFO +1 -1
  2. {autogaita-1.0.0 → autogaita-1.0.2}/README.md +1 -1
  3. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/sleap_singlerun.py +1 -1
  4. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_4_stats.py +10 -7
  5. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_main.py +2 -2
  6. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_utils.py +0 -8
  7. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/utils.py +12 -4
  8. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita.egg-info/PKG-INFO +1 -1
  9. {autogaita-1.0.0 → autogaita-1.0.2}/setup.py +1 -1
  10. {autogaita-1.0.0 → autogaita-1.0.2}/LICENSE +0 -0
  11. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/__init__.py +0 -0
  12. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/__main__.py +0 -0
  13. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/__init__.py +0 -0
  14. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/dlc_multirun.py +0 -0
  15. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/dlc_singlerun.py +0 -0
  16. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/group_dlcrun.py +0 -0
  17. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/group_universal3Drun.py +0 -0
  18. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/universal3D_multirun.py +0 -0
  19. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/batchrun_scripts/universal3D_singlerun.py +0 -0
  20. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/common2D/__init__.py +0 -0
  21. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/common2D/common2D_3_analysis.py +0 -0
  22. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/common2D/common2D_4_plots.py +0 -0
  23. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/common2D/common2D_constants.py +0 -0
  24. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/common2D/common2D_utils.py +0 -0
  25. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/dlc/__init__.py +0 -0
  26. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/dlc/dlc_1_preparation.py +0 -0
  27. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/dlc/dlc_2_sc_extraction.py +0 -0
  28. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/dlc/dlc_main.py +0 -0
  29. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/dlc/dlc_utils.py +0 -0
  30. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/__init__.py +0 -0
  31. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_1_preparation.py +0 -0
  32. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_2_data_processing.py +0 -0
  33. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_3_PCA.py +0 -0
  34. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_5_plots.py +0 -0
  35. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/group/group_constants.py +0 -0
  36. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/__init__.py +0 -0
  37. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/dlc_gui.py +0 -0
  38. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/dlc_gui_config.json +0 -0
  39. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/first_level_gui_utils.py +0 -0
  40. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/gaita_widgets.py +0 -0
  41. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/group_gui.py +0 -0
  42. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/group_gui_config.json +0 -0
  43. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/gui_constants.py +0 -0
  44. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/gui_utils.py +0 -0
  45. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/main_gui.py +0 -0
  46. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/sleap_gui.py +0 -0
  47. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/sleap_gui_config.json +0 -0
  48. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/universal3D_gui.py +0 -0
  49. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/universal3D_gui_config.json +0 -0
  50. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/window_2D_advanced_config.py +0 -0
  51. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/window_2D_columninfo.py +0 -0
  52. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/gui/window_2D_run_and_done.py +0 -0
  53. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/__init__.py +0 -0
  54. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/constants.py +0 -0
  55. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/icon.icns +0 -0
  56. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/icon.ico +0 -0
  57. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/logo.png +0 -0
  58. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/resources/pic_to_demo_for_repo.png +0 -0
  59. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/sleap/__init__.py +0 -0
  60. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/sleap/sleap_1_preparation.py +0 -0
  61. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/sleap/sleap_2_sc_extraction.py +0 -0
  62. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/sleap/sleap_main.py +0 -0
  63. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/__init__.py +0 -0
  64. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_1_preparation.py +0 -0
  65. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_2_sc_extraction.py +0 -0
  66. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_3_analysis.py +0 -0
  67. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_4_plots.py +0 -0
  68. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_constants.py +0 -0
  69. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_datafile_preparation.py +0 -0
  70. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_main.py +0 -0
  71. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita/universal3D/universal3D_utils.py +0 -0
  72. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita.egg-info/SOURCES.txt +0 -0
  73. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita.egg-info/dependency_links.txt +0 -0
  74. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita.egg-info/requires.txt +0 -0
  75. {autogaita-1.0.0 → autogaita-1.0.2}/autogaita.egg-info/top_level.txt +0 -0
  76. {autogaita-1.0.0 → autogaita-1.0.2}/setup.cfg +0 -0
  77. {autogaita-1.0.0 → autogaita-1.0.2}/tests/__init__.py +0 -0
  78. {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_common2D_unit_3_main_analysis.py +0 -0
  79. {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_dlc_approval.py +0 -0
  80. {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_dlc_unit_1_preparation.py +0 -0
  81. {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_dlc_unit_2_sc_extraction.py +0 -0
  82. {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_group_approval.py +0 -0
  83. {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_group_unit.py +0 -0
  84. {autogaita-1.0.0 → autogaita-1.0.2}/tests/test_universal3D_approval.py +0 -0
  85. {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.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) or 3D tracking methods such as [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 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.
@@ -15,7 +15,7 @@ def sleap_singlerun():
15
15
  )
16
16
  folderinfo["results_dir"] = ""
17
17
  folderinfo["sctable_filename"] = "Annotation Table"
18
- folderinfo["data_string"] = ""
18
+ folderinfo["data_string"] = "_data"
19
19
  folderinfo["beam_string"] = ""
20
20
 
21
21
  # cfg
@@ -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 not yet supported since I wanted to take more time to test
613
- # it and confirm that it gives expected results.
614
- # => There is a branch with it being almost developed - I stopped there with
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(dv=stats_var, within=GROUP_COL, subject=ID_COL)
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, print_finish
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
- message_1 = "G A I T A | S T A R T"
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
- line_row
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.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.0", # rc == release candidate (before release is finished)
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