Simple-Track 2.0.1__tar.gz → 2.0.3__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 (29) hide show
  1. {simple_track-2.0.1 → simple_track-2.0.3}/PKG-INFO +5 -5
  2. {simple_track-2.0.1 → simple_track-2.0.3}/pyproject.toml +4 -4
  3. {simple_track-2.0.1 → simple_track-2.0.3}/src/Simple_Track.egg-info/PKG-INFO +5 -5
  4. {simple_track-2.0.1 → simple_track-2.0.3}/src/Simple_Track.egg-info/requires.txt +2 -2
  5. {simple_track-2.0.1 → simple_track-2.0.3}/src/run_simple_track.py +6 -0
  6. {simple_track-2.0.1 → simple_track-2.0.3}/src/simpletrack/track.py +7 -2
  7. {simple_track-2.0.1 → simple_track-2.0.3}/LICENSE +0 -0
  8. {simple_track-2.0.1 → simple_track-2.0.3}/README.md +1 -1
  9. {simple_track-2.0.1 → simple_track-2.0.3}/setup.cfg +0 -0
  10. {simple_track-2.0.1 → simple_track-2.0.3}/src/Simple_Track.egg-info/SOURCES.txt +0 -0
  11. {simple_track-2.0.1 → simple_track-2.0.3}/src/Simple_Track.egg-info/dependency_links.txt +0 -0
  12. {simple_track-2.0.1 → simple_track-2.0.3}/src/Simple_Track.egg-info/entry_points.txt +0 -0
  13. {simple_track-2.0.1 → simple_track-2.0.3}/src/Simple_Track.egg-info/top_level.txt +0 -0
  14. {simple_track-2.0.1 → simple_track-2.0.3}/src/simpletrack/__init__.py +0 -0
  15. {simple_track-2.0.1 → simple_track-2.0.3}/src/simpletrack/exceptions.py +0 -0
  16. {simple_track-2.0.1 → simple_track-2.0.3}/src/simpletrack/feature.py +0 -0
  17. {simple_track-2.0.1 → simple_track-2.0.3}/src/simpletrack/flow_solver.py +0 -0
  18. {simple_track-2.0.1 → simple_track-2.0.3}/src/simpletrack/frame.py +0 -0
  19. {simple_track-2.0.1 → simple_track-2.0.3}/src/simpletrack/frame_output.py +0 -0
  20. {simple_track-2.0.1 → simple_track-2.0.3}/src/simpletrack/frame_tracker.py +0 -0
  21. {simple_track-2.0.1 → simple_track-2.0.3}/src/simpletrack/load.py +0 -0
  22. {simple_track-2.0.1 → simple_track-2.0.3}/src/simpletrack/utils.py +0 -0
  23. {simple_track-2.0.1 → simple_track-2.0.3}/tests/test_feature.py +0 -0
  24. {simple_track-2.0.1 → simple_track-2.0.3}/tests/test_flow_solver.py +0 -0
  25. {simple_track-2.0.1 → simple_track-2.0.3}/tests/test_frame.py +0 -0
  26. {simple_track-2.0.1 → simple_track-2.0.3}/tests/test_frame_tracker.py +0 -0
  27. {simple_track-2.0.1 → simple_track-2.0.3}/tests/test_mwe_output.py +0 -0
  28. {simple_track-2.0.1 → simple_track-2.0.3}/tests/test_simple_track_and_load.py +0 -0
  29. {simple_track-2.0.1 → simple_track-2.0.3}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Simple-Track
3
- Version: 2.0.1
3
+ Version: 2.0.3
4
4
  Summary: Threshold-based object tracking algorithm for 2D data
5
5
  Author-email: Adam Gainford <adam.gainford@reading.ac.uk>, Thorwald Stein <t.h.m.stein@reading.ac.uk>
6
6
  License-Expression: MPL-2.0
@@ -8,15 +8,15 @@ Project-URL: Homepage, https://github.com/ParaChute-UK/simple-track/
8
8
  Project-URL: Issues, https://github.com/ParaChute-UK/simple-track/issues
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: Operating System :: OS Independent
11
- Requires-Python: >=3.9
11
+ Requires-Python: >=3.10
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
- Requires-Dist: numpy>=2.3.4
14
+ Requires-Dist: numpy>=2.2.0
15
15
  Requires-Dist: pytest>=9.0
16
16
  Requires-Dist: pytest-cov
17
17
  Requires-Dist: pytest-xdist
18
18
  Requires-Dist: pyyaml
19
- Requires-Dist: scipy>=1.16.3
19
+ Requires-Dist: scipy>=1.15.0
20
20
  Requires-Dist: scikit-image>=0.25.2
21
21
  Dynamic: license-file
22
22
 
@@ -203,6 +203,7 @@ OUTPUT:
203
203
  path: ./output
204
204
  experiment_name: Simple-Track Experiment # Name of experiment to add to output files
205
205
  save_data: true # Whether to save data to output
206
+ skip_tracking: false # Whether to skip tracking and just output feature properties
206
207
 
207
208
  FEATURE:
208
209
  threshold: 1 # Threshold used for defining a feature
@@ -217,7 +218,6 @@ FLOW_SOLVER:
217
218
  apply_tukey_filtering: True # Apply a 2D Tukey window to each subdomain before phase cross-correlation
218
219
 
219
220
  TRACKING:
220
- skip_tracking: false # Whether to skip tracking and just output feature properties
221
221
  overlap_nbhood: 5 # Radius of halo in pixels for orphan storms - big halo assumes storms may spawn "children" at a distance multiple pixels away
222
222
  overlap_threshold: 0.6 # Minimum fraction of overlap
223
223
  retain_lifetime_on_split: True # If a child Feature splits from its parent feature, this determines whether the child Feature should carry over the lifetime from the parent or whether its lifetime should be set to 1
@@ -4,14 +4,14 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "Simple-Track"
7
- version = "2.0.1"
7
+ version = "2.0.3"
8
8
  authors = [
9
9
  { name="Adam Gainford", email="adam.gainford@reading.ac.uk" },
10
10
  { name="Thorwald Stein", email="t.h.m.stein@reading.ac.uk"}
11
11
  ]
12
12
  description = "Threshold-based object tracking algorithm for 2D data "
13
13
  readme = "README.md"
14
- requires-python = ">=3.9"
14
+ requires-python = ">=3.10"
15
15
  classifiers = [
16
16
  "Programming Language :: Python :: 3",
17
17
  "Operating System :: OS Independent",
@@ -19,12 +19,12 @@ classifiers = [
19
19
  license = "MPL-2.0"
20
20
  license-files = ["LICEN[CS]E*"]
21
21
  dependencies = [
22
- "numpy >= 2.3.4",
22
+ "numpy >= 2.2.0",
23
23
  "pytest >= 9.0",
24
24
  "pytest-cov",
25
25
  "pytest-xdist",
26
26
  "pyyaml",
27
- "scipy >= 1.16.3",
27
+ "scipy >= 1.15.0",
28
28
  "scikit-image >= 0.25.2"
29
29
  ]
30
30
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Simple-Track
3
- Version: 2.0.1
3
+ Version: 2.0.3
4
4
  Summary: Threshold-based object tracking algorithm for 2D data
5
5
  Author-email: Adam Gainford <adam.gainford@reading.ac.uk>, Thorwald Stein <t.h.m.stein@reading.ac.uk>
6
6
  License-Expression: MPL-2.0
@@ -8,15 +8,15 @@ Project-URL: Homepage, https://github.com/ParaChute-UK/simple-track/
8
8
  Project-URL: Issues, https://github.com/ParaChute-UK/simple-track/issues
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: Operating System :: OS Independent
11
- Requires-Python: >=3.9
11
+ Requires-Python: >=3.10
12
12
  Description-Content-Type: text/markdown
13
13
  License-File: LICENSE
14
- Requires-Dist: numpy>=2.3.4
14
+ Requires-Dist: numpy>=2.2.0
15
15
  Requires-Dist: pytest>=9.0
16
16
  Requires-Dist: pytest-cov
17
17
  Requires-Dist: pytest-xdist
18
18
  Requires-Dist: pyyaml
19
- Requires-Dist: scipy>=1.16.3
19
+ Requires-Dist: scipy>=1.15.0
20
20
  Requires-Dist: scikit-image>=0.25.2
21
21
  Dynamic: license-file
22
22
 
@@ -203,6 +203,7 @@ OUTPUT:
203
203
  path: ./output
204
204
  experiment_name: Simple-Track Experiment # Name of experiment to add to output files
205
205
  save_data: true # Whether to save data to output
206
+ skip_tracking: false # Whether to skip tracking and just output feature properties
206
207
 
207
208
  FEATURE:
208
209
  threshold: 1 # Threshold used for defining a feature
@@ -217,7 +218,6 @@ FLOW_SOLVER:
217
218
  apply_tukey_filtering: True # Apply a 2D Tukey window to each subdomain before phase cross-correlation
218
219
 
219
220
  TRACKING:
220
- skip_tracking: false # Whether to skip tracking and just output feature properties
221
221
  overlap_nbhood: 5 # Radius of halo in pixels for orphan storms - big halo assumes storms may spawn "children" at a distance multiple pixels away
222
222
  overlap_threshold: 0.6 # Minimum fraction of overlap
223
223
  retain_lifetime_on_split: True # If a child Feature splits from its parent feature, this determines whether the child Feature should carry over the lifetime from the parent or whether its lifetime should be set to 1
@@ -1,7 +1,7 @@
1
- numpy>=2.3.4
1
+ numpy>=2.2.0
2
2
  pytest>=9.0
3
3
  pytest-cov
4
4
  pytest-xdist
5
5
  pyyaml
6
- scipy>=1.16.3
6
+ scipy>=1.15.0
7
7
  scikit-image>=0.25.2
@@ -1,3 +1,4 @@
1
+ import argparse
1
2
  import sys
2
3
 
3
4
  from simpletrack import Tracker
@@ -14,4 +15,9 @@ def run_tracking():
14
15
 
15
16
 
16
17
  if __name__ == "__main__":
18
+ # TODO: make argparser default way of handling inputs, including configs and loaders
19
+ # Need to make sure that changes don't affect pyproject.toml entry points
20
+ # easiest just to pass the parser in to run_tracking.
21
+ msg = "Run Simple-Track. Requires path to at least one yaml config file"
22
+ parser = argparse.ArgumentParser(description=msg)
17
23
  run_tracking()
@@ -45,6 +45,8 @@ class Tracker:
45
45
 
46
46
  if "INPUT" in self.config:
47
47
  self.file_type = self.config["INPUT"].get("file_type", None)
48
+ else:
49
+ self.file_type = None
48
50
 
49
51
  if "FLOW_SOLVER" in self.config:
50
52
  self.flow_solver = FlowSolver(**self.config["FLOW_SOLVER"])
@@ -53,16 +55,19 @@ class Tracker:
53
55
 
54
56
  if "TRACKING" in self.config:
55
57
  self.frame_tracker = FrameTracker(**self.config["TRACKING"])
56
- self.skip_tracking = self.config["TRACKING"].get("skip_tracking", False)
57
58
  else:
58
59
  self.frame_tracker = FrameTracker()
59
- self.skip_tracking = False
60
60
 
61
61
  if "OUTPUT" in self.config:
62
+ self.skip_tracking = self.config["TRACKING"].get("skip_tracking", False)
62
63
  output_path = self.config["OUTPUT"].get("path", "./output")
63
64
  expt_name = self.config["OUTPUT"].get(
64
65
  "experiment_name", "Simple-Track Experiment"
65
66
  )
67
+ else:
68
+ self.skip_tracking = False
69
+ output_path = "./output"
70
+ expt_name = "Simple-Track Experiment"
66
71
 
67
72
  # Output only if flagged in config
68
73
  self.frame_output = None
File without changes
@@ -181,6 +181,7 @@ OUTPUT:
181
181
  path: ./output
182
182
  experiment_name: Simple-Track Experiment # Name of experiment to add to output files
183
183
  save_data: true # Whether to save data to output
184
+ skip_tracking: false # Whether to skip tracking and just output feature properties
184
185
 
185
186
  FEATURE:
186
187
  threshold: 1 # Threshold used for defining a feature
@@ -195,7 +196,6 @@ FLOW_SOLVER:
195
196
  apply_tukey_filtering: True # Apply a 2D Tukey window to each subdomain before phase cross-correlation
196
197
 
197
198
  TRACKING:
198
- skip_tracking: false # Whether to skip tracking and just output feature properties
199
199
  overlap_nbhood: 5 # Radius of halo in pixels for orphan storms - big halo assumes storms may spawn "children" at a distance multiple pixels away
200
200
  overlap_threshold: 0.6 # Minimum fraction of overlap
201
201
  retain_lifetime_on_split: True # If a child Feature splits from its parent feature, this determines whether the child Feature should carry over the lifetime from the parent or whether its lifetime should be set to 1
File without changes