sigima 0.0.1.dev0__tar.gz โ†’ 1.0.4__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 (375) hide show
  1. {sigima-0.0.1.dev0 โ†’ sigima-1.0.4}/LICENSE +29 -29
  2. sigima-1.0.4/MANIFEST.in +3 -0
  3. sigima-1.0.4/PKG-INFO +261 -0
  4. sigima-1.0.4/README.md +162 -0
  5. sigima-1.0.4/doc/_static/DataLab-Banner.svg +104 -0
  6. sigima-1.0.4/doc/_static/DataLab-Title.svg +94 -0
  7. sigima-1.0.4/doc/_static/DataLab.svg +83 -0
  8. sigima-1.0.4/doc/_static/Sigima-Frontpage.png +0 -0
  9. sigima-1.0.4/doc/_static/Sigima-Title.svg +135 -0
  10. sigima-1.0.4/doc/_static/codra.png +0 -0
  11. sigima-1.0.4/doc/_static/favicon.ico +0 -0
  12. sigima-1.0.4/doc/_static/pypi.svg +1 -0
  13. sigima-1.0.4/doc/api/client.rst +2 -0
  14. sigima-1.0.4/doc/api/config.rst +2 -0
  15. sigima-1.0.4/doc/api/index.rst +43 -0
  16. sigima-1.0.4/doc/api/objects.rst +2 -0
  17. sigima-1.0.4/doc/api/params.rst +2 -0
  18. sigima-1.0.4/doc/api/proc.rst +2 -0
  19. sigima-1.0.4/doc/api/tools.rst +1 -0
  20. sigima-1.0.4/doc/conf.py +232 -0
  21. sigima-1.0.4/doc/contributing/contribute_code.rst +38 -0
  22. sigima-1.0.4/doc/contributing/dependencies.rst +66 -0
  23. sigima-1.0.4/doc/contributing/environment.md +111 -0
  24. sigima-1.0.4/doc/contributing/gitworkflow.rst +312 -0
  25. sigima-1.0.4/doc/contributing/guidelines.rst +74 -0
  26. sigima-1.0.4/doc/contributing/index.rst +120 -0
  27. sigima-1.0.4/doc/examples/README.txt +15 -0
  28. sigima-1.0.4/doc/examples/features/README.txt +2 -0
  29. sigima-1.0.4/doc/examples/features/convolution.py +288 -0
  30. sigima-1.0.4/doc/examples/features/coordinate_systems.py +299 -0
  31. sigima-1.0.4/doc/examples/features/datalab_client.py +58 -0
  32. sigima-1.0.4/doc/examples/features/datetime_signals.py +240 -0
  33. sigima-1.0.4/doc/examples/features/roi_grid.py +259 -0
  34. sigima-1.0.4/doc/examples/features/zero_padding.py +163 -0
  35. sigima-1.0.4/doc/examples/getting_started/README.txt +2 -0
  36. sigima-1.0.4/doc/examples/getting_started/image_creation.py +185 -0
  37. sigima-1.0.4/doc/examples/getting_started/signal_creation.py +213 -0
  38. sigima-1.0.4/doc/examples/use_cases/README.txt +2 -0
  39. sigima-1.0.4/doc/examples/use_cases/blob_detection.py +199 -0
  40. sigima-1.0.4/doc/examples/use_cases/fabry_perot.py +194 -0
  41. sigima-1.0.4/doc/examples/use_cases/laser_beam.py +297 -0
  42. sigima-1.0.4/doc/examples/use_cases/spectrum_analysis.py +277 -0
  43. sigima-1.0.4/doc/images/Sigima-Banner.png +0 -0
  44. sigima-1.0.4/doc/images/Sigima-Banner.svg +135 -0
  45. sigima-1.0.4/doc/images/Sigima.svg +135 -0
  46. sigima-1.0.4/doc/images/logos/cea.svg +29 -0
  47. sigima-1.0.4/doc/images/logos/codra.svg +65 -0
  48. sigima-1.0.4/doc/images/logos/nlnet.svg +41 -0
  49. sigima-1.0.4/doc/index.rst +104 -0
  50. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/api/index.po +69 -0
  51. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/features/convolution.po +117 -0
  52. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/features/coordinate_systems.po +111 -0
  53. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/features/datalab_client.po +45 -0
  54. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/features/datetime_signals.po +117 -0
  55. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/features/index.po +40 -0
  56. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/features/roi_grid.po +116 -0
  57. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/features/zero_padding.po +123 -0
  58. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/getting_started/image_creation.po +132 -0
  59. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/getting_started/index.po +27 -0
  60. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/getting_started/signal_creation.po +150 -0
  61. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/index.po +79 -0
  62. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/use_cases/blob_detection.po +116 -0
  63. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/use_cases/convolution.po +118 -0
  64. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/use_cases/fabry_perot.po +105 -0
  65. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/use_cases/index.po +34 -0
  66. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/use_cases/laser_beam.po +130 -0
  67. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/auto_examples/use_cases/spectrum_analysis.po +128 -0
  68. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/contributing/contribute_code.po +46 -0
  69. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/contributing/dependencies.po +102 -0
  70. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/contributing/environment.po +237 -0
  71. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/contributing/gitworkflow.po +249 -0
  72. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/contributing/guidelines.po +94 -0
  73. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/contributing/index.po +127 -0
  74. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/index.po +87 -0
  75. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/release_notes/index.po +24 -0
  76. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/release_notes/release_0.01.po +27 -0
  77. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/release_notes/release_0.02.po +51 -0
  78. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/release_notes/release_1.00.po +1321 -0
  79. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/requirements.po +250 -0
  80. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/user_guide/features.po +1329 -0
  81. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/user_guide/index.po +42 -0
  82. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/user_guide/installation.po +334 -0
  83. sigima-1.0.4/doc/locale/fr/LC_MESSAGES/user_guide/overview.po +414 -0
  84. sigima-1.0.4/doc/release_notes/index.rst +12 -0
  85. sigima-1.0.4/doc/release_notes/release_0.01.md +5 -0
  86. sigima-1.0.4/doc/release_notes/release_0.02.md +18 -0
  87. sigima-1.0.4/doc/release_notes/release_1.00.md +527 -0
  88. sigima-1.0.4/doc/remote_example.ipynb +181 -0
  89. sigima-1.0.4/doc/requirements.rst +145 -0
  90. sigima-1.0.4/doc/user_guide/features.rst +740 -0
  91. sigima-1.0.4/doc/user_guide/index.rst +33 -0
  92. sigima-1.0.4/doc/user_guide/installation.rst +143 -0
  93. sigima-1.0.4/doc/user_guide/overview.rst +290 -0
  94. {sigima-0.0.1.dev0 โ†’ sigima-1.0.4}/pyproject.toml +46 -16
  95. sigima-1.0.4/requirements.txt +28 -0
  96. {sigima-0.0.1.dev0 โ†’ sigima-1.0.4}/setup.cfg +4 -4
  97. sigima-1.0.4/sigima/__init__.py +154 -0
  98. sigima-1.0.4/sigima/client/__init__.py +105 -0
  99. sigima-1.0.4/sigima/client/base.py +846 -0
  100. sigima-1.0.4/sigima/client/remote.py +469 -0
  101. sigima-1.0.4/sigima/client/stub.py +789 -0
  102. sigima-1.0.4/sigima/client/utils.py +90 -0
  103. sigima-1.0.4/sigima/config.py +444 -0
  104. sigima-1.0.4/sigima/data/logo/Sigima.svg +135 -0
  105. sigima-1.0.4/sigima/data/tests/annotations.json +798 -0
  106. sigima-1.0.4/sigima/data/tests/curve_fitting/exponential_fit.txt +511 -0
  107. sigima-1.0.4/sigima/data/tests/curve_fitting/gaussian_fit.txt +100 -0
  108. sigima-1.0.4/sigima/data/tests/curve_fitting/piecewiseexponential_fit.txt +1022 -0
  109. sigima-1.0.4/sigima/data/tests/curve_fitting/polynomial_fit.txt +100 -0
  110. sigima-1.0.4/sigima/data/tests/curve_fitting/twohalfgaussian_fit.txt +1000 -0
  111. sigima-1.0.4/sigima/data/tests/curve_formats/bandwidth.txt +201 -0
  112. sigima-1.0.4/sigima/data/tests/curve_formats/boxcar.npy +0 -0
  113. sigima-1.0.4/sigima/data/tests/curve_formats/datetime.txt +1001 -0
  114. sigima-1.0.4/sigima/data/tests/curve_formats/dynamic_parameters.txt +4000 -0
  115. sigima-1.0.4/sigima/data/tests/curve_formats/fw1e2.txt +301 -0
  116. sigima-1.0.4/sigima/data/tests/curve_formats/fwhm.txt +319 -0
  117. sigima-1.0.4/sigima/data/tests/curve_formats/multiple_curves.csv +29 -0
  118. sigima-1.0.4/sigima/data/tests/curve_formats/noised_saw.mat +0 -0
  119. sigima-1.0.4/sigima/data/tests/curve_formats/oscilloscope.csv +111 -0
  120. sigima-1.0.4/sigima/data/tests/curve_formats/other/other2/recursive2.txt +5 -0
  121. sigima-1.0.4/sigima/data/tests/curve_formats/other/recursive1.txt +5 -0
  122. sigima-1.0.4/sigima/data/tests/curve_formats/paracetamol.npy +0 -0
  123. sigima-1.0.4/sigima/data/tests/curve_formats/paracetamol.txt +1010 -0
  124. sigima-1.0.4/sigima/data/tests/curve_formats/paracetamol_dx_dy.csv +1000 -0
  125. sigima-1.0.4/sigima/data/tests/curve_formats/paracetamol_dy.csv +1001 -0
  126. sigima-1.0.4/sigima/data/tests/curve_formats/pulse1.npy +0 -0
  127. sigima-1.0.4/sigima/data/tests/curve_formats/pulse2.npy +0 -0
  128. sigima-1.0.4/sigima/data/tests/curve_formats/simple.txt +5 -0
  129. sigima-1.0.4/sigima/data/tests/curve_formats/spectrum.mca +2139 -0
  130. sigima-1.0.4/sigima/data/tests/curve_formats/square2.npy +0 -0
  131. sigima-1.0.4/sigima/data/tests/curve_formats/step.npy +0 -0
  132. sigima-1.0.4/sigima/data/tests/fabry-perot1.jpg +0 -0
  133. sigima-1.0.4/sigima/data/tests/fabry-perot2.jpg +0 -0
  134. sigima-1.0.4/sigima/data/tests/flower.npy +0 -0
  135. sigima-1.0.4/sigima/data/tests/image_formats/NF 180338201.scor-data +11003 -0
  136. sigima-1.0.4/sigima/data/tests/image_formats/binary_image.npy +0 -0
  137. sigima-1.0.4/sigima/data/tests/image_formats/binary_image.png +0 -0
  138. sigima-1.0.4/sigima/data/tests/image_formats/centroid_test.npy +0 -0
  139. sigima-1.0.4/sigima/data/tests/image_formats/coordinated_text/complex_image.txt +10011 -0
  140. sigima-1.0.4/sigima/data/tests/image_formats/coordinated_text/complex_ref_image.txt +10010 -0
  141. sigima-1.0.4/sigima/data/tests/image_formats/coordinated_text/image.txt +15 -0
  142. sigima-1.0.4/sigima/data/tests/image_formats/coordinated_text/image2.txt +14 -0
  143. sigima-1.0.4/sigima/data/tests/image_formats/coordinated_text/image_no_unit_no_label.txt +14 -0
  144. sigima-1.0.4/sigima/data/tests/image_formats/coordinated_text/image_with_nan.txt +15 -0
  145. sigima-1.0.4/sigima/data/tests/image_formats/coordinated_text/image_with_unit.txt +14 -0
  146. sigima-1.0.4/sigima/data/tests/image_formats/fiber.csv +480 -0
  147. sigima-1.0.4/sigima/data/tests/image_formats/fiber.jpg +0 -0
  148. sigima-1.0.4/sigima/data/tests/image_formats/fiber.png +0 -0
  149. sigima-1.0.4/sigima/data/tests/image_formats/fiber.txt +480 -0
  150. sigima-1.0.4/sigima/data/tests/image_formats/gaussian_spot_with_noise.npy +0 -0
  151. sigima-1.0.4/sigima/data/tests/image_formats/laser_spot_array.png +0 -0
  152. sigima-1.0.4/sigima/data/tests/image_formats/mr-brain.dcm +0 -0
  153. sigima-1.0.4/sigima/data/tests/image_formats/noised_gaussian.mat +0 -0
  154. sigima-1.0.4/sigima/data/tests/image_formats/sif_reader/nd_lum_image_no_glue.sif +0 -0
  155. sigima-1.0.4/sigima/data/tests/image_formats/sif_reader/raman1.sif +0 -0
  156. sigima-1.0.4/sigima/data/tests/image_formats/tiling.txt +10 -0
  157. sigima-1.0.4/sigima/data/tests/image_formats/uint16.tiff +0 -0
  158. sigima-1.0.4/sigima/data/tests/image_formats/uint8.tiff +0 -0
  159. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_13.jpg +0 -0
  160. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_18.jpg +0 -0
  161. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_23.jpg +0 -0
  162. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_30.jpg +0 -0
  163. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_35.jpg +0 -0
  164. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_40.jpg +0 -0
  165. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_45.jpg +0 -0
  166. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_50.jpg +0 -0
  167. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_55.jpg +0 -0
  168. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_60.jpg +0 -0
  169. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_65.jpg +0 -0
  170. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_70.jpg +0 -0
  171. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_75.jpg +0 -0
  172. sigima-1.0.4/sigima/data/tests/laser_beam/TEM00_z_80.jpg +0 -0
  173. sigima-1.0.4/sigima/enums.py +202 -0
  174. sigima-1.0.4/sigima/io/__init__.py +127 -0
  175. sigima-1.0.4/sigima/io/base.py +311 -0
  176. sigima-1.0.4/sigima/io/common/__init__.py +5 -0
  177. sigima-1.0.4/sigima/io/common/basename.py +164 -0
  178. sigima-1.0.4/sigima/io/common/converters.py +189 -0
  179. sigima-1.0.4/sigima/io/common/objmeta.py +212 -0
  180. sigima-1.0.4/sigima/io/common/textreader.py +58 -0
  181. sigima-1.0.4/sigima/io/convenience.py +157 -0
  182. sigima-1.0.4/sigima/io/enums.py +17 -0
  183. sigima-1.0.4/sigima/io/ftlab.py +395 -0
  184. sigima-1.0.4/sigima/io/image/__init__.py +9 -0
  185. sigima-1.0.4/sigima/io/image/base.py +177 -0
  186. sigima-1.0.4/sigima/io/image/formats.py +1016 -0
  187. sigima-1.0.4/sigima/io/image/funcs.py +414 -0
  188. sigima-1.0.4/sigima/io/signal/__init__.py +9 -0
  189. sigima-1.0.4/sigima/io/signal/base.py +129 -0
  190. sigima-1.0.4/sigima/io/signal/formats.py +290 -0
  191. sigima-1.0.4/sigima/io/signal/funcs.py +730 -0
  192. sigima-1.0.4/sigima/objects/__init__.py +277 -0
  193. sigima-1.0.4/sigima/objects/base.py +1037 -0
  194. sigima-1.0.4/sigima/objects/image/__init__.py +99 -0
  195. sigima-1.0.4/sigima/objects/image/creation.py +889 -0
  196. sigima-1.0.4/sigima/objects/image/object.py +534 -0
  197. sigima-1.0.4/sigima/objects/image/roi.py +968 -0
  198. sigima-1.0.4/sigima/objects/scalar/__init__.py +57 -0
  199. sigima-1.0.4/sigima/objects/scalar/common.py +227 -0
  200. sigima-1.0.4/sigima/objects/scalar/geometry.py +620 -0
  201. sigima-1.0.4/sigima/objects/scalar/table.py +818 -0
  202. sigima-1.0.4/sigima/objects/shape.py +290 -0
  203. sigima-1.0.4/sigima/objects/signal/__init__.py +133 -0
  204. sigima-1.0.4/sigima/objects/signal/constants.py +27 -0
  205. sigima-1.0.4/sigima/objects/signal/creation.py +1462 -0
  206. sigima-1.0.4/sigima/objects/signal/object.py +467 -0
  207. sigima-1.0.4/sigima/objects/signal/roi.py +274 -0
  208. sigima-1.0.4/sigima/params.py +461 -0
  209. sigima-1.0.4/sigima/proc/__init__.py +96 -0
  210. sigima-1.0.4/sigima/proc/base.py +379 -0
  211. sigima-1.0.4/sigima/proc/decorator.py +352 -0
  212. sigima-1.0.4/sigima/proc/image/__init__.py +515 -0
  213. sigima-1.0.4/sigima/proc/image/arithmetic.py +337 -0
  214. sigima-1.0.4/sigima/proc/image/base.py +334 -0
  215. sigima-1.0.4/sigima/proc/image/detection.py +628 -0
  216. sigima-1.0.4/sigima/proc/image/edges.py +328 -0
  217. sigima-1.0.4/sigima/proc/image/exposure.py +404 -0
  218. sigima-1.0.4/sigima/proc/image/extraction.py +486 -0
  219. sigima-1.0.4/sigima/proc/image/filtering.py +218 -0
  220. sigima-1.0.4/sigima/proc/image/fourier.py +151 -0
  221. sigima-1.0.4/sigima/proc/image/geometry.py +660 -0
  222. sigima-1.0.4/sigima/proc/image/mathops.py +345 -0
  223. sigima-1.0.4/sigima/proc/image/measurement.py +198 -0
  224. sigima-1.0.4/sigima/proc/image/morphology.py +154 -0
  225. sigima-1.0.4/sigima/proc/image/noise.py +107 -0
  226. sigima-1.0.4/sigima/proc/image/preprocessing.py +182 -0
  227. sigima-1.0.4/sigima/proc/image/restoration.py +234 -0
  228. sigima-1.0.4/sigima/proc/image/threshold.py +216 -0
  229. sigima-1.0.4/sigima/proc/image/transformations.py +394 -0
  230. sigima-1.0.4/sigima/proc/signal/__init__.py +372 -0
  231. sigima-1.0.4/sigima/proc/signal/analysis.py +225 -0
  232. sigima-1.0.4/sigima/proc/signal/arithmetic.py +549 -0
  233. sigima-1.0.4/sigima/proc/signal/base.py +210 -0
  234. sigima-1.0.4/sigima/proc/signal/extraction.py +64 -0
  235. sigima-1.0.4/sigima/proc/signal/features.py +335 -0
  236. sigima-1.0.4/sigima/proc/signal/filtering.py +487 -0
  237. sigima-1.0.4/sigima/proc/signal/fitting.py +275 -0
  238. sigima-1.0.4/sigima/proc/signal/fourier.py +299 -0
  239. sigima-1.0.4/sigima/proc/signal/mathops.py +420 -0
  240. sigima-1.0.4/sigima/proc/signal/processing.py +601 -0
  241. sigima-1.0.4/sigima/proc/signal/stability.py +175 -0
  242. sigima-1.0.4/sigima/proc/title_formatting.py +168 -0
  243. sigima-1.0.4/sigima/proc/validation.py +272 -0
  244. sigima-1.0.4/sigima/tests/__init__.py +7 -0
  245. sigima-1.0.4/sigima/tests/common/__init__.py +0 -0
  246. sigima-1.0.4/sigima/tests/common/annotations_unit_test.py +150 -0
  247. sigima-1.0.4/sigima/tests/common/arithmeticparam_unit_test.py +26 -0
  248. sigima-1.0.4/sigima/tests/common/basename_unit_test.py +126 -0
  249. sigima-1.0.4/sigima/tests/common/client_unit_test.py +452 -0
  250. sigima-1.0.4/sigima/tests/common/converters_unit_test.py +77 -0
  251. sigima-1.0.4/sigima/tests/common/decorator_unit_test.py +188 -0
  252. sigima-1.0.4/sigima/tests/common/examples_unit_test.py +104 -0
  253. sigima-1.0.4/sigima/tests/common/func_name_injection_unit_test.py +32 -0
  254. sigima-1.0.4/sigima/tests/common/kernel_normalization_unit_test.py +242 -0
  255. sigima-1.0.4/sigima/tests/common/roi_basic_unit_test.py +73 -0
  256. sigima-1.0.4/sigima/tests/common/roi_geometry_unit_test.py +171 -0
  257. sigima-1.0.4/sigima/tests/common/scalar_builder_unit_test.py +245 -0
  258. sigima-1.0.4/sigima/tests/common/scalar_unit_test.py +1184 -0
  259. sigima-1.0.4/sigima/tests/common/shape_unit_test.py +262 -0
  260. sigima-1.0.4/sigima/tests/common/stat_unit_test.py +138 -0
  261. sigima-1.0.4/sigima/tests/common/title_formatting_unit_test.py +327 -0
  262. sigima-1.0.4/sigima/tests/common/tools_coordinates_unit_test.py +60 -0
  263. sigima-1.0.4/sigima/tests/common/transformations_unit_test.py +375 -0
  264. sigima-1.0.4/sigima/tests/common/validation_unit_test.py +355 -0
  265. sigima-1.0.4/sigima/tests/common/worker_unit_test.py +183 -0
  266. sigima-1.0.4/sigima/tests/conftest.py +129 -0
  267. sigima-1.0.4/sigima/tests/data.py +1015 -0
  268. sigima-1.0.4/sigima/tests/env.py +280 -0
  269. sigima-1.0.4/sigima/tests/guiutils.py +163 -0
  270. sigima-1.0.4/sigima/tests/helpers.py +582 -0
  271. sigima-1.0.4/sigima/tests/image/__init__.py +28 -0
  272. sigima-1.0.4/sigima/tests/image/binning_unit_test.py +128 -0
  273. sigima-1.0.4/sigima/tests/image/blob_detection_unit_test.py +388 -0
  274. sigima-1.0.4/sigima/tests/image/centroid_unit_test.py +170 -0
  275. sigima-1.0.4/sigima/tests/image/check_2d_array_unit_test.py +63 -0
  276. sigima-1.0.4/sigima/tests/image/contour_unit_test.py +186 -0
  277. sigima-1.0.4/sigima/tests/image/convolution_unit_test.py +192 -0
  278. sigima-1.0.4/sigima/tests/image/datatype_unit_test.py +78 -0
  279. sigima-1.0.4/sigima/tests/image/detection_roi_h5_unit_test.py +103 -0
  280. sigima-1.0.4/sigima/tests/image/edges_unit_test.py +157 -0
  281. sigima-1.0.4/sigima/tests/image/enclosingcircle_unit_test.py +88 -0
  282. sigima-1.0.4/sigima/tests/image/exposure_unit_test.py +223 -0
  283. sigima-1.0.4/sigima/tests/image/fft2d_unit_test.py +190 -0
  284. sigima-1.0.4/sigima/tests/image/filtering_unit_test.py +166 -0
  285. sigima-1.0.4/sigima/tests/image/geometry_unit_test.py +661 -0
  286. sigima-1.0.4/sigima/tests/image/hough_circle_unit_test.py +164 -0
  287. sigima-1.0.4/sigima/tests/image/imageobj_unit_test.py +764 -0
  288. sigima-1.0.4/sigima/tests/image/morphology_unit_test.py +79 -0
  289. sigima-1.0.4/sigima/tests/image/noise_unit_test.py +142 -0
  290. sigima-1.0.4/sigima/tests/image/offset_correction_unit_test.py +101 -0
  291. sigima-1.0.4/sigima/tests/image/operation_unit_test.py +518 -0
  292. sigima-1.0.4/sigima/tests/image/peak2d_limits_unit_test.py +41 -0
  293. sigima-1.0.4/sigima/tests/image/peak2d_unit_test.py +129 -0
  294. sigima-1.0.4/sigima/tests/image/profile_unit_test.py +161 -0
  295. sigima-1.0.4/sigima/tests/image/projections_unit_test.py +121 -0
  296. sigima-1.0.4/sigima/tests/image/restoration_unit_test.py +141 -0
  297. sigima-1.0.4/sigima/tests/image/roi2dparam_unit_test.py +53 -0
  298. sigima-1.0.4/sigima/tests/image/roi_advanced_unit_test.py +619 -0
  299. sigima-1.0.4/sigima/tests/image/roi_coords_unit_test.py +525 -0
  300. sigima-1.0.4/sigima/tests/image/roi_grid_unit_test.py +377 -0
  301. sigima-1.0.4/sigima/tests/image/spectrum2d_unit_test.py +40 -0
  302. sigima-1.0.4/sigima/tests/image/threshold_unit_test.py +102 -0
  303. sigima-1.0.4/sigima/tests/io/__init__.py +0 -0
  304. sigima-1.0.4/sigima/tests/io/addnewformat_unit_test.py +125 -0
  305. sigima-1.0.4/sigima/tests/io/annotations_io_unit_test.py +84 -0
  306. sigima-1.0.4/sigima/tests/io/convenience_funcs_unit_test.py +470 -0
  307. sigima-1.0.4/sigima/tests/io/coordinated_text_format_unit_test.py +495 -0
  308. sigima-1.0.4/sigima/tests/io/datetime_csv_unit_test.py +257 -0
  309. sigima-1.0.4/sigima/tests/io/imageio_formats_test.py +41 -0
  310. sigima-1.0.4/sigima/tests/io/ioregistry_unit_test.py +69 -0
  311. sigima-1.0.4/sigima/tests/io/objmeta_unit_test.py +87 -0
  312. sigima-1.0.4/sigima/tests/io/readobj_unit_test.py +124 -0
  313. sigima-1.0.4/sigima/tests/io/readwriteobj_unit_test.py +67 -0
  314. sigima-1.0.4/sigima/tests/signal/__init__.py +0 -0
  315. sigima-1.0.4/sigima/tests/signal/analysis_unit_test.py +311 -0
  316. sigima-1.0.4/sigima/tests/signal/check_1d_arrays_unit_test.py +169 -0
  317. sigima-1.0.4/sigima/tests/signal/convolution_unit_test.py +406 -0
  318. sigima-1.0.4/sigima/tests/signal/datetime_unit_test.py +176 -0
  319. sigima-1.0.4/sigima/tests/signal/fft1d_unit_test.py +328 -0
  320. sigima-1.0.4/sigima/tests/signal/filters_unit_test.py +403 -0
  321. sigima-1.0.4/sigima/tests/signal/fitting_unit_test.py +934 -0
  322. sigima-1.0.4/sigima/tests/signal/fwhm_unit_test.py +160 -0
  323. sigima-1.0.4/sigima/tests/signal/noise_unit_test.py +128 -0
  324. sigima-1.0.4/sigima/tests/signal/offset_correction_unit_test.py +34 -0
  325. sigima-1.0.4/sigima/tests/signal/operation_unit_test.py +489 -0
  326. sigima-1.0.4/sigima/tests/signal/peakdetection_unit_test.py +145 -0
  327. sigima-1.0.4/sigima/tests/signal/processing_unit_test.py +663 -0
  328. sigima-1.0.4/sigima/tests/signal/pulse/__init__.py +112 -0
  329. sigima-1.0.4/sigima/tests/signal/pulse/crossing_times_unit_test.py +123 -0
  330. sigima-1.0.4/sigima/tests/signal/pulse/plateau_detection_unit_test.py +102 -0
  331. sigima-1.0.4/sigima/tests/signal/pulse/pulse_features_roi_unit_test.py +77 -0
  332. sigima-1.0.4/sigima/tests/signal/pulse/pulse_unit_test.py +1824 -0
  333. sigima-1.0.4/sigima/tests/signal/replace_x_by_other_y_unit_test.py +78 -0
  334. sigima-1.0.4/sigima/tests/signal/roi_advanced_unit_test.py +428 -0
  335. sigima-1.0.4/sigima/tests/signal/signalobj_unit_test.py +603 -0
  336. sigima-1.0.4/sigima/tests/signal/stability_unit_test.py +431 -0
  337. sigima-1.0.4/sigima/tests/signal/uncertainty_unit_test.py +611 -0
  338. sigima-1.0.4/sigima/tests/vistools.py +1032 -0
  339. sigima-1.0.4/sigima/tools/__init__.py +59 -0
  340. sigima-1.0.4/sigima/tools/checks.py +290 -0
  341. sigima-1.0.4/sigima/tools/coordinates.py +308 -0
  342. sigima-1.0.4/sigima/tools/datatypes.py +26 -0
  343. sigima-1.0.4/sigima/tools/image/__init__.py +97 -0
  344. sigima-1.0.4/sigima/tools/image/detection.py +451 -0
  345. sigima-1.0.4/sigima/tools/image/exposure.py +77 -0
  346. sigima-1.0.4/sigima/tools/image/extraction.py +48 -0
  347. sigima-1.0.4/sigima/tools/image/fourier.py +261 -0
  348. sigima-1.0.4/sigima/tools/image/geometry.py +190 -0
  349. sigima-1.0.4/sigima/tools/image/preprocessing.py +165 -0
  350. sigima-1.0.4/sigima/tools/signal/__init__.py +86 -0
  351. sigima-1.0.4/sigima/tools/signal/dynamic.py +254 -0
  352. sigima-1.0.4/sigima/tools/signal/features.py +135 -0
  353. sigima-1.0.4/sigima/tools/signal/filtering.py +182 -0
  354. sigima-1.0.4/sigima/tools/signal/fitting.py +1171 -0
  355. sigima-1.0.4/sigima/tools/signal/fourier.py +466 -0
  356. sigima-1.0.4/sigima/tools/signal/interpolation.py +70 -0
  357. sigima-1.0.4/sigima/tools/signal/peakdetection.py +126 -0
  358. sigima-1.0.4/sigima/tools/signal/pulse.py +1656 -0
  359. sigima-1.0.4/sigima/tools/signal/scaling.py +50 -0
  360. sigima-1.0.4/sigima/tools/signal/stability.py +258 -0
  361. sigima-1.0.4/sigima/tools/signal/windowing.py +75 -0
  362. sigima-1.0.4/sigima/worker.py +79 -0
  363. sigima-1.0.4/sigima.egg-info/PKG-INFO +261 -0
  364. sigima-1.0.4/sigima.egg-info/SOURCES.txt +365 -0
  365. sigima-1.0.4/sigima.egg-info/requires.txt +42 -0
  366. sigima-0.0.1.dev0/MANIFEST.in +0 -4
  367. sigima-0.0.1.dev0/PKG-INFO +0 -60
  368. sigima-0.0.1.dev0/README.md +0 -5
  369. sigima-0.0.1.dev0/requirements.txt +0 -25
  370. sigima-0.0.1.dev0/sigima/__init__.py +0 -2
  371. sigima-0.0.1.dev0/sigima.egg-info/PKG-INFO +0 -60
  372. sigima-0.0.1.dev0/sigima.egg-info/SOURCES.txt +0 -11
  373. sigima-0.0.1.dev0/sigima.egg-info/requires.txt +0 -26
  374. {sigima-0.0.1.dev0 โ†’ sigima-1.0.4}/sigima.egg-info/dependency_links.txt +0 -0
  375. {sigima-0.0.1.dev0 โ†’ sigima-1.0.4}/sigima.egg-info/top_level.txt +0 -0
@@ -1,29 +1,29 @@
1
- BSD 3-Clause License
2
-
3
- Copyright (c) 2023, DataLab Platform Developers.
4
- All rights reserved.
5
-
6
- Redistribution and use in source and binary forms, with or without
7
- modification, are permitted provided that the following conditions are met:
8
-
9
- 1. Redistributions of source code must retain the above copyright notice, this
10
- list of conditions and the following disclaimer.
11
-
12
- 2. Redistributions in binary form must reproduce the above copyright notice,
13
- this list of conditions and the following disclaimer in the documentation
14
- and/or other materials provided with the distribution.
15
-
16
- 3. Neither the name of the copyright holder nor the names of its
17
- contributors may be used to endorse or promote products derived from
18
- this software without specific prior written permission.
19
-
20
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
- DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
- OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
1
+ BSD 3-Clause License
2
+
3
+ Copyright (c) 2023, DataLab Platform Developers.
4
+ All rights reserved.
5
+
6
+ Redistribution and use in source and binary forms, with or without
7
+ modification, are permitted provided that the following conditions are met:
8
+
9
+ 1. Redistributions of source code must retain the above copyright notice, this
10
+ list of conditions and the following disclaimer.
11
+
12
+ 2. Redistributions in binary form must reproduce the above copyright notice,
13
+ this list of conditions and the following disclaimer in the documentation
14
+ and/or other materials provided with the distribution.
15
+
16
+ 3. Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived from
18
+ this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
23
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
24
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
26
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
27
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
28
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,3 @@
1
+ graft doc
2
+ include CONTRIBUTING.md
3
+ include requirements.txt
sigima-1.0.4/PKG-INFO ADDED
@@ -0,0 +1,261 @@
1
+ Metadata-Version: 2.4
2
+ Name: sigima
3
+ Version: 1.0.4
4
+ Summary: Scientific computing engine for 1D signals and 2D images, part of the DataLab open-source platform.
5
+ Author-email: Pierre Raybaut <p.raybaut@codra.fr>
6
+ Maintainer-email: DataLab Platform Developers <p.raybaut@codra.fr>
7
+ License: BSD 3-Clause License
8
+
9
+ Copyright (c) 2023, DataLab Platform Developers.
10
+ All rights reserved.
11
+
12
+ Redistribution and use in source and binary forms, with or without
13
+ modification, are permitted provided that the following conditions are met:
14
+
15
+ 1. Redistributions of source code must retain the above copyright notice, this
16
+ list of conditions and the following disclaimer.
17
+
18
+ 2. Redistributions in binary form must reproduce the above copyright notice,
19
+ this list of conditions and the following disclaimer in the documentation
20
+ and/or other materials provided with the distribution.
21
+
22
+ 3. Neither the name of the copyright holder nor the names of its
23
+ contributors may be used to endorse or promote products derived from
24
+ this software without specific prior written permission.
25
+
26
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
29
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
30
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
32
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
+
37
+ Project-URL: Homepage, https://github.com/DataLab-Platform/Sigima
38
+ Project-URL: Documentation, https://sigima.readthedocs.io/
39
+ Classifier: Development Status :: 4 - Beta
40
+ Classifier: Intended Audience :: Developers
41
+ Classifier: Intended Audience :: Education
42
+ Classifier: Intended Audience :: Science/Research
43
+ Classifier: Intended Audience :: End Users/Desktop
44
+ Classifier: Operating System :: MacOS :: MacOS X
45
+ Classifier: Operating System :: Microsoft :: Windows :: Windows 7
46
+ Classifier: Operating System :: Microsoft :: Windows :: Windows 8
47
+ Classifier: Operating System :: Microsoft :: Windows :: Windows 10
48
+ Classifier: Operating System :: Microsoft :: Windows :: Windows 11
49
+ Classifier: Operating System :: POSIX :: Linux
50
+ Classifier: Programming Language :: Python :: 3.9
51
+ Classifier: Programming Language :: Python :: 3.10
52
+ Classifier: Programming Language :: Python :: 3.11
53
+ Classifier: Programming Language :: Python :: 3.12
54
+ Classifier: Programming Language :: Python :: 3.13
55
+ Classifier: Topic :: Scientific/Engineering
56
+ Classifier: Topic :: Scientific/Engineering :: Image Processing
57
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
58
+ Requires-Python: <4,>=3.9
59
+ Description-Content-Type: text/markdown
60
+ License-File: LICENSE
61
+ Requires-Dist: guidata>=3.13
62
+ Requires-Dist: NumPy>=1.22
63
+ Requires-Dist: SciPy>=1.10.1
64
+ Requires-Dist: scikit-image>=0.19.2
65
+ Requires-Dist: pandas>=1.4
66
+ Requires-Dist: PyWavelets>=1.2
67
+ Requires-Dist: packaging>=21.3
68
+ Requires-Dist: typing-extensions>=4.0
69
+ Requires-Dist: makefun>=1.13.1
70
+ Provides-Extra: opencv
71
+ Requires-Dist: opencv-python-headless>=4.8.1.78; extra == "opencv"
72
+ Provides-Extra: dev
73
+ Requires-Dist: build; extra == "dev"
74
+ Requires-Dist: babel; extra == "dev"
75
+ Requires-Dist: ruff; extra == "dev"
76
+ Requires-Dist: pylint; extra == "dev"
77
+ Requires-Dist: Coverage; extra == "dev"
78
+ Requires-Dist: pre-commit; extra == "dev"
79
+ Provides-Extra: doc
80
+ Requires-Dist: sphinx; extra == "doc"
81
+ Requires-Dist: sphinx-gallery; extra == "doc"
82
+ Requires-Dist: sphinx_intl; extra == "doc"
83
+ Requires-Dist: myst_parser; extra == "doc"
84
+ Requires-Dist: sphinx_design; extra == "doc"
85
+ Requires-Dist: sphinx-copybutton; extra == "doc"
86
+ Requires-Dist: pydata-sphinx-theme; extra == "doc"
87
+ Requires-Dist: qtpy; extra == "doc"
88
+ Requires-Dist: PyQt5; extra == "doc"
89
+ Requires-Dist: plotpy; extra == "doc"
90
+ Requires-Dist: opencv-python-headless>=4.8.1.78; extra == "doc"
91
+ Provides-Extra: test
92
+ Requires-Dist: pytest; extra == "test"
93
+ Requires-Dist: pytest-xvfb; extra == "test"
94
+ Provides-Extra: qt
95
+ Requires-Dist: qtpy; extra == "qt"
96
+ Requires-Dist: PyQt5; extra == "qt"
97
+ Requires-Dist: plotpy; extra == "qt"
98
+ Dynamic: license-file
99
+
100
+ # Sigima - Scientific Image and Signal Processing Library
101
+
102
+ ![Sigima](https://raw.githubusercontent.com/DataLab-Platform/Sigima/main/doc/images/Sigima-Banner.svg)
103
+
104
+ [![license](https://img.shields.io/pypi/l/sigima.svg)](./LICENSE)
105
+ [![pypi version](https://img.shields.io/pypi/v/sigima.svg)](https://pypi.org/project/sigima/)
106
+ [![PyPI status](https://img.shields.io/pypi/status/sigima.svg)](https://github.com/DataLab-Platform/Sigima)
107
+ [![PyPI pyversions](https://img.shields.io/pypi/pyversions/sigima.svg)](https://pypi.org/project/sigima/)
108
+
109
+ **Sigima** is an **open-source Python library for scientific image and signal processing**,
110
+ designed as a modular and testable foundation for building advanced analysis pipelines.
111
+
112
+ ๐Ÿ”ฌ Developed by the [DataLab Platform Developers](https://github.com/DataLab-Platform), Sigima powers the computation backend of [DataLab](https://datalab-platform.com/).
113
+
114
+ ## ๐ŸŒŸ Project & Sponsors
115
+
116
+ | Project/Sponsor | Description |
117
+ |---------------------|-------------|
118
+ | <a href="https://datalab-platform.com/"><img src="https://raw.githubusercontent.com/DataLab-Platform/DataLab/main/resources/DataLab-Banner.svg" alt="DataLab logo" style="height:80px;"/></a> | Open-source platform for scientific signal and image processing, powered by Sigima. |
119
+ | <a href="https://nlnet.nl/"><img src="https://nlnet.nl/logo/banner.svg" alt="NLnet logo" style="height:80px;width:209px;"/></a> | European non-profit supporting open-source and internet projects. Sigima has received funding from NLnet for its development, through the DataLab project. |
120
+
121
+ ---
122
+
123
+ ## โœจ Highlights
124
+
125
+ - Unified processing model for **1D signals** and **2D images**
126
+ - Works with **object-oriented wrappers** (`SignalObj`, `ImageObj`) extending NumPy arrays
127
+ - Includes common processing tasks: filtering, smoothing, binning, thresholding, labeling, etc.
128
+ - Structured for **testability**, **modularity**, and **headless usage**
129
+ - 100% **independent of GUI frameworks** (no Qt/PlotPyStack dependencies)
130
+
131
+ ---
132
+
133
+ ## ๐Ÿ’ก Use cases
134
+
135
+ Sigima is meant to be:
136
+
137
+ - A **processing backend** for scientific/industrial tools
138
+ - A library to **build reproducible analysis pipelines**
139
+ - A component for **headless automation or remote execution**
140
+ - A testbed for **developing and validating new signal/image operations**
141
+
142
+ ---
143
+
144
+ ## ๐Ÿ“– Design Philosophy
145
+
146
+ The main goal of **Sigima** is to provide a unified, high-level API for handling and processing **1D signals** and **2D images**, through dedicated Python objects: `SignalObj` and `ImageObj`.
147
+
148
+ The library is organized to separate concerns clearly:
149
+
150
+ - `sigima.objects`: defines the object model for signals and images.
151
+ - `sigima.params`: contains parameter classes for configuring processing functions.
152
+ - `sigima.proc`: provides high-level processing functions that operate directly on `SignalObj` and `ImageObj` instances.
153
+ - `sigima.io`: handles input/output operations (CSV files, image formats, etc.) for signals and images.
154
+ - `sigima.tools`: contains **low-level, NumPy-based functions** that implement the core logic behind many processing routines.
155
+
156
+ This structure supports a **layered programming model**:
157
+
158
+ - Developers can use `computation` to process full signal/image objects in an object-oriented manner.
159
+ - Or they can directly use `tools` to process raw NumPy arrays โ€” for instance, in custom tools or when integrating Sigima into other projects.
160
+
161
+ > โš ๏ธ `sigima.tools` is not intended as a general-purpose NumPy extension. Its purpose is to **fill in the gaps** of common scientific libraries (NumPy, SciPy, scikit-image, etc.), offering consistent tools for signal/image processing in the context of Sigima and similar projects.
162
+
163
+ ---
164
+
165
+ ## Usage Outside Sigima
166
+
167
+ Although Sigima is designed primarily for object-based processing, some of its core functions are useful on their own.
168
+
169
+ For instance, the [DataLab](https://datalab-platform.com) project โ€” an open-source platform for signal/image processing โ€” uses many functions from `sigima.tools` independently of the object model. This demonstrates how `sigima.tools` can serve as a **lightweight utility layer** in scientific and industrial Python applications, even when the object model is not used directly.
170
+
171
+ To maintain this flexibility and avoid confusion, the distinction between `tools` (array-based) and `computation` (object-based) is intentional and explicit.
172
+
173
+ ---
174
+
175
+ ## ๐Ÿ“ฆ Installation
176
+
177
+ ```bash
178
+ pip install sigima
179
+ ```
180
+
181
+ Or in a development environment:
182
+
183
+ ```bash
184
+ git clone https://github.com/DataLab-Platform/Sigima.git
185
+ cd Sigima
186
+ pip install -e .
187
+ ```
188
+
189
+ ---
190
+
191
+ ## ๐Ÿ“š Documentation
192
+
193
+ ๐Ÿ“– Full documentation (in progress) is available at:
194
+ ๐Ÿ‘‰ <https://sigima.readthedocs.io/>
195
+
196
+ > Want to use Sigima inside DataLab with GUI tools?
197
+ > Check out the full platform: [DataLab](https://datalab-platform.com/)
198
+
199
+ ---
200
+
201
+ ## โš™๏ธ Architecture
202
+
203
+ Sigima is organized by data type:
204
+
205
+ ```text
206
+ sigima/
207
+ โ”œโ”€โ”€ tools/ # Low-level NumPy-based algorithms supporting some computation functions
208
+ โ”œโ”€โ”€ proc/ # High-level processing functions operating on SignalObj/ImageObj
209
+ โ”‚ โ”œโ”€โ”€ base/ # Common processing functions
210
+ โ”‚ โ”œโ”€โ”€ signal/ # 1D signal processing
211
+ โ”‚ โ””โ”€โ”€ image/ # 2D image processing
212
+ ```
213
+
214
+ Each domain provides:
215
+
216
+ - Low-level functions operating on NumPy arrays
217
+ - High-level functions operating on `SignalObj` or `ImageObj`
218
+
219
+ ---
220
+
221
+ ## ๐Ÿงช Testing
222
+
223
+ Sigima comes with unit tests based on `pytest`.
224
+
225
+ To run all tests:
226
+
227
+ ```bash
228
+ pytest
229
+ ```
230
+
231
+ To run GUI-assisted validation tests (optional):
232
+
233
+ ```bash
234
+ pytest --gui
235
+ ```
236
+
237
+ ---
238
+
239
+ ## ๐Ÿง  License
240
+
241
+ Sigima is distributed under the terms of the BSD 3-Clause license.
242
+ See [LICENSE](./LICENSE) for details.
243
+
244
+ ---
245
+
246
+ ## ๐Ÿค Contributing
247
+
248
+ Bug reports, feature requests and pull requests are welcome!
249
+ See the [CONTRIBUTING](https://datalab-platform.com/en/contributing) guide to get started.
250
+
251
+ ---
252
+
253
+ ![Python](https://raw.githubusercontent.com/DataLab-Platform/DataLab/main/doc/images/logos/Python.png)
254
+ ![NumPy](https://raw.githubusercontent.com/DataLab-Platform/DataLab/main/doc/images/logos/NumPy.png)
255
+ ![SciPy](https://raw.githubusercontent.com/DataLab-Platform/DataLab/main/doc/images/logos/SciPy.png)
256
+ ![scikit-image](https://raw.githubusercontent.com/DataLab-Platform/DataLab/main/doc/images/logos/scikit-image.png)
257
+ ![OpenCV](https://raw.githubusercontent.com/DataLab-Platform/DataLab/main/doc/images/logos/OpenCV.png)
258
+
259
+ ---
260
+
261
+ ยฉ DataLab Platform Developers
sigima-1.0.4/README.md ADDED
@@ -0,0 +1,162 @@
1
+ # Sigima - Scientific Image and Signal Processing Library
2
+
3
+ ![Sigima](https://raw.githubusercontent.com/DataLab-Platform/Sigima/main/doc/images/Sigima-Banner.svg)
4
+
5
+ [![license](https://img.shields.io/pypi/l/sigima.svg)](./LICENSE)
6
+ [![pypi version](https://img.shields.io/pypi/v/sigima.svg)](https://pypi.org/project/sigima/)
7
+ [![PyPI status](https://img.shields.io/pypi/status/sigima.svg)](https://github.com/DataLab-Platform/Sigima)
8
+ [![PyPI pyversions](https://img.shields.io/pypi/pyversions/sigima.svg)](https://pypi.org/project/sigima/)
9
+
10
+ **Sigima** is an **open-source Python library for scientific image and signal processing**,
11
+ designed as a modular and testable foundation for building advanced analysis pipelines.
12
+
13
+ ๐Ÿ”ฌ Developed by the [DataLab Platform Developers](https://github.com/DataLab-Platform), Sigima powers the computation backend of [DataLab](https://datalab-platform.com/).
14
+
15
+ ## ๐ŸŒŸ Project & Sponsors
16
+
17
+ | Project/Sponsor | Description |
18
+ |---------------------|-------------|
19
+ | <a href="https://datalab-platform.com/"><img src="https://raw.githubusercontent.com/DataLab-Platform/DataLab/main/resources/DataLab-Banner.svg" alt="DataLab logo" style="height:80px;"/></a> | Open-source platform for scientific signal and image processing, powered by Sigima. |
20
+ | <a href="https://nlnet.nl/"><img src="https://nlnet.nl/logo/banner.svg" alt="NLnet logo" style="height:80px;width:209px;"/></a> | European non-profit supporting open-source and internet projects. Sigima has received funding from NLnet for its development, through the DataLab project. |
21
+
22
+ ---
23
+
24
+ ## โœจ Highlights
25
+
26
+ - Unified processing model for **1D signals** and **2D images**
27
+ - Works with **object-oriented wrappers** (`SignalObj`, `ImageObj`) extending NumPy arrays
28
+ - Includes common processing tasks: filtering, smoothing, binning, thresholding, labeling, etc.
29
+ - Structured for **testability**, **modularity**, and **headless usage**
30
+ - 100% **independent of GUI frameworks** (no Qt/PlotPyStack dependencies)
31
+
32
+ ---
33
+
34
+ ## ๐Ÿ’ก Use cases
35
+
36
+ Sigima is meant to be:
37
+
38
+ - A **processing backend** for scientific/industrial tools
39
+ - A library to **build reproducible analysis pipelines**
40
+ - A component for **headless automation or remote execution**
41
+ - A testbed for **developing and validating new signal/image operations**
42
+
43
+ ---
44
+
45
+ ## ๐Ÿ“– Design Philosophy
46
+
47
+ The main goal of **Sigima** is to provide a unified, high-level API for handling and processing **1D signals** and **2D images**, through dedicated Python objects: `SignalObj` and `ImageObj`.
48
+
49
+ The library is organized to separate concerns clearly:
50
+
51
+ - `sigima.objects`: defines the object model for signals and images.
52
+ - `sigima.params`: contains parameter classes for configuring processing functions.
53
+ - `sigima.proc`: provides high-level processing functions that operate directly on `SignalObj` and `ImageObj` instances.
54
+ - `sigima.io`: handles input/output operations (CSV files, image formats, etc.) for signals and images.
55
+ - `sigima.tools`: contains **low-level, NumPy-based functions** that implement the core logic behind many processing routines.
56
+
57
+ This structure supports a **layered programming model**:
58
+
59
+ - Developers can use `computation` to process full signal/image objects in an object-oriented manner.
60
+ - Or they can directly use `tools` to process raw NumPy arrays โ€” for instance, in custom tools or when integrating Sigima into other projects.
61
+
62
+ > โš ๏ธ `sigima.tools` is not intended as a general-purpose NumPy extension. Its purpose is to **fill in the gaps** of common scientific libraries (NumPy, SciPy, scikit-image, etc.), offering consistent tools for signal/image processing in the context of Sigima and similar projects.
63
+
64
+ ---
65
+
66
+ ## Usage Outside Sigima
67
+
68
+ Although Sigima is designed primarily for object-based processing, some of its core functions are useful on their own.
69
+
70
+ For instance, the [DataLab](https://datalab-platform.com) project โ€” an open-source platform for signal/image processing โ€” uses many functions from `sigima.tools` independently of the object model. This demonstrates how `sigima.tools` can serve as a **lightweight utility layer** in scientific and industrial Python applications, even when the object model is not used directly.
71
+
72
+ To maintain this flexibility and avoid confusion, the distinction between `tools` (array-based) and `computation` (object-based) is intentional and explicit.
73
+
74
+ ---
75
+
76
+ ## ๐Ÿ“ฆ Installation
77
+
78
+ ```bash
79
+ pip install sigima
80
+ ```
81
+
82
+ Or in a development environment:
83
+
84
+ ```bash
85
+ git clone https://github.com/DataLab-Platform/Sigima.git
86
+ cd Sigima
87
+ pip install -e .
88
+ ```
89
+
90
+ ---
91
+
92
+ ## ๐Ÿ“š Documentation
93
+
94
+ ๐Ÿ“– Full documentation (in progress) is available at:
95
+ ๐Ÿ‘‰ <https://sigima.readthedocs.io/>
96
+
97
+ > Want to use Sigima inside DataLab with GUI tools?
98
+ > Check out the full platform: [DataLab](https://datalab-platform.com/)
99
+
100
+ ---
101
+
102
+ ## โš™๏ธ Architecture
103
+
104
+ Sigima is organized by data type:
105
+
106
+ ```text
107
+ sigima/
108
+ โ”œโ”€โ”€ tools/ # Low-level NumPy-based algorithms supporting some computation functions
109
+ โ”œโ”€โ”€ proc/ # High-level processing functions operating on SignalObj/ImageObj
110
+ โ”‚ โ”œโ”€โ”€ base/ # Common processing functions
111
+ โ”‚ โ”œโ”€โ”€ signal/ # 1D signal processing
112
+ โ”‚ โ””โ”€โ”€ image/ # 2D image processing
113
+ ```
114
+
115
+ Each domain provides:
116
+
117
+ - Low-level functions operating on NumPy arrays
118
+ - High-level functions operating on `SignalObj` or `ImageObj`
119
+
120
+ ---
121
+
122
+ ## ๐Ÿงช Testing
123
+
124
+ Sigima comes with unit tests based on `pytest`.
125
+
126
+ To run all tests:
127
+
128
+ ```bash
129
+ pytest
130
+ ```
131
+
132
+ To run GUI-assisted validation tests (optional):
133
+
134
+ ```bash
135
+ pytest --gui
136
+ ```
137
+
138
+ ---
139
+
140
+ ## ๐Ÿง  License
141
+
142
+ Sigima is distributed under the terms of the BSD 3-Clause license.
143
+ See [LICENSE](./LICENSE) for details.
144
+
145
+ ---
146
+
147
+ ## ๐Ÿค Contributing
148
+
149
+ Bug reports, feature requests and pull requests are welcome!
150
+ See the [CONTRIBUTING](https://datalab-platform.com/en/contributing) guide to get started.
151
+
152
+ ---
153
+
154
+ ![Python](https://raw.githubusercontent.com/DataLab-Platform/DataLab/main/doc/images/logos/Python.png)
155
+ ![NumPy](https://raw.githubusercontent.com/DataLab-Platform/DataLab/main/doc/images/logos/NumPy.png)
156
+ ![SciPy](https://raw.githubusercontent.com/DataLab-Platform/DataLab/main/doc/images/logos/SciPy.png)
157
+ ![scikit-image](https://raw.githubusercontent.com/DataLab-Platform/DataLab/main/doc/images/logos/scikit-image.png)
158
+ ![OpenCV](https://raw.githubusercontent.com/DataLab-Platform/DataLab/main/doc/images/logos/OpenCV.png)
159
+
160
+ ---
161
+
162
+ ยฉ DataLab Platform Developers