autogaita 0.3.0__tar.gz → 0.3.1__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 (41) hide show
  1. autogaita-0.3.1/PKG-INFO +10 -0
  2. {autogaita-0.3.0 → autogaita-0.3.1}/README.md +1 -1
  3. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/autogaita_dlc.py +13 -2
  4. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/autogaita_group.py +12 -13
  5. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/autogaita_simi.py +25 -8
  6. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/batchrun_scripts/autogaita_dlc_multirun.py +29 -6
  7. autogaita-0.3.1/autogaita.egg-info/PKG-INFO +10 -0
  8. {autogaita-0.3.0 → autogaita-0.3.1}/setup.py +1 -1
  9. autogaita-0.3.0/PKG-INFO +0 -24
  10. autogaita-0.3.0/autogaita.egg-info/PKG-INFO +0 -24
  11. {autogaita-0.3.0 → autogaita-0.3.1}/LICENSE +0 -0
  12. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/__init__.py +0 -0
  13. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/__main__.py +0 -0
  14. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/autogaita.py +0 -0
  15. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/autogaita_dlc_gui.py +0 -0
  16. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/autogaita_group_gui.py +0 -0
  17. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/autogaita_icon.icns +0 -0
  18. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/autogaita_icon.ico +0 -0
  19. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/autogaita_logo.png +0 -0
  20. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/autogaita_simi_gui.py +0 -0
  21. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/autogaita_utils.py +0 -0
  22. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/batchrun_scripts/__init__.py +0 -0
  23. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/batchrun_scripts/autogaita_dlc_singlerun.py +1 -1
  24. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/batchrun_scripts/autogaita_group_dlcrun.py +0 -0
  25. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/batchrun_scripts/autogaita_group_simirun.py +0 -0
  26. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/batchrun_scripts/autogaita_simi_multirun.py +0 -0
  27. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/batchrun_scripts/autogaita_simi_singlerun.py +0 -0
  28. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/dlc_gui_config.json +0 -0
  29. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/group_gui_config.json +0 -0
  30. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita/simi_gui_config.json +0 -0
  31. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita.egg-info/SOURCES.txt +0 -0
  32. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita.egg-info/dependency_links.txt +0 -0
  33. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita.egg-info/requires.txt +0 -0
  34. {autogaita-0.3.0 → autogaita-0.3.1}/autogaita.egg-info/top_level.txt +0 -0
  35. {autogaita-0.3.0 → autogaita-0.3.1}/setup.cfg +0 -0
  36. {autogaita-0.3.0 → autogaita-0.3.1}/tests/test_dlc_approval.py +0 -0
  37. {autogaita-0.3.0 → autogaita-0.3.1}/tests/test_dlc_unit1_preparation.py +0 -0
  38. {autogaita-0.3.0 → autogaita-0.3.1}/tests/test_dlc_unit2_sc_extraction.py +0 -0
  39. {autogaita-0.3.0 → autogaita-0.3.1}/tests/test_dlc_unit3_main_analysis.py +0 -0
  40. {autogaita-0.3.0 → autogaita-0.3.1}/tests/test_group_approval.py +0 -0
  41. {autogaita-0.3.0 → autogaita-0.3.1}/tests/test_simi_approval.py +0 -0
@@ -0,0 +1,10 @@
1
+ Metadata-Version: 2.1
2
+ Name: autogaita
3
+ Version: 0.3.1
4
+ Summary: Automatic Gait Analysis in Python
5
+ Home-page: https://github.com/mahan-hosseini/AutoGaitA/
6
+ Author: Mahan Hosseini
7
+ License: GPLv3
8
+ Requires-Python: >=3.10
9
+ Provides-Extra: dev
10
+ License-File: LICENSE
@@ -31,7 +31,7 @@ It is strongly recommended that a separate virtual environment for AutoGaitA is
31
31
 
32
32
  - Access the main user interface via `python -m autogaita`.
33
33
 
34
- - To update to the latest release (see the *Releases* panel on the right for the current version) activate your virtual environment & enter `pip install autogaita -U`.
34
+ - 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
35
 
36
36
  ## Tutorials and Examples
37
37
 
@@ -84,6 +84,8 @@ def dlc(info, folderinfo, cfg):
84
84
  all_cycles = extract_stepcycles(data, info, folderinfo, cfg)
85
85
  if not all_cycles:
86
86
  handle_issues("scs_invalid", info)
87
+ if cfg["dont_show_plots"] is False: # otherwise stuck at loading
88
+ plot_panel_instance.destroy_plot_panel()
87
89
  return
88
90
 
89
91
  # ......... main analysis: sc-lvl y-norm, features, df-creation & export ..........
@@ -1443,6 +1445,9 @@ def plot_results(info, results, folderinfo, cfg, plot_panel_instance):
1443
1445
  # ...............................3 - angles by time.................................
1444
1446
  if angles["name"]:
1445
1447
  plot_angles_by_time(all_steps_data, sc_idxs, info, cfg, plot_panel_instance)
1448
+ # regularly closing figures to save memory
1449
+ # => no problem to do this since we pass figure-vars to save-functions and PlotPanel
1450
+ plt.close("all")
1446
1451
 
1447
1452
  # ..........................4 - hindlimb stick diagram..............................
1448
1453
  plot_hindlimb_stickdiagram(all_steps_data, sc_idxs, info, cfg, plot_panel_instance)
@@ -1461,6 +1466,7 @@ def plot_results(info, results, folderinfo, cfg, plot_panel_instance):
1461
1466
  plot_joint_x_by_average_SC(
1462
1467
  average_data, std_data, info, cfg, plot_panel_instance
1463
1468
  )
1469
+ plt.close("all")
1464
1470
 
1465
1471
  # ........................8 - average angles over SC percentage.....................
1466
1472
  if angles["name"]:
@@ -1491,11 +1497,12 @@ def plot_results(info, results, folderinfo, cfg, plot_panel_instance):
1491
1497
  plot_angular_acceleration_by_average_SC(
1492
1498
  average_data, std_data, info, cfg, plot_panel_instance
1493
1499
  )
1500
+ plt.close("all")
1494
1501
 
1495
1502
  # ........................optional - 13 - build plot panel..........................
1496
- if cfg["dont_show_plots"] is True:
1503
+ if dont_show_plots is True:
1497
1504
  pass # going on without building the plot window
1498
- elif cfg["dont_show_plots"] is False: # -> show plot panel
1505
+ elif dont_show_plots is False: # -> show plot panel
1499
1506
  # Destroy loading screen and build plot panel with all figures
1500
1507
  plot_panel_instance.destroy_plot_panel_loading_screen()
1501
1508
  plot_panel_instance.build_plot_panel()
@@ -2427,6 +2434,10 @@ class PlotPanel:
2427
2434
  f"AutoGaitA Plot Panel {self.current_fig_index+1}/{len(self.figures)}"
2428
2435
  )
2429
2436
 
2437
+ def destroy_plot_panel(self):
2438
+ # Needed if no SCs after checks
2439
+ self.loading_screen.destroy()
2440
+
2430
2441
 
2431
2442
  # %% local functions 5 - print finish
2432
2443
 
@@ -135,6 +135,7 @@ def group(folderinfo, cfg):
135
135
  # ................................... PCA ........................................
136
136
  if cfg["PCA_variables"]: # empty lists are falsey!
137
137
  PCA_on_a_limb(avg_dfs, folderinfo, cfg, plot_panel_instance)
138
+ plt.close("all") # OK since all figures passed to save-funcs & PlotPanel
138
139
 
139
140
  # .............................. prepare statistics ..............................
140
141
  stats_df = create_stats_df(avg_dfs, folderinfo, cfg)
@@ -152,6 +153,7 @@ def group(folderinfo, cfg):
152
153
  cfg,
153
154
  plot_panel_instance,
154
155
  )
156
+ plt.close("all")
155
157
 
156
158
  # .................................. ANOVA ...................................
157
159
  if cfg["do_anova"]: # indentation since we check for stats-vars here too!
@@ -165,6 +167,7 @@ def group(folderinfo, cfg):
165
167
  cfg,
166
168
  plot_panel_instance,
167
169
  )
170
+ plt.close("all")
168
171
 
169
172
  # .................................. plots .......................................
170
173
  plot_results(g_avg_dfs, g_std_dfs, folderinfo, cfg, plot_panel_instance)
@@ -606,6 +609,10 @@ def import_and_combine_dfs(
606
609
  group_df = df_copy.iloc[sc_idxs[sc]]
607
610
  else:
608
611
  nanvector = df_copy.loc[[1]]
612
+ # new for pandas 2.2.2 - change all cols to floats so its compatible
613
+ # with np.nan concatenation (does this break anything?)
614
+ # pdb.set_trace()
615
+ nanvector = nanvector.astype(float)
609
616
  nanvector[:] = np.nan
610
617
  group_df = pd.concat([group_df, nanvector], axis=0)
611
618
  group_df = pd.concat([group_df, df_copy.iloc[sc_idxs[sc]]], axis=0)
@@ -1124,7 +1131,6 @@ def plot_PCA(PCA_df, PCA_info, folderinfo, cfg, plot_panel_instance):
1124
1131
  )
1125
1132
  writervideo = FFMpegWriter(fps=30) # save to m4 using ffmpeg writer
1126
1133
  anim.save(results_dir + "PCA 3D Scatterplot.mp4", writer=writervideo)
1127
- plt.close()
1128
1134
 
1129
1135
 
1130
1136
  # %% ................ local functions #5 - prepare statistics ........................
@@ -1507,7 +1513,6 @@ def plot_permutation_test_results(
1507
1513
  f.suptitle(figure_file_string, fontsize=PERM_PLOT_SUPLABEL_SIZE)
1508
1514
  save_figures(f, results_dir, figure_file_string)
1509
1515
 
1510
- plt.close(f)
1511
1516
  # add figure to plot panel figures list
1512
1517
  if dont_show_plots is False: # -> show plot panel
1513
1518
  plot_panel_instance.figures.append(f)
@@ -1790,7 +1795,6 @@ def plot_multcomp_results(
1790
1795
  )
1791
1796
  save_figures(f, results_dir, figure_file_string)
1792
1797
 
1793
- plt.close(f)
1794
1798
  # add figure to plot panel figures list
1795
1799
  if dont_show_plots is False: # -> show plot panel
1796
1800
  plot_panel_instance.figures.append(f)
@@ -1834,6 +1838,7 @@ def plot_results(g_avg_dfs, g_std_dfs, folderinfo, cfg, plot_panel_instance):
1834
1838
  plot_joint_y_by_average_SC(
1835
1839
  g_avg_dfs, g_std_dfs, folderinfo, cfg, plot_panel_instance
1836
1840
  )
1841
+ plt.close("all")
1837
1842
 
1838
1843
  # .......................2 - x coords over average SC (optional)....................
1839
1844
  if tracking_software == "DLC":
@@ -1846,23 +1851,27 @@ def plot_results(g_avg_dfs, g_std_dfs, folderinfo, cfg, plot_panel_instance):
1846
1851
  plot_joint_x_by_average_SC(
1847
1852
  g_avg_dfs, g_std_dfs, folderinfo, cfg, plot_panel_instance
1848
1853
  )
1854
+ plt.close("all")
1849
1855
 
1850
1856
  # ........................3 - angles over average SC................................
1851
1857
  if angles["name"]:
1852
1858
  plot_angles_by_average_SC(
1853
1859
  g_avg_dfs, g_std_dfs, folderinfo, cfg, plot_panel_instance
1854
1860
  )
1861
+ plt.close("all")
1855
1862
 
1856
1863
  # .................4 - average x velocities over SC percentage......................
1857
1864
  plot_x_velocities_by_average_SC(
1858
1865
  g_avg_dfs, g_std_dfs, folderinfo, cfg, plot_panel_instance
1859
1866
  )
1867
+ plt.close("all")
1860
1868
 
1861
1869
  # ..............5 - average angular velocities over SC percentage...................
1862
1870
  if angles["name"]:
1863
1871
  plot_angular_velocities_by_average_SC(
1864
1872
  g_avg_dfs, g_std_dfs, folderinfo, cfg, plot_panel_instance
1865
1873
  )
1874
+ plt.close("all")
1866
1875
 
1867
1876
  # ........................optional - 6 - build plot panel..........................
1868
1877
  if cfg["dont_show_plots"] is True:
@@ -1931,7 +1940,6 @@ def plot_joint_y_by_average_SC(
1931
1940
  ax.set_ylabel("Z")
1932
1941
  figure_file_string = " - Joint Z-coord.s over average step cycle"
1933
1942
  save_figures(f, results_dir, group_name + figure_file_string)
1934
- plt.close(f)
1935
1943
 
1936
1944
  # add figure to plot panel figures list
1937
1945
  if dont_show_plots is False: # -> show plot panel
@@ -1980,7 +1988,6 @@ def plot_joint_y_by_average_SC(
1980
1988
  ax.set_ylabel("Z")
1981
1989
  figure_file_string = "- Z-coord.s over average step cycle"
1982
1990
  save_figures(f, results_dir, joint + figure_file_string)
1983
- plt.close(f)
1984
1991
 
1985
1992
  # add figure to plot panel figures list
1986
1993
  if dont_show_plots is False: # -> show plot panel
@@ -2045,7 +2052,6 @@ def plot_joint_x_by_average_SC(
2045
2052
  ax.set_ylabel("Y")
2046
2053
  figure_file_string = " - Joint Y-coord.s over average step cycle"
2047
2054
  save_figures(f, results_dir, group_name + figure_file_string)
2048
- plt.close(f)
2049
2055
 
2050
2056
  # add figure to plot panel figures list
2051
2057
  if dont_show_plots is False: # -> show plot panel
@@ -2094,7 +2100,6 @@ def plot_joint_x_by_average_SC(
2094
2100
  ax.set_ylabel("Y")
2095
2101
  figure_file_string = "- Y-coord.s over average step cycle"
2096
2102
  save_figures(f, results_dir, joint + figure_file_string)
2097
- plt.close(f)
2098
2103
 
2099
2104
  # add figure to plot panel figures list
2100
2105
  if dont_show_plots is False: # -> show plot panel
@@ -2153,7 +2158,6 @@ def plot_angles_by_average_SC(
2153
2158
  )
2154
2159
  figure_file_string = " - Joint angles over average step cycle"
2155
2160
  save_figures(f, results_dir, group_name + figure_file_string)
2156
- plt.close(f)
2157
2161
 
2158
2162
  # add figure to plot panel figures list
2159
2163
  if dont_show_plots is False: # -> show plot panel
@@ -2195,7 +2199,6 @@ def plot_angles_by_average_SC(
2195
2199
  ax.set_title(title_leg + " " + angle + " angle over average step cycle")
2196
2200
  figure_file_string = " - Angle over average step cycle"
2197
2201
  save_figures(f, results_dir, angle + figure_file_string)
2198
- plt.close(f)
2199
2202
 
2200
2203
  # add figure to plot panel figures list
2201
2204
  if dont_show_plots is False: # -> show plot panel
@@ -2275,7 +2278,6 @@ def plot_x_velocities_by_average_SC(
2275
2278
  )
2276
2279
  figure_file_string = " - Joint velocities over average step cycle"
2277
2280
  save_figures(f, results_dir, group_name + figure_file_string)
2278
- plt.close(f)
2279
2281
 
2280
2282
  # add figure to plot panel figures list
2281
2283
  if dont_show_plots is False: # -> show plot panel
@@ -2336,7 +2338,6 @@ def plot_x_velocities_by_average_SC(
2336
2338
  )
2337
2339
  figure_file_string = "- Velocities over average step cycle"
2338
2340
  save_figures(f, results_dir, joint + figure_file_string)
2339
- plt.close(f)
2340
2341
 
2341
2342
  # add figure to plot panel figures list
2342
2343
  if dont_show_plots is False: # -> show plot panel
@@ -2400,7 +2401,6 @@ def plot_angular_velocities_by_average_SC(
2400
2401
  )
2401
2402
  figure_file_string = " - Angular velocities over average step cycle"
2402
2403
  save_figures(f, results_dir, group_name + figure_file_string)
2403
- plt.close(f)
2404
2404
 
2405
2405
  # add figure to plot panel figures list
2406
2406
  if dont_show_plots is False: # -> show plot panel
@@ -2449,7 +2449,6 @@ def plot_angular_velocities_by_average_SC(
2449
2449
  )
2450
2450
  figure_file_string = " - Angular Velocities over average step cycle"
2451
2451
  save_figures(f, results_dir, angle + figure_file_string)
2452
- plt.close(f)
2453
2452
 
2454
2453
  # add figure to plot panel figures list
2455
2454
  if dont_show_plots is False: # -> show plot panel
@@ -116,6 +116,8 @@ def simi(info, folderinfo, cfg):
116
116
  all_cycles = extract_stepcycles(data, info, folderinfo, cfg)
117
117
  all_cycles = check_stepcycles(all_cycles, info)
118
118
  if not all_cycles: # only None if both leg's SCs were None
119
+ if cfg["dont_show_plots"] is False: # otherwise stuck at loading
120
+ plot_panel_instance.destroy_plot_panel()
119
121
  return
120
122
 
121
123
  # ...... main analysis: y-flipping, features, df-creation & exports ..............
@@ -1539,6 +1541,10 @@ def plot_results(results, all_cycles, info, cfg, plot_panel_instance):
1539
1541
  angles = cfg["angles"]
1540
1542
  y_acceleration = cfg["y_acceleration"]
1541
1543
  angular_acceleration = cfg["angular_acceleration"]
1544
+ analyse_average_y = cfg["analyse_average_y"]
1545
+ dont_show_plots = cfg["dont_show_plots"]
1546
+ if dont_show_plots:
1547
+ plt.switch_backend("Agg")
1542
1548
 
1543
1549
  # unpack - output specific vars (results to be plotted)
1544
1550
  for legname in LEGS: # !!! NU - output...
@@ -1553,15 +1559,19 @@ def plot_results(results, all_cycles, info, cfg, plot_panel_instance):
1553
1559
  )
1554
1560
 
1555
1561
  # ........................ 2 - y coords by time ..............................
1556
- plot_joint_y_by_time(
1557
- legname, all_steps_data, all_cycles, info, cfg, plot_panel_instance
1558
- )
1562
+ if analyse_average_y:
1563
+ plot_joint_y_by_time(
1564
+ legname, all_steps_data, all_cycles, info, cfg, plot_panel_instance
1565
+ )
1559
1566
 
1560
1567
  # .................. 3 - angle by time for each SC ...........................
1561
1568
  if angles["name"]:
1562
1569
  plot_angles_by_time(
1563
1570
  legname, all_steps_data, all_cycles, info, cfg, plot_panel_instance
1564
1571
  )
1572
+ # regularly closing figures to save memory
1573
+ # => no problem to do this since we pass figure-vars to save-functions and Panel
1574
+ plt.close("all")
1565
1575
 
1566
1576
  # ............................ 4 - stick diagram .............................
1567
1577
  plot_stickdiagram(
@@ -1574,15 +1584,17 @@ def plot_results(results, all_cycles, info, cfg, plot_panel_instance):
1574
1584
  )
1575
1585
 
1576
1586
  # ................. 5 - average 5-joints' y over SC percentage ...............
1577
- plot_joint_y_by_average_SC(
1578
- legname, average_data, std_data, sc_num, info, cfg, plot_panel_instance
1579
- )
1587
+ if analyse_average_y:
1588
+ plot_joint_y_by_average_SC(
1589
+ legname, average_data, std_data, sc_num, info, cfg, plot_panel_instance
1590
+ )
1580
1591
 
1581
1592
  # ................... 6 - average angles over SC percentage ..................
1582
1593
  if angles["name"]:
1583
1594
  plot_angles_by_average_SC(
1584
1595
  legname, average_data, std_data, sc_num, info, cfg, plot_panel_instance
1585
1596
  )
1597
+ plt.close("all")
1586
1598
 
1587
1599
  # ............. 7 - average y velocities over SC percentage .................
1588
1600
  plot_y_velocities_by_average_SC(
@@ -1613,11 +1625,12 @@ def plot_results(results, all_cycles, info, cfg, plot_panel_instance):
1613
1625
  cfg,
1614
1626
  plot_panel_instance,
1615
1627
  )
1628
+ plt.close("all")
1616
1629
 
1617
1630
  # ........................optional - 11 - build plot panel..........................
1618
- if cfg["dont_show_plots"] is True:
1631
+ if dont_show_plots is True:
1619
1632
  pass # going on without building the plot window
1620
- elif cfg["dont_show_plots"] is False: # -> show plot panel
1633
+ elif dont_show_plots is False: # -> show plot panel
1621
1634
  # Destroy loading screen and build plot panel with all figures
1622
1635
  plot_panel_instance.destroy_plot_panel_loading_screen()
1623
1636
  plot_panel_instance.build_plot_panel()
@@ -2597,6 +2610,10 @@ class PlotPanel:
2597
2610
  f"AutoGaitA Plot Panel {self.current_fig_index+1}/{len(self.figures)}"
2598
2611
  )
2599
2612
 
2613
+ def destroy_plot_panel(self):
2614
+ # Needed if no SCs after checks
2615
+ self.loading_screen.destroy()
2616
+
2600
2617
 
2601
2618
  # %% local functions 5 - print finish
2602
2619
 
@@ -95,16 +95,39 @@ def extract_info(folderinfo):
95
95
  postrun_string = folderinfo["postrun_string"]
96
96
  info = {"name": [], "mouse_num": [], "run_num": []}
97
97
  for filename in os.listdir(folderinfo["root_dir"]):
98
+ # make sure we don't get wrong files
98
99
  if (
99
- (premouse_string in filename) # make sure we don't get wrong files
100
+ (premouse_string in filename)
100
101
  & (prerun_string in filename)
101
102
  & (filename.endswith(".csv"))
102
103
  ):
103
- # we can use COUNT vars as we do here, since we start @ 0 and do
104
- # not include the last index (so if counts=2, idx=[0:2]=include
105
- # 0&1 only!)
106
- this_mouse_num = find_number(filename, premouse_string, postmouse_string)
107
- this_run_num = find_number(filename, prerun_string, postrun_string)
104
+ # ID number - fill in "_" for user if needed
105
+ this_mouse_num = False
106
+ for candidate_postmouse_string in [
107
+ postmouse_string,
108
+ "_" + postmouse_string,
109
+ ]:
110
+ try:
111
+ this_mouse_num = find_number(
112
+ filename,
113
+ premouse_string,
114
+ candidate_postmouse_string,
115
+ )
116
+ except:
117
+ pass
118
+ # Do the same for run number
119
+ this_run_num = False
120
+ for candidate_postrun_string in [
121
+ postrun_string,
122
+ "-" + postrun_string,
123
+ ]:
124
+ try:
125
+ this_run_num = find_number(
126
+ filename, prerun_string, candidate_postrun_string
127
+ )
128
+ except:
129
+ pass
130
+ # if we found both an ID and a run number, create this_name & add to dict
108
131
  this_name = "ID " + str(this_mouse_num) + " - Run " + str(this_run_num)
109
132
  if this_name not in info["name"]: # no data/beam duplicates here
110
133
  info["name"].append(this_name)
@@ -0,0 +1,10 @@
1
+ Metadata-Version: 2.1
2
+ Name: autogaita
3
+ Version: 0.3.1
4
+ Summary: Automatic Gait Analysis in Python
5
+ Home-page: https://github.com/mahan-hosseini/AutoGaitA/
6
+ Author: Mahan Hosseini
7
+ License: GPLv3
8
+ Requires-Python: >=3.10
9
+ Provides-Extra: dev
10
+ License-File: LICENSE
@@ -25,7 +25,7 @@ if platform.system() == "Darwin":
25
25
  setup(
26
26
  name="autogaita",
27
27
  python_requires=">=3.10",
28
- version="0.3.0", # rc == release candidate (before release is finished)
28
+ version="0.3.1", # rc == release candidate (before release is finished)
29
29
  author="Mahan Hosseini",
30
30
  description="Automatic Gait Analysis in Python",
31
31
  packages=["autogaita", "autogaita.batchrun_scripts"],
autogaita-0.3.0/PKG-INFO DELETED
@@ -1,24 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: autogaita
3
- Version: 0.3.0
4
- Summary: Automatic Gait Analysis in Python
5
- Home-page: https://github.com/mahan-hosseini/AutoGaitA/
6
- Author: Mahan Hosseini
7
- License: GPLv3
8
- Requires-Python: >=3.10
9
- License-File: LICENSE
10
- Requires-Dist: customtkinter>=5.2
11
- Requires-Dist: pandas>=2.0
12
- Requires-Dist: numpy>=1.24
13
- Requires-Dist: seaborn>=0.13
14
- Requires-Dist: matplotlib>=3.7
15
- Requires-Dist: scikit-learn>=1.2
16
- Requires-Dist: pingouin>=0.5
17
- Requires-Dist: scipy>=1.11
18
- Requires-Dist: ffmpeg-python>=0.2
19
- Requires-Dist: openpyxl>=3.1
20
- Requires-Dist: pillow>=10.3
21
- Requires-Dist: pyobjc
22
- Provides-Extra: dev
23
- Requires-Dist: pytest; extra == "dev"
24
- Requires-Dist: hypothesis; extra == "dev"
@@ -1,24 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: autogaita
3
- Version: 0.3.0
4
- Summary: Automatic Gait Analysis in Python
5
- Home-page: https://github.com/mahan-hosseini/AutoGaitA/
6
- Author: Mahan Hosseini
7
- License: GPLv3
8
- Requires-Python: >=3.10
9
- License-File: LICENSE
10
- Requires-Dist: customtkinter>=5.2
11
- Requires-Dist: pandas>=2.0
12
- Requires-Dist: numpy>=1.24
13
- Requires-Dist: seaborn>=0.13
14
- Requires-Dist: matplotlib>=3.7
15
- Requires-Dist: scikit-learn>=1.2
16
- Requires-Dist: pingouin>=0.5
17
- Requires-Dist: scipy>=1.11
18
- Requires-Dist: ffmpeg-python>=0.2
19
- Requires-Dist: openpyxl>=3.1
20
- Requires-Dist: pillow>=10.3
21
- Requires-Dist: pyobjc
22
- Provides-Extra: dev
23
- Requires-Dist: pytest; extra == "dev"
24
- Requires-Dist: hypothesis; extra == "dev"
File without changes
@@ -11,8 +11,8 @@ def dlc_singlerun():
11
11
  # folderinfo
12
12
  folderinfo = {}
13
13
  folderinfo["root_dir"] = "/Users/mahan/sciebo/Research/AutoGaitA/Mouse/Testing/"
14
- folderinfo["results_dir"] = ""
15
14
  folderinfo["sctable_filename"] = "25mm.xlsx"
15
+ folderinfo["results_dir"] = ""
16
16
  folderinfo["data_string"] = "SIMINewOct"
17
17
  folderinfo["beam_string"] = "BeamTraining"
18
18
  folderinfo["premouse_string"] = "Mouse"
File without changes