c4dynamics 2.0.3__py3-none-any.whl

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 (50) hide show
  1. c4dynamics/__init__.py +240 -0
  2. c4dynamics/datasets/__init__.py +95 -0
  3. c4dynamics/datasets/_manager.py +596 -0
  4. c4dynamics/datasets/_registry.py +80 -0
  5. c4dynamics/detectors/__init__.py +37 -0
  6. c4dynamics/detectors/yolo3_opencv.py +686 -0
  7. c4dynamics/detectors/yolo3_tf.py +124 -0
  8. c4dynamics/eqm/__init__.py +324 -0
  9. c4dynamics/eqm/derivs.py +212 -0
  10. c4dynamics/eqm/integrate.py +359 -0
  11. c4dynamics/filters/__init__.py +1373 -0
  12. c4dynamics/filters/a.py +48 -0
  13. c4dynamics/filters/ekf.py +320 -0
  14. c4dynamics/filters/kalman.py +725 -0
  15. c4dynamics/filters/kalman_v0.py +1071 -0
  16. c4dynamics/filters/kalman_v1.py +821 -0
  17. c4dynamics/filters/lowpass.py +123 -0
  18. c4dynamics/filters/luenberger.py +97 -0
  19. c4dynamics/rotmat/__init__.py +141 -0
  20. c4dynamics/rotmat/animate.py +465 -0
  21. c4dynamics/rotmat/rotmat.py +351 -0
  22. c4dynamics/sensors/__init__.py +72 -0
  23. c4dynamics/sensors/lineofsight.py +78 -0
  24. c4dynamics/sensors/radar.py +740 -0
  25. c4dynamics/sensors/seeker.py +1030 -0
  26. c4dynamics/states/__init__.py +327 -0
  27. c4dynamics/states/lib/__init__.py +320 -0
  28. c4dynamics/states/lib/datapoint.py +660 -0
  29. c4dynamics/states/lib/pixelpoint.py +776 -0
  30. c4dynamics/states/lib/rigidbody.py +677 -0
  31. c4dynamics/states/state.py +1486 -0
  32. c4dynamics/utils/__init__.py +44 -0
  33. c4dynamics/utils/_struct.py +6 -0
  34. c4dynamics/utils/const.py +130 -0
  35. c4dynamics/utils/cprint.py +80 -0
  36. c4dynamics/utils/gen_gif.py +142 -0
  37. c4dynamics/utils/idx2keys.py +4 -0
  38. c4dynamics/utils/images_loader.py +63 -0
  39. c4dynamics/utils/math.py +136 -0
  40. c4dynamics/utils/plottools.py +140 -0
  41. c4dynamics/utils/plottracks.py +304 -0
  42. c4dynamics/utils/printpts.py +36 -0
  43. c4dynamics/utils/slides_gen.py +64 -0
  44. c4dynamics/utils/tictoc.py +167 -0
  45. c4dynamics/utils/video_gen.py +300 -0
  46. c4dynamics/utils/vidgen.py +182 -0
  47. c4dynamics-2.0.3.dist-info/METADATA +242 -0
  48. c4dynamics-2.0.3.dist-info/RECORD +50 -0
  49. c4dynamics-2.0.3.dist-info/WHEEL +5 -0
  50. c4dynamics-2.0.3.dist-info/top_level.txt +1 -0
@@ -0,0 +1,242 @@
1
+ Metadata-Version: 2.1
2
+ Name: c4dynamics
3
+ Version: 2.0.3
4
+ Summary: The framework for algorithms engineering with Python.
5
+ Home-page: UNKNOWN
6
+ Author: C4dynamics
7
+ Author-email: zivmeri@gmail.com
8
+ License: UNKNOWN
9
+ Keywords: python,dynamics,physics,algorithms,computer vision,navigation,guidance,slam,vsalm,image processing,singal processing,control
10
+ Platform: UNKNOWN
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Operating System :: Unix
15
+ Classifier: Operating System :: MacOS :: MacOS X
16
+ Classifier: Operating System :: Microsoft :: Windows
17
+ Description-Content-Type: text/markdown
18
+ Requires-Dist: scipy
19
+ Requires-Dist: numpy
20
+ Requires-Dist: matplotlib
21
+ Requires-Dist: opencv-python
22
+ Requires-Dist: imageio
23
+ Requires-Dist: natsort
24
+ Requires-Dist: pooch
25
+
26
+
27
+ <div align="center">
28
+
29
+ <img src="https://github.com/C4dynamics/C4dynamics/blob/main/docs/source/_icon/c4dlogotext.svg">
30
+
31
+ </div>
32
+
33
+
34
+
35
+
36
+
37
+
38
+
39
+ # Tsipor Dynamics
40
+
41
+
42
+
43
+ ## Algorithms Engineering and Development
44
+
45
+
46
+
47
+
48
+
49
+
50
+
51
+ Tsipor (bird) Dynamics (c4dynamics) is the open-source framework of algorithms development for objects in space and time.
52
+
53
+
54
+
55
+ [![My Skills](https://skillicons.dev/icons?i=python)](https://skillicons.dev)
56
+
57
+
58
+
59
+
60
+
61
+ [Documentation](https://c4dynamics.github.io/C4dynamics/)
62
+
63
+
64
+
65
+
66
+
67
+ ## Motivation
68
+
69
+
70
+
71
+ **c4dynamics** is designed to
72
+
73
+ simplify the development of algorithms for dynamic systems,
74
+
75
+ using state space representations.
76
+
77
+ It offers engineers and researchers a systematic approach to model,
78
+
79
+ simulate, and control systems in fields like
80
+
81
+ ``robotics, aerospace,`` and ``navigation``.
82
+
83
+
84
+
85
+ The framework introduces ``state objects,`` which are foundational
86
+
87
+ data structures that encapsulate state vectors and provide
88
+
89
+ the tools for managing data, simulating system behavior,
90
+
91
+ and analyzing results.
92
+
93
+
94
+
95
+ With integrated modules for sensors,
96
+
97
+ detectors, and filters,
98
+
99
+ c4dynamics accelerates algorithm development
100
+
101
+ while maintaining flexibility and scalability.
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+ ## Installation
112
+
113
+
114
+
115
+
116
+
117
+ * PIP
118
+
119
+
120
+
121
+ ```
122
+
123
+ >>> pip install c4dynamics
124
+
125
+ ```
126
+
127
+ [PyPi](https://pypi.org/project/c4dynamics/)
128
+
129
+
130
+
131
+
132
+
133
+ * GitHub
134
+
135
+
136
+
137
+ To run the latest GitHub version, download [c4dynamics](https://github.com/C4dynamics/C4dynamics)
138
+
139
+
140
+
141
+ Install required packages:
142
+
143
+
144
+
145
+ ```
146
+
147
+ >>> pip install -r requirements.txt
148
+
149
+ ```
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+
160
+
161
+ ## Quickstart
162
+
163
+
164
+
165
+ Import c4dynamics:
166
+
167
+ ```
168
+
169
+ >>> import c4dynamics as c4d
170
+
171
+ ```
172
+
173
+
174
+
175
+ Define state space object of two variables in the state space (y, vy) with initial conditions (change the state with your variables):
176
+
177
+ ```
178
+
179
+ >>> s = c4d.state(y = 1, vy = 0.5)
180
+
181
+ ```
182
+
183
+
184
+
185
+ Multiply the state vector by a matrix and store:
186
+
187
+ ```
188
+
189
+ >>> F = [[1, 1],
190
+
191
+ [0, 1]]
192
+
193
+ >>> s.X += F @ s.X
194
+
195
+ >>> s.store(t = 1)
196
+
197
+ ```
198
+
199
+
200
+
201
+ Print the state variables, the state vector, and the stored data:
202
+
203
+ ```
204
+
205
+ >>> print(s)
206
+
207
+ [ y vy ]
208
+
209
+ >>> s.X
210
+
211
+ [2.5 1]
212
+
213
+ >>> s.data('y')
214
+
215
+ ([0, 1], [1, 2.5])
216
+
217
+ ```
218
+
219
+
220
+
221
+
222
+
223
+ ## Block 2
224
+
225
+
226
+
227
+ - Complete state space objects mechanism
228
+
229
+ - Seeker and radar measurements
230
+
231
+ - Kalman filter and Extended Kalman filter
232
+
233
+ - YOLOv3 object detection API
234
+
235
+ - Datasets fetching to run examples
236
+
237
+ - Documentation
238
+
239
+
240
+
241
+
242
+
@@ -0,0 +1,50 @@
1
+ c4dynamics/__init__.py,sha256=0OlrMFdpDyHpRhbmAIML2zPadFedAvMiE_peoUKNsmg,6659
2
+ c4dynamics/datasets/__init__.py,sha256=lOLPKBwZ8-6bqGVIXTRc4Ks4Lr4NjmqkPwMj7Ujjm50,2825
3
+ c4dynamics/datasets/_manager.py,sha256=6R8hcqmLdxuG91Px2sR7R5E2JdsIPzJV26l0i60m1QI,15018
4
+ c4dynamics/datasets/_registry.py,sha256=bkMMxiZAy42rVgJ3lP9yc7dj94IwZ8ZBWM6-BWbRypk,4517
5
+ c4dynamics/detectors/__init__.py,sha256=jdSxQP0_9lgUPzdlvjs6LiYzsJ6rc2WgUgMC-GLTDeE,880
6
+ c4dynamics/detectors/yolo3_opencv.py,sha256=B6MTJ-WxPtXnYekKjFwLQDskCLSSm3QUm6kSeQ7T-zE,25060
7
+ c4dynamics/detectors/yolo3_tf.py,sha256=sSm0yBsL7qrodlnK0N6mL1EuyMgiPJt1kaDsrxXvTSk,5040
8
+ c4dynamics/eqm/__init__.py,sha256=Tlr5oGpgin3rl90x6qd5FwKynwaOYsSvymSqoPDJ6XQ,9697
9
+ c4dynamics/eqm/derivs.py,sha256=djW9jA1Qc_sO_9FzyHnYjJYhWxSApqjkvPh2sy7t-ts,5859
10
+ c4dynamics/eqm/integrate.py,sha256=79f-qKVyO3oOhBh8q3onJ0yt6BZaY-XHvXeBzJjF-tY,9935
11
+ c4dynamics/filters/__init__.py,sha256=3n39FMOK4tXFYQ04uHK7va_lwMSd03X1wc0kvsUp0iM,48127
12
+ c4dynamics/filters/a.py,sha256=Zzm1WRUTyvxLki4OwrLvto4ugBkQNGHWlhvutrn8074,660
13
+ c4dynamics/filters/ekf.py,sha256=zQeQW7c3ld7ZrhJZxkNHlop5Jh3400pT1XNThh3eIs4,9934
14
+ c4dynamics/filters/kalman.py,sha256=zgGOL4G4Imkcl7uh-XXKjIx83Qcxbwd6N5RfD6de1EA,21757
15
+ c4dynamics/filters/kalman_v0.py,sha256=oNxZipKer1OPMX3hxAUpuZEGGYs2_RDnJwaCQFeeDus,32993
16
+ c4dynamics/filters/kalman_v1.py,sha256=0_NPNrZkBPZmQJu4nZqMBouP8Ivj3vH4guh7bxPEh6Y,25110
17
+ c4dynamics/filters/lowpass.py,sha256=DHtU35NaMrDeKy7-K2qFDk9hXJf9RZZBfchB2Xa0rT8,3879
18
+ c4dynamics/filters/luenberger.py,sha256=FMvIp3uTDZOF-RfxN86Hd3aWFsKNCrn0D9KqIwFTgtM,2585
19
+ c4dynamics/rotmat/__init__.py,sha256=bJ_A3xO0rc3hjYh5it2x8jg8FgJYyce54qs9QD6g_x0,3847
20
+ c4dynamics/rotmat/animate.py,sha256=FeONX-7jwLB0lvNTXCPIs-YAhQXkAzjgMqezFbQ5-tI,14829
21
+ c4dynamics/rotmat/rotmat.py,sha256=3T9b6VflkCp7MxzSfpXJariICfGzTWP0IpSPHA90CCA,9434
22
+ c4dynamics/sensors/__init__.py,sha256=qj9TjVhvVr-9qloqgE4HPq-cMnELDej_rWfxDgKZSLA,1569
23
+ c4dynamics/sensors/lineofsight.py,sha256=1R5dGrmFT0_OFI3wyB3_bs2J0MQXmXO2OBGG9uE5YSA,2192
24
+ c4dynamics/sensors/radar.py,sha256=dEmneiOS67aEZZJPNkC3n5rQ3hHNqB7Qs6u3GrvLBng,23689
25
+ c4dynamics/sensors/seeker.py,sha256=5qfhjRbO_pXWcL4dn7dlIS2fsn2FO-M69j5u3cnnMYk,31903
26
+ c4dynamics/states/__init__.py,sha256=FlHjnYwRctiZBevK5xsdT0qJvBAhqGsriv9ellav3AI,8216
27
+ c4dynamics/states/state.py,sha256=g6Xt6uifS7tdWiHZyhxou8ED5-gREsE4lRHiX4CYgCc,41242
28
+ c4dynamics/states/lib/__init__.py,sha256=YiR84BdRtl9MQdf9IV_nmaKJv91HDRiv2tF4fH3RpNQ,7510
29
+ c4dynamics/states/lib/datapoint.py,sha256=DBClsSGRZUqxPGyePUZCiobTrM_yb7Qds3xeIjJGtyU,17992
30
+ c4dynamics/states/lib/pixelpoint.py,sha256=MTWNRoLcclEGfPe31FQR31RWlB55JwOZ7U7jnV6RVv4,22941
31
+ c4dynamics/states/lib/rigidbody.py,sha256=VlW6Emnty64aGsammne_UJ40a8RFIr4GNrWjbUIlrEQ,18450
32
+ c4dynamics/utils/__init__.py,sha256=4o4llXVMu57GKygQb-VSbm0EPAHK_qbLdElo4r9dO1Q,963
33
+ c4dynamics/utils/_struct.py,sha256=w6K-lTekXf90m1-zqocbQcF2sowKGLT_s0pYycKJaeA,149
34
+ c4dynamics/utils/const.py,sha256=VXOlxUFakfTN3IltR4mt7-TcCpycDIlg4MxlQq4dw1I,2361
35
+ c4dynamics/utils/cprint.py,sha256=Q0OubN9UbFo412YwYDSiFqAv8SsDm6VspMPk-Ls0f2I,2154
36
+ c4dynamics/utils/gen_gif.py,sha256=LcP5kNHVU98SrOZotUOdk-JSLDuDYPnwRk42s324Fzc,3778
37
+ c4dynamics/utils/idx2keys.py,sha256=3iQNKb_ft2vtj2-nOPtY_zgjzidOK84uzK59TAHu73E,93
38
+ c4dynamics/utils/images_loader.py,sha256=ihMtzy1__BV1gvH1Tz6EDJfahpgGV8hn-61Lhx1x0ws,1568
39
+ c4dynamics/utils/math.py,sha256=cmLmYlWD3FoCmmh_nL078DVOMqdTSAzhIx52AWsl_2o,2841
40
+ c4dynamics/utils/plottools.py,sha256=ZSeQY-9RyaYVU-aaO_4RLTKMP7mHp-64s7DBz3-vTRw,4251
41
+ c4dynamics/utils/plottracks.py,sha256=y3uoPIqN840Yiu62mOxaCOb0SJ1hH4Rhd2FBfJwRsS8,10992
42
+ c4dynamics/utils/printpts.py,sha256=tJKm_Y87JeuPhd_bZkz7_s8K2pdy-jEBl3WHa2W6a5k,722
43
+ c4dynamics/utils/slides_gen.py,sha256=b6Vts2vHPb1Fugkul9yB6ES697AOCvmWPpU1s1jY7Eo,1888
44
+ c4dynamics/utils/tictoc.py,sha256=_OW-3PtYV2n8a-kiMqaIgGu5gXM4cJVsEPxOv7DcRAE,4212
45
+ c4dynamics/utils/video_gen.py,sha256=6E4iCw8dwE_gVj0wL-_gFT0dmiqiLcaTvpgzd6W4j6U,10591
46
+ c4dynamics/utils/vidgen.py,sha256=K4k-fUttOdiTDQO01XfP40nrlLamH1cwJ4iaxesXMGM,5679
47
+ c4dynamics-2.0.3.dist-info/METADATA,sha256=yDbhnmFqEU0dgX6DxWqKJ_9NwUs5j_mirKRhS0Xmdmk,3468
48
+ c4dynamics-2.0.3.dist-info/WHEEL,sha256=bFJAMchF8aTQGUgMZzHJyDDMPTO3ToJ7x23SLJa1SVo,92
49
+ c4dynamics-2.0.3.dist-info/top_level.txt,sha256=Pp3jXXljS2HbUDGItCnMueDc-7dI8pYDObXNtBhZVG0,11
50
+ c4dynamics-2.0.3.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: bdist_wheel (0.45.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ c4dynamics