xttmp 2.3.0__tar.gz → 2.3.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 (52) hide show
  1. {xttmp-2.3.0/src/xttmp.egg-info → xttmp-2.3.0.2}/PKG-INFO +17 -6
  2. {xttmp-2.3.0 → xttmp-2.3.0.2}/README.md +12 -2
  3. {xttmp-2.3.0 → xttmp-2.3.0.2}/pyproject.toml +12 -5
  4. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/main.py +7 -0
  5. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/util/iostream.py +12 -1
  6. xttmp-2.3.0.2/src/xttmp/util/stmd.ico +0 -0
  7. {xttmp-2.3.0 → xttmp-2.3.0.2/src/xttmp.egg-info}/PKG-INFO +17 -6
  8. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp.egg-info/SOURCES.txt +2 -1
  9. xttmp-2.3.0.2/src/xttmp.egg-info/entry_points.txt +2 -0
  10. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp.egg-info/requires.txt +2 -0
  11. xttmp-2.3.0/src/xttmp.egg-info/entry_points.txt +0 -2
  12. {xttmp-2.3.0 → xttmp-2.3.0.2}/LICENSE +0 -0
  13. {xttmp-2.3.0 → xttmp-2.3.0.2}/setup.cfg +0 -0
  14. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/__init__.py +0 -0
  15. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/api/__init__.py +0 -0
  16. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/api/evaluate.py +0 -0
  17. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/api/get_visualize_handle.py +0 -0
  18. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/api/instancing_model.py +0 -0
  19. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/__init__.py +0 -0
  20. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/apgstmd_core.py +0 -0
  21. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/apgstmdv2_core.py +0 -0
  22. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/base_core.py +0 -0
  23. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/dstmd_core.py +0 -0
  24. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/estmd_backbone.py +0 -0
  25. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/estmd_core.py +0 -0
  26. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/feedbackstmd_core.py +0 -0
  27. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/fracstmd_core.py +0 -0
  28. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/fstmd_core.py +0 -0
  29. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/fstmdv2_core.py +0 -0
  30. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/haarstmd_core.py +0 -0
  31. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/math_operator.py +0 -0
  32. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/stfeedbackstmd_core.py +0 -0
  33. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/stmdplus_core.py +0 -0
  34. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/stmdplusv2_core.py +0 -0
  35. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/core/vstmd_core.py +0 -0
  36. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/demo/evaluate_model.py +0 -0
  37. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/demo/inference_gui.py +0 -0
  38. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/demo/inference_gui_single_process.py +0 -0
  39. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/demo/inference_image_stream.py +0 -0
  40. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/demo/inference_video.py +0 -0
  41. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/model/__init__.py +0 -0
  42. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/model/backbone.py +0 -0
  43. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/model/facilitated_model.py +0 -0
  44. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/model/feedback_model.py +0 -0
  45. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/model/haarstmd.py +0 -0
  46. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/model/vstmd.py +0 -0
  47. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/util/__init__.py +0 -0
  48. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/util/compute_module.py +0 -0
  49. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/util/create_kernel.py +0 -0
  50. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp/util/evaluate_module.py +0 -0
  51. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp.egg-info/dependency_links.txt +0 -0
  52. {xttmp-2.3.0 → xttmp-2.3.0.2}/src/xttmp.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xttmp
3
- Version: 2.3.0
3
+ Version: 2.3.0.2
4
4
  Summary: eXtremely Tiny Target - Motion Perception
5
5
  Author-email: Shawn MX <mingshuoxu@hotmail.com>
6
6
  Project-URL: Homepage, https://github.com/MingshuoXu/Small-Target-Motion-Detectors
@@ -16,15 +16,16 @@ Classifier: Programming Language :: Python :: 3.9
16
16
  Classifier: Programming Language :: Python :: 3.10
17
17
  Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
- Classifier: Topic :: Scientific/Engineering :: Image Recognition
19
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
20
20
  Requires-Python: >=3.8
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
23
  Requires-Dist: matplotlib
24
24
  Requires-Dist: opencv-python
25
25
  Requires-Dist: scipy
26
- Requires-Dist: torch>=2.5.0
27
- Requires-Dist: torchvision>=0.20.0
26
+ Provides-Extra: torch
27
+ Requires-Dist: torch>=2.5.0; extra == "torch"
28
+ Requires-Dist: torchvision>=0.20.0; extra == "torch"
28
29
  Dynamic: license-file
29
30
 
30
31
  # Small Target Motion Detectors, Version 2.3 (XTT-MP: Extremely Tiny Target - Motion Perception)
@@ -66,9 +67,19 @@ Built with modularity and extensibility in mind, XTT-MP provides a robust suite
66
67
  - After `pip install xttmp`, use the installed code and bring your own input data, or run from a repository checkout to access the bundled examples.
67
68
 
68
69
  ### Via PyPI
70
+ #### CPU
69
71
  ```bash
70
- pip install xttmp
71
- xttmp-gui
72
+ pip install xttmp[torch]
73
+ ```
74
+
75
+ #### NVIDIA GPU (CUDA 12.6)
76
+ ```bash
77
+ pip install torch torchvision --index-url https://download.pytorch.org/whl/cu126
78
+ ```
79
+
80
+ ### Running the GUI Demo
81
+ ```bash
82
+ xttmp_gui
72
83
  ```
73
84
 
74
85
  ### Citation
@@ -37,9 +37,19 @@ Built with modularity and extensibility in mind, XTT-MP provides a robust suite
37
37
  - After `pip install xttmp`, use the installed code and bring your own input data, or run from a repository checkout to access the bundled examples.
38
38
 
39
39
  ### Via PyPI
40
+ #### CPU
40
41
  ```bash
41
- pip install xttmp
42
- xttmp-gui
42
+ pip install xttmp[torch]
43
+ ```
44
+
45
+ #### NVIDIA GPU (CUDA 12.6)
46
+ ```bash
47
+ pip install torch torchvision --index-url https://download.pytorch.org/whl/cu126
48
+ ```
49
+
50
+ ### Running the GUI Demo
51
+ ```bash
52
+ xttmp_gui
43
53
  ```
44
54
 
45
55
  ### Citation
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "xttmp"
7
- version = "2.3.0"
7
+ version = "2.3.0.2"
8
8
  description = "eXtremely Tiny Target - Motion Perception"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -20,14 +20,12 @@ classifiers = [
20
20
  "Programming Language :: Python :: 3.10",
21
21
  "Programming Language :: Python :: 3.11",
22
22
  "Programming Language :: Python :: 3.12",
23
- "Topic :: Scientific/Engineering :: Image Recognition",
23
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
24
24
  ]
25
25
  dependencies = [
26
26
  "matplotlib",
27
27
  "opencv-python",
28
28
  "scipy",
29
- "torch>=2.5.0",
30
- "torchvision>=0.20.0",
31
29
  ]
32
30
 
33
31
  [project.urls]
@@ -36,7 +34,7 @@ Source = "https://github.com/MingshuoXu/Small-Target-Motion-Detectors"
36
34
  Issues = "https://github.com/MingshuoXu/Small-Target-Motion-Detectors/issues"
37
35
 
38
36
  [project.scripts]
39
- xttmp-gui = "xttmp.main:main"
37
+ xttmp_gui = "xttmp.main:main"
40
38
 
41
39
  [tool.setuptools]
42
40
  package-dir = {"" = "src"}
@@ -44,6 +42,15 @@ package-dir = {"" = "src"}
44
42
  [tool.setuptools.packages.find]
45
43
  where = ["src"]
46
44
 
45
+ [tool.setuptools.package-data]
46
+ "xttmp" = ["util/*.ico"]
47
+
48
+ [project.optional-dependencies]
49
+ torch = [
50
+ "torch>=2.5.0",
51
+ "torchvision>=0.20.0"
52
+ ]
53
+
47
54
  [dependency-groups]
48
55
  dev = []
49
56
 
@@ -2,6 +2,13 @@ from pathlib import Path
2
2
  import subprocess
3
3
  import sys
4
4
 
5
+ try:
6
+ import torch
7
+ except ImportError:
8
+ raise ImportError(
9
+ "Please install PyTorch first. "
10
+ "See https://pytorch.org/get-started/locally/"
11
+ )
5
12
 
6
13
  def main():
7
14
  script_path = Path(__file__).resolve().parent / 'demo' / 'inference_gui.py'
@@ -589,7 +589,7 @@ class ModelAndInputSelectorGUI:
589
589
 
590
590
  self.root.geometry('{}x{}+{}+{}'.format(windowWidth, windowHeight, startWidth, startHeight))
591
591
  self.root.title("Small target motion detector - Runner")
592
- self.root.iconbitmap(os.path.join(os.path.dirname(filePath), 'stmd.ico'))
592
+ self._set_window_icon()
593
593
 
594
594
  self.objModelSelector = ModelSelectorGUI(root)
595
595
  self.objInputSelector = InputSelectorGUI(root)
@@ -647,6 +647,17 @@ class ModelAndInputSelectorGUI:
647
647
  self.isStepping = True
648
648
  self._run()
649
649
 
650
+ def _set_window_icon(self):
651
+ icon_path = Path(__file__).resolve().with_name('stmd.ico')
652
+ if not icon_path.is_file():
653
+ logger.warning('Window icon not found: %s', icon_path)
654
+ return
655
+
656
+ try:
657
+ self.root.iconbitmap(str(icon_path))
658
+ except tk.TclError as exc:
659
+ logger.warning('Unable to set window icon %s: %s', icon_path, exc)
660
+
650
661
 
651
662
  def check_same_ext_name(startImgName, endImgName):
652
663
  _, ext1 = os.path.splitext(startImgName)
Binary file
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xttmp
3
- Version: 2.3.0
3
+ Version: 2.3.0.2
4
4
  Summary: eXtremely Tiny Target - Motion Perception
5
5
  Author-email: Shawn MX <mingshuoxu@hotmail.com>
6
6
  Project-URL: Homepage, https://github.com/MingshuoXu/Small-Target-Motion-Detectors
@@ -16,15 +16,16 @@ Classifier: Programming Language :: Python :: 3.9
16
16
  Classifier: Programming Language :: Python :: 3.10
17
17
  Classifier: Programming Language :: Python :: 3.11
18
18
  Classifier: Programming Language :: Python :: 3.12
19
- Classifier: Topic :: Scientific/Engineering :: Image Recognition
19
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
20
20
  Requires-Python: >=3.8
21
21
  Description-Content-Type: text/markdown
22
22
  License-File: LICENSE
23
23
  Requires-Dist: matplotlib
24
24
  Requires-Dist: opencv-python
25
25
  Requires-Dist: scipy
26
- Requires-Dist: torch>=2.5.0
27
- Requires-Dist: torchvision>=0.20.0
26
+ Provides-Extra: torch
27
+ Requires-Dist: torch>=2.5.0; extra == "torch"
28
+ Requires-Dist: torchvision>=0.20.0; extra == "torch"
28
29
  Dynamic: license-file
29
30
 
30
31
  # Small Target Motion Detectors, Version 2.3 (XTT-MP: Extremely Tiny Target - Motion Perception)
@@ -66,9 +67,19 @@ Built with modularity and extensibility in mind, XTT-MP provides a robust suite
66
67
  - After `pip install xttmp`, use the installed code and bring your own input data, or run from a repository checkout to access the bundled examples.
67
68
 
68
69
  ### Via PyPI
70
+ #### CPU
69
71
  ```bash
70
- pip install xttmp
71
- xttmp-gui
72
+ pip install xttmp[torch]
73
+ ```
74
+
75
+ #### NVIDIA GPU (CUDA 12.6)
76
+ ```bash
77
+ pip install torch torchvision --index-url https://download.pytorch.org/whl/cu126
78
+ ```
79
+
80
+ ### Running the GUI Demo
81
+ ```bash
82
+ xttmp_gui
72
83
  ```
73
84
 
74
85
  ### Citation
@@ -45,4 +45,5 @@ src/xttmp/util/__init__.py
45
45
  src/xttmp/util/compute_module.py
46
46
  src/xttmp/util/create_kernel.py
47
47
  src/xttmp/util/evaluate_module.py
48
- src/xttmp/util/iostream.py
48
+ src/xttmp/util/iostream.py
49
+ src/xttmp/util/stmd.ico
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ xttmp_gui = xttmp.main:main
@@ -1,5 +1,7 @@
1
1
  matplotlib
2
2
  opencv-python
3
3
  scipy
4
+
5
+ [torch]
4
6
  torch>=2.5.0
5
7
  torchvision>=0.20.0
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- xttmp-gui = xttmp.main:main
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes