autogaita 1.5.4__tar.gz → 1.5.6__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 (99) hide show
  1. {autogaita-1.5.4 → autogaita-1.5.6}/PKG-INFO +3 -3
  2. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/group/group_3_PCA.py +16 -3
  3. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita.egg-info/PKG-INFO +3 -3
  4. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita.egg-info/SOURCES.txt +1 -0
  5. autogaita-1.5.6/autogaita_backup/backup_setup.py +44 -0
  6. {autogaita-1.5.4 → autogaita-1.5.6}/pyproject.toml +3 -3
  7. {autogaita-1.5.4 → autogaita-1.5.6}/LICENSE +0 -0
  8. {autogaita-1.5.4 → autogaita-1.5.6}/README.md +0 -0
  9. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/__init__.py +0 -0
  10. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/__main__.py +0 -0
  11. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/batchrun_scripts/__init__.py +0 -0
  12. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/batchrun_scripts/dlc_multirun.py +0 -0
  13. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/batchrun_scripts/dlc_singlerun.py +0 -0
  14. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/batchrun_scripts/group_dlcrun.py +0 -0
  15. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/batchrun_scripts/group_universal3Drun.py +0 -0
  16. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/batchrun_scripts/sleap_singlerun.py +0 -0
  17. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/batchrun_scripts/universal3D_multirun.py +0 -0
  18. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/batchrun_scripts/universal3D_singlerun.py +0 -0
  19. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/common2D/__init__.py +0 -0
  20. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/common2D/common2D_1_preparation.py +0 -0
  21. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/common2D/common2D_2_sc_extraction.py +0 -0
  22. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/common2D/common2D_3_analysis.py +0 -0
  23. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/common2D/common2D_4_plots.py +0 -0
  24. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/common2D/common2D_constants.py +0 -0
  25. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/common2D/common2D_utils.py +0 -0
  26. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/dlc/__init__.py +0 -0
  27. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/dlc/dlc_main.py +0 -0
  28. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/group/__init__.py +0 -0
  29. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/group/group_1_preparation.py +0 -0
  30. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/group/group_2_data_processing.py +0 -0
  31. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/group/group_4_stats.py +0 -0
  32. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/group/group_5_plots.py +0 -0
  33. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/group/group_constants.py +0 -0
  34. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/group/group_main.py +0 -0
  35. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/group/group_utils.py +0 -0
  36. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/__init__.py +0 -0
  37. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/common2D_advanced_config_gui.py +0 -0
  38. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/common2D_columninfo_gui.py +0 -0
  39. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/common2D_gui_constants.py +0 -0
  40. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/common2D_gui_utils.py +0 -0
  41. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/common2D_main_gui.py +0 -0
  42. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/common2D_run_and_done_gui.py +0 -0
  43. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/dlc_gui.py +0 -0
  44. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/dlc_gui_config.json +0 -0
  45. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/first_level_gui_utils.py +0 -0
  46. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/gaita_widgets.py +0 -0
  47. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/group_gui.py +0 -0
  48. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/group_gui_config.json +0 -0
  49. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/gui_constants.py +0 -0
  50. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/gui_utils.py +0 -0
  51. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/main_gui.py +0 -0
  52. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/sleap_gui.py +0 -0
  53. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/sleap_gui_config.json +0 -0
  54. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/universal3D_gui.py +0 -0
  55. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/gui/universal3D_gui_config.json +0 -0
  56. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/resources/__init__.py +0 -0
  57. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/resources/constants.py +0 -0
  58. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/resources/folder.png +0 -0
  59. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/resources/icon.icns +0 -0
  60. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/resources/icon.ico +0 -0
  61. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/resources/logo.png +0 -0
  62. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/resources/pic_to_demo_for_repo.png +0 -0
  63. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/resources/utils.py +0 -0
  64. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/sleap/__init__.py +0 -0
  65. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/sleap/sleap_main.py +0 -0
  66. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/universal3D/__init__.py +0 -0
  67. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/universal3D/universal3D_1_preparation.py +0 -0
  68. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/universal3D/universal3D_2_sc_extraction.py +0 -0
  69. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/universal3D/universal3D_3_analysis.py +0 -0
  70. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/universal3D/universal3D_4_plots.py +0 -0
  71. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/universal3D/universal3D_constants.py +0 -0
  72. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/universal3D/universal3D_datafile_preparation.py +0 -0
  73. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/universal3D/universal3D_main.py +0 -0
  74. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita/universal3D/universal3D_utils.py +0 -0
  75. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita.egg-info/dependency_links.txt +0 -0
  76. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita.egg-info/entry_points.txt +0 -0
  77. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita.egg-info/requires.txt +1 -1
  78. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita.egg-info/top_level.txt +0 -0
  79. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita_backup/common2D_run_and_done_gui.py +0 -0
  80. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita_backup/dlc_1_preparation.py +0 -0
  81. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita_backup/dlc_2_sc_extraction.py +0 -0
  82. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita_backup/dlc_gui.py +0 -0
  83. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita_backup/sleap_1_preparation.py +0 -0
  84. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita_backup/sleap_2_sc_extraction.py +0 -0
  85. {autogaita-1.5.4 → autogaita-1.5.6}/autogaita_backup/sleap_gui.py +0 -0
  86. {autogaita-1.5.4 → autogaita-1.5.6}/setup.cfg +0 -0
  87. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_common2D_unit_1_preparation.py +0 -0
  88. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_common2D_unit_2_sc_extraction.py +0 -0
  89. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_common2D_unit_3_analysis.py +0 -0
  90. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_common2D_unit_utils.py +0 -0
  91. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_dlc_approval.py +0 -0
  92. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_dlc_unit_1_preparation.py +0 -0
  93. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_group_approval.py +0 -0
  94. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_group_unit.py +0 -0
  95. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_universal3D_approval.py +0 -0
  96. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_universal3D_unit_1_preparation.py +0 -0
  97. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_universal3D_unit_2_sc_extraction.py +0 -0
  98. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_universal3D_unit_3_analysis.py +0 -0
  99. {autogaita-1.5.4 → autogaita-1.5.6}/tests/test_utils.py +0 -0
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autogaita
3
- Version: 1.5.4
3
+ Version: 1.5.6
4
4
  Summary: Automated Gait (and more!) Analysis in Python
5
5
  Author-email: Mahan Hosseini <autogaita@fz-juelich.de>
6
- License: GPLv3
6
+ License-Expression: GPL-3.0-only
7
7
  Project-URL: Homepage, https://github.com/mahan-hosseini/AutoGaitA/
8
8
  Project-URL: Documentation, https://docs.google.com/document/d/1iQxSwqBW3VdIXHm-AtV4TGlgpJPDldogVx6qzscsGxA/edit?tab=t.0
9
9
  Project-URL: YouTube, https://youtube.com/playlist?list=PLCn5T7K_H8K56NIcEsfDK664OP7cN_Bad&si=JBEYuzDDRe7qz5Qd
@@ -18,7 +18,7 @@ Requires-Dist: matplotlib>=3.7
18
18
  Requires-Dist: scikit-learn>=1.2
19
19
  Requires-Dist: pingouin>=0.5
20
20
  Requires-Dist: scipy>=1.11
21
- Requires-Dist: scikit-bio>=0.7.1
21
+ Requires-Dist: scikit-bio>=0.7.1; sys_platform == "darwin"
22
22
  Requires-Dist: statsmodels>=0.14
23
23
  Requires-Dist: ffmpeg-python>=0.2
24
24
  Requires-Dist: openpyxl>=3.1
@@ -2,11 +2,11 @@
2
2
  from autogaita.resources.utils import bin_num_to_percentages, write_issues_to_textfile
3
3
  from autogaita.group.group_utils import save_figures
4
4
  import os
5
+ import sys
5
6
  import pandas as pd
6
7
  import numpy as np
7
8
  from sklearn.preprocessing import StandardScaler
8
9
  from sklearn.decomposition import PCA
9
- from skbio.stats.distance import DistanceMatrix, permanova
10
10
  from scipy.spatial.distance import pdist, squareform
11
11
  from statsmodels.stats.multitest import multipletests
12
12
  import openpyxl
@@ -14,6 +14,14 @@ import seaborn as sns
14
14
  import matplotlib.pyplot as plt
15
15
  from matplotlib.animation import FuncAnimation, FFMpegWriter
16
16
 
17
+ # skbio throws some error on windows during build
18
+ skbio_available = sys.platform == "darwin"
19
+ if skbio_available:
20
+ try:
21
+ from skbio.stats.distance import DistanceMatrix, permanova
22
+ except ImportError:
23
+ skbio_available = False
24
+
17
25
  # %% constants
18
26
  from autogaita.resources.constants import (
19
27
  ID_COL,
@@ -50,8 +58,13 @@ def PCA_main(avg_dfs, folderinfo, cfg, plot_panel_instance):
50
58
  PCA_df, features = create_PCA_df(avg_dfs, folderinfo, cfg)
51
59
  # run the PCA
52
60
  PCA_df, PCA_info = run_PCA(PCA_df, features, folderinfo, cfg)
53
- # run the PERMANOVA
54
- run_PCA_PERMANOVA(PCA_df, folderinfo, cfg)
61
+ # run the PERMANOVA - only on mac
62
+ if skbio_available:
63
+ run_PCA_PERMANOVA(PCA_df, folderinfo, cfg)
64
+ else:
65
+ write_issues_to_textfile(
66
+ "\nSkipping PCA PERMANOVA (skbio is broken on Windows).", folderinfo
67
+ )
55
68
  # save PCA info to xlsx files
56
69
  PCA_info_to_xlsx(PCA_df, PCA_info, folderinfo, cfg)
57
70
  if PCA_info["number_of_PCs"] < 2:
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: autogaita
3
- Version: 1.5.4
3
+ Version: 1.5.6
4
4
  Summary: Automated Gait (and more!) Analysis in Python
5
5
  Author-email: Mahan Hosseini <autogaita@fz-juelich.de>
6
- License: GPLv3
6
+ License-Expression: GPL-3.0-only
7
7
  Project-URL: Homepage, https://github.com/mahan-hosseini/AutoGaitA/
8
8
  Project-URL: Documentation, https://docs.google.com/document/d/1iQxSwqBW3VdIXHm-AtV4TGlgpJPDldogVx6qzscsGxA/edit?tab=t.0
9
9
  Project-URL: YouTube, https://youtube.com/playlist?list=PLCn5T7K_H8K56NIcEsfDK664OP7cN_Bad&si=JBEYuzDDRe7qz5Qd
@@ -18,7 +18,7 @@ Requires-Dist: matplotlib>=3.7
18
18
  Requires-Dist: scikit-learn>=1.2
19
19
  Requires-Dist: pingouin>=0.5
20
20
  Requires-Dist: scipy>=1.11
21
- Requires-Dist: scikit-bio>=0.7.1
21
+ Requires-Dist: scikit-bio>=0.7.1; sys_platform == "darwin"
22
22
  Requires-Dist: statsmodels>=0.14
23
23
  Requires-Dist: ffmpeg-python>=0.2
24
24
  Requires-Dist: openpyxl>=3.1
@@ -74,6 +74,7 @@ autogaita/universal3D/universal3D_constants.py
74
74
  autogaita/universal3D/universal3D_datafile_preparation.py
75
75
  autogaita/universal3D/universal3D_main.py
76
76
  autogaita/universal3D/universal3D_utils.py
77
+ autogaita_backup/backup_setup.py
77
78
  autogaita_backup/common2D_run_and_done_gui.py
78
79
  autogaita_backup/dlc_1_preparation.py
79
80
  autogaita_backup/dlc_2_sc_extraction.py
@@ -0,0 +1,44 @@
1
+ # import
2
+ from setuptools import setup, find_packages
3
+
4
+ # list of across-platform dependencies
5
+ install_requires = [
6
+ "customtkinter>=5.2",
7
+ "pandas>=2.0,<3.0",
8
+ "numpy>=1.24",
9
+ "seaborn>=0.13",
10
+ "matplotlib>=3.7",
11
+ "scikit-learn>=1.2",
12
+ "pingouin>=0.5",
13
+ "scipy>=1.11",
14
+ "scikit-bio>=0.7.1",
15
+ "statsmodels>=0.14",
16
+ "ffmpeg-python>=0.2",
17
+ "openpyxl>=3.1",
18
+ "pillow>=10.3",
19
+ "h5py>=3.11",
20
+ "pyobjc; sys_platform == 'darwin'", # Only on macOS
21
+ ]
22
+
23
+ # call setup function
24
+ setup(
25
+ name="autogaita",
26
+ python_requires=">=3.10",
27
+ version="1.5.3", # rc == release candidate (before release is finished)
28
+ author="Mahan Hosseini",
29
+ description="Automatic Gait Analysis in Python.",
30
+ long_description="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.",
31
+ long_description_content_type="text/plain",
32
+ entry_points={
33
+ "console_scripts": [
34
+ "autogaita = autogaita.gui.main_gui:run_gui",
35
+ ],
36
+ },
37
+ packages=find_packages(),
38
+ include_package_data=True,
39
+ package_data={"": ["*.txt", "*.rst", "*.png", "*.icns", "*.ico", "*.json"]},
40
+ install_requires=install_requires,
41
+ extras_require={"dev": ["pytest", "hypothesis"]},
42
+ license="GPLv3",
43
+ url="https://github.com/mahan-hosseini/AutoGaitA/",
44
+ )
@@ -4,12 +4,12 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "autogaita"
7
- version = "1.5.4" # rc == release candidate
7
+ version = "1.5.6" # rc == release candidate
8
8
  authors = [{name = "Mahan Hosseini", email = "autogaita@fz-juelich.de"}]
9
9
  description = "Automated Gait (and more!) Analysis in Python"
10
10
  readme = "README.md"
11
11
  requires-python = ">=3.10"
12
- license = {text = "GPLv3"}
12
+ license = "GPL-3.0-only"
13
13
  dependencies = [
14
14
  "customtkinter>=5.2",
15
15
  "pandas>=2.0,<3.0",
@@ -19,7 +19,7 @@ dependencies = [
19
19
  "scikit-learn>=1.2",
20
20
  "pingouin>=0.5",
21
21
  "scipy>=1.11",
22
- "scikit-bio>=0.7.1",
22
+ "scikit-bio>=0.7.1; sys_platform == 'darwin'",
23
23
  "statsmodels>=0.14",
24
24
  "ffmpeg-python>=0.2",
25
25
  "openpyxl>=3.1",
File without changes
File without changes
@@ -6,7 +6,6 @@ matplotlib>=3.7
6
6
  scikit-learn>=1.2
7
7
  pingouin>=0.5
8
8
  scipy>=1.11
9
- scikit-bio>=0.7.1
10
9
  statsmodels>=0.14
11
10
  ffmpeg-python>=0.2
12
11
  openpyxl>=3.1
@@ -14,6 +13,7 @@ pillow>=10.3
14
13
  h5py>=3.11
15
14
 
16
15
  [:sys_platform == "darwin"]
16
+ scikit-bio>=0.7.1
17
17
  pyobjc
18
18
 
19
19
  [dev]
File without changes
File without changes