batoolset 0.1.7__tar.gz → 0.1.8__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 (171) hide show
  1. {batoolset-0.1.7 → batoolset-0.1.8}/PKG-INFO +2 -1
  2. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/GUI/multi_image_display.py +2 -2
  3. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/GUI/paint2.py +2 -3
  4. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/GUI/scrollablepaint.py +3 -3
  5. batoolset-0.1.7/batoolset/binarytools/cell_center_detector.py → batoolset-0.1.8/batoolset/binaries/tools.py +120 -3
  6. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/Position.py +1 -1
  7. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/automated_alignment_drawing_refactored.py +2 -2
  8. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/circle2d.py +1 -1
  9. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/compute_optimal_size_all_merged.py +1 -1
  10. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/freehand2d.py +2 -2
  11. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/group.py +6 -6
  12. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/image2d.py +10 -10
  13. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/point2d.py +1 -1
  14. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/polygon2d.py +1 -1
  15. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/polyline2d.py +1 -1
  16. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/scalebar.py +3 -3
  17. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/serializablefont.py +3 -3
  18. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/square2d.py +2 -3
  19. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/transform2D.py +9 -9
  20. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/txt2d.py +4 -4
  21. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/widgets/col.py +2 -2
  22. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/widgets/image_group.py +1 -1
  23. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/widgets/image_organizer.py +1 -1
  24. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/widgets/paint.py +1 -1
  25. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/widgets/vectorial.py +12 -13
  26. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/figure/alignment.py +2 -2
  27. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/figure/column.py +3 -3
  28. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/figure/fig_tools.py +1 -1
  29. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/figure/minimal_debugger_scale_etc.py +1 -1
  30. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/figure/panel.py +8 -8
  31. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/figure/row.py +3 -3
  32. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/files/tools.py +13 -4
  33. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/img.py +39 -7
  34. batoolset-0.1.8/batoolset/javas/tools.py +60 -0
  35. {batoolset-0.1.7/batoolset/serialization → batoolset-0.1.8/batoolset/serializations}/tools.py +25 -25
  36. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/database/advanced_sql_plotter.py +1 -1
  37. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/database/my_qt_table.py +1 -1
  38. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/database/sql.py +2 -2
  39. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/measurements/nematic.py +1 -1
  40. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/version.py +1 -1
  41. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset.egg-info/PKG-INFO +2 -1
  42. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset.egg-info/SOURCES.txt +62 -63
  43. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset.egg-info/requires.txt +1 -0
  44. {batoolset-0.1.7 → batoolset-0.1.8}/setup.py +1 -0
  45. batoolset-0.1.7/batoolset/binary/tools.py +0 -123
  46. batoolset-0.1.7/batoolset/np_tools/trash.py +0 -15
  47. {batoolset-0.1.7 → batoolset-0.1.8}/LICENSE +0 -0
  48. {batoolset-0.1.7 → batoolset-0.1.8}/README.md +0 -0
  49. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/GUI/__init__.py +0 -0
  50. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/GUI/list_gui.py +0 -0
  51. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/GUI/open.py +0 -0
  52. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/GUI/overlay_hints.py +0 -0
  53. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/IJ_ROIs/__init__.py +0 -0
  54. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/IJ_ROIs/tools.py +0 -0
  55. {batoolset-0.1.7/batoolset/PATH → batoolset-0.1.8/batoolset/SQLites}/__init__.py +0 -0
  56. {batoolset-0.1.7/batoolset/SQLite_tools → batoolset-0.1.8/batoolset/SQLites}/tools.py +0 -0
  57. {batoolset-0.1.7/batoolset/SQLite_tools → batoolset-0.1.8/batoolset}/__init__.py +0 -0
  58. {batoolset-0.1.7/batoolset → batoolset-0.1.8/batoolset/binaries}/__init__.py +0 -0
  59. {batoolset-0.1.7/batoolset/binary → batoolset-0.1.8/batoolset/clipboards}/__init__.py +0 -0
  60. {batoolset-0.1.7/batoolset/clipboard_tools → batoolset-0.1.8/batoolset/clipboards}/tools.py +0 -0
  61. {batoolset-0.1.7/batoolset/binarytools → batoolset-0.1.8/batoolset/colors}/__init__.py +0 -0
  62. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/colors/colorgen.py +0 -0
  63. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/colors/tools.py +0 -0
  64. {batoolset-0.1.7/batoolset/clipboard_tools → batoolset-0.1.8/batoolset/command_line}/__init__.py +0 -0
  65. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/command_line/tools.py +0 -0
  66. {batoolset-0.1.7/batoolset/colors → batoolset-0.1.8/batoolset/dialogs}/__init__.py +0 -0
  67. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/dialogs/opensave.py +0 -0
  68. {batoolset-0.1.7/batoolset/command_line → batoolset-0.1.8/batoolset/dicts}/__init__.py +0 -0
  69. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/dicts/tools.py +0 -0
  70. {batoolset-0.1.7/batoolset/dialogs → batoolset-0.1.8/batoolset/dims}/__init__.py +0 -0
  71. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/dims/tools.py +0 -0
  72. {batoolset-0.1.7/batoolset/dicts → batoolset-0.1.8/batoolset/drawings}/__init__.py +0 -0
  73. {batoolset-0.1.7/batoolset/dims → batoolset-0.1.8/batoolset/drawings/shapes}/__init__.py +0 -0
  74. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/ellipse2d.py +0 -0
  75. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/line2d.py +0 -0
  76. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/rect2d.py +0 -0
  77. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/rectangle2d.py +0 -0
  78. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/serializableguiparams.py +0 -0
  79. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/textorientation.py +0 -0
  80. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings}/shapes/tools.py +0 -0
  81. {batoolset-0.1.7/batoolset/draw → batoolset-0.1.8/batoolset/drawings/widgets}/__init__.py +0 -0
  82. {batoolset-0.1.7/batoolset/draw/shapes → batoolset-0.1.8/batoolset/figure}/__init__.py +0 -0
  83. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/figure/user_selection.py +0 -0
  84. {batoolset-0.1.7/batoolset/draw/widgets → batoolset-0.1.8/batoolset/files}/__init__.py +0 -0
  85. {batoolset-0.1.7/batoolset/figure → batoolset-0.1.8/batoolset/images}/__init__.py +0 -0
  86. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/images/centralstore.py +0 -0
  87. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/images/tools.py +0 -0
  88. {batoolset-0.1.7/batoolset/files → batoolset-0.1.8/batoolset/javas}/__init__.py +0 -0
  89. {batoolset-0.1.7/batoolset/images → batoolset-0.1.8/batoolset/linux}/__init__.py +0 -0
  90. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/linux/tools.py +0 -0
  91. {batoolset-0.1.7/batoolset/linux → batoolset-0.1.8/batoolset/lists}/__init__.py +0 -0
  92. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/lists/tools.py +0 -0
  93. {batoolset-0.1.7/batoolset/lists → batoolset-0.1.8/batoolset/luts}/__init__.py +0 -0
  94. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/luts/lut_minimal_test.py +0 -0
  95. {batoolset-0.1.7/batoolset/luts → batoolset-0.1.8/batoolset/matplolibs}/__init__.py +0 -0
  96. {batoolset-0.1.7/batoolset/matplolib → batoolset-0.1.8/batoolset/matplolibs}/tools.py +0 -0
  97. {batoolset-0.1.7/batoolset/matplolib → batoolset-0.1.8/batoolset/nps}/__init__.py +0 -0
  98. {batoolset-0.1.7/batoolset/np_tools → batoolset-0.1.8/batoolset/nps}/tools.py +0 -0
  99. {batoolset-0.1.7/batoolset/np_tools → batoolset-0.1.8/batoolset/pandaz}/__init__.py +0 -0
  100. {batoolset-0.1.7/batoolset/pandas_tools → batoolset-0.1.8/batoolset/pandaz}/tools.py +0 -0
  101. {batoolset-0.1.7/batoolset/pandas_tools → batoolset-0.1.8/batoolset/partials}/__init__.py +0 -0
  102. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/partials/tools.py +0 -0
  103. {batoolset-0.1.7/batoolset/partials → batoolset-0.1.8/batoolset/paths}/__init__.py +0 -0
  104. {batoolset-0.1.7/batoolset/PATH → batoolset-0.1.8/batoolset/paths}/tools.py +0 -0
  105. {batoolset-0.1.7/batoolset/plot_tools → batoolset-0.1.8/batoolset/plots}/__init__.py +0 -0
  106. {batoolset-0.1.7/batoolset/plot_tools → batoolset-0.1.8/batoolset/plots}/tools.py +0 -0
  107. {batoolset-0.1.7/batoolset/pyqt → batoolset-0.1.8/batoolset/pyqts}/__init__.py +0 -0
  108. {batoolset-0.1.7/batoolset/pyqt → batoolset-0.1.8/batoolset/pyqts}/pleasewaitdialog.py +0 -0
  109. {batoolset-0.1.7/batoolset/pyqt → batoolset-0.1.8/batoolset/pyqts}/tools.py +0 -0
  110. {batoolset-0.1.7/batoolset/re_tools → batoolset-0.1.8/batoolset/res}/__init__.py +0 -0
  111. {batoolset-0.1.7/batoolset/re_tools → batoolset-0.1.8/batoolset/res}/tools.py +0 -0
  112. {batoolset-0.1.7/batoolset/serialization → batoolset-0.1.8/batoolset/serializations}/__init__.py +0 -0
  113. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/sets/__init__.py +0 -0
  114. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/sets/tools.py +0 -0
  115. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/settings/__init__.py +0 -0
  116. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/settings/global_settings.py +0 -0
  117. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/strings/__init__.py +0 -0
  118. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/strings/tools.py +0 -0
  119. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/__init__.py +0 -0
  120. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/database/__init__.py +0 -0
  121. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/database/preview_and_edit_sqlite_db.py +0 -0
  122. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/database/sql_column_name_dialog.py +0 -0
  123. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/measurements/TAmeasures.py +0 -0
  124. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/measurements/__init__.py +0 -0
  125. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/measurements/measurements3D/__init__.py +0 -0
  126. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/measurements/measurements3D/get_point_on_surface_if_centroid_is_bad.py +0 -0
  127. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/measurements/measurements3D/height_map_to_projection.py +0 -0
  128. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/measurements/measurements3D/measures3D.py +0 -0
  129. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/measurements/measurements3D/triangulate.py +0 -0
  130. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/measurements/nematic_measurements.py +0 -0
  131. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/segmentation/__init__.py +0 -0
  132. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/segmentation/neo_wshed.py +0 -0
  133. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/selections/__init__.py +0 -0
  134. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/selections/selection.py +0 -0
  135. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/tracking/__init__.py +0 -0
  136. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/tracking/last_tracking_based_on_matching_or_on_translation_from_mermaid_warp.py +0 -0
  137. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/tracking/local_to_track_correspondance.py +0 -0
  138. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/tracking/rapid_detection_of_vertices.py +0 -0
  139. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/tracking/registration.py +0 -0
  140. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/tracking/swap_detector_and_fixer.py +0 -0
  141. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/tracking/track_correction.py +0 -0
  142. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/tracking/tracking_error_detector_and_fixer.py +0 -0
  143. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/tracking/tracking_yet_another_approach_pyramidal_registration_n_neo_swapping_correction.py +0 -0
  144. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/utils/TA_tools.py +0 -0
  145. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/utils/__init__.py +0 -0
  146. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/ta/utils/rps_tools.py +0 -0
  147. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/tests/__init__.py +0 -0
  148. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/tests/rps_tools.py +0 -0
  149. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/tests/tools.py +0 -0
  150. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/tools/__init__.py +0 -0
  151. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/tools/early_stopper_class.py +0 -0
  152. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/tools/guided_data_recoverer.py +0 -0
  153. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/tools/logger.py +0 -0
  154. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/tools/mytimer.py +0 -0
  155. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/tools/prompt_color.py +0 -0
  156. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/tools/qthandler.py +0 -0
  157. {batoolset-0.1.7/batoolset/uitools → batoolset-0.1.8/batoolset/uis}/__init__.py +0 -0
  158. {batoolset-0.1.7/batoolset/uitools → batoolset-0.1.8/batoolset/uis}/blinker.py +0 -0
  159. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/unsafe/__init__.py +0 -0
  160. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/unsafe/tools.py +0 -0
  161. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/utils/__init__.py +0 -0
  162. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/utils/commontools.py +0 -0
  163. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset/utils/loadlist.py +0 -0
  164. {batoolset-0.1.7/batoolset/xml → batoolset-0.1.8/batoolset/xmls}/__init__.py +0 -0
  165. {batoolset-0.1.7/batoolset/xml → batoolset-0.1.8/batoolset/xmls}/tools.py +0 -0
  166. {batoolset-0.1.7/batoolset/zarr → batoolset-0.1.8/batoolset/zarrs}/__init__.py +0 -0
  167. {batoolset-0.1.7/batoolset/zip_tools → batoolset-0.1.8/batoolset/zips}/__init__.py +0 -0
  168. {batoolset-0.1.7/batoolset/zip_tools → batoolset-0.1.8/batoolset/zips}/tools.py +0 -0
  169. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset.egg-info/dependency_links.txt +0 -0
  170. {batoolset-0.1.7 → batoolset-0.1.8}/batoolset.egg-info/top_level.txt +0 -0
  171. {batoolset-0.1.7 → batoolset-0.1.8}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: batoolset
3
- Version: 0.1.7
3
+ Version: 0.1.8
4
4
  Summary: An aggregate of functions I find useful
5
5
  Home-page: https://github.com/baigouy/batoolset
6
6
  Author: Benoit Aigouy
@@ -39,6 +39,7 @@ Requires-Dist: Deprecated
39
39
  Requires-Dist: Requests
40
40
  Requires-Dist: pyautogui
41
41
  Requires-Dist: imagecodecs
42
+ Requires-Dist: psutil
42
43
  Provides-Extra: all
43
44
  Requires-Dist: python-javabridge; extra == "all"
44
45
  Requires-Dist: python-bioformats; extra == "all"
@@ -11,9 +11,9 @@ from qtpy.QtWidgets import QApplication, QGridLayout, QScrollArea, QLabel, QVBox
11
11
  QStyleOptionTitleBar, QMessageBox, QDialogButtonBox
12
12
  # from deprecated_demos.ta.wshed import Wshed
13
13
  from batoolset.ta.segmentation.neo_wshed import wshed
14
- # from batoolset.draw.widgets.paint import Createpaintwidget
14
+ # from batoolset.drawings.widgets.paint import Createpaintwidget
15
15
  from batoolset.img import Img, RGB_to_int24
16
- from batoolset.draw.shapes.rect2d import Rect2D
16
+ from batoolset.drawings.shapes.rect2d import Rect2D
17
17
 
18
18
  # TODO add shortcuts to zoom and so on so that I can handle it better
19
19
  # TODO maybe store the raw image in it
@@ -2,17 +2,16 @@
2
2
  # NB this will ultimately become the one and only paint widget in the app --> all others or most of them should disappear and be replaced by that
3
3
  # TODO need add the save but only for the mask edit item!!!
4
4
  import os
5
-
6
- from batoolset.pyqt.tools import getCtrlModifier
7
5
  from batoolset.settings.global_settings import set_UI # set the UI to qtpy
8
6
  set_UI()
7
+ from batoolset.pyqts.tools import getCtrlModifier
9
8
  import traceback
10
9
  from qtpy.QtGui import QKeySequence
11
10
  from skimage.measure import label, regionprops
12
11
  from qtpy.QtCore import QRect, QTimer, Qt
13
12
  from qtpy.QtWidgets import QWidget, QApplication, QMessageBox
14
13
  from batoolset.dialogs.opensave import saveFileDialog
15
- from batoolset.draw.widgets.vectorial import VectorialDrawPane
14
+ from batoolset.drawings.widgets.vectorial import VectorialDrawPane
16
15
  from qtpy.QtWidgets import QMenu
17
16
  from qtpy import QtCore, QtGui, QtWidgets
18
17
  from batoolset.img import toQimage, Img, get_white_bounds, RGB_to_int24, is_binary, auto_scale, save_as_tiff
@@ -15,9 +15,9 @@ from qtpy.QtWidgets import QScrollArea, QVBoxLayout, QWidget, QSpinBox, QComboBo
15
15
  QHBoxLayout, QAction, QSlider
16
16
  import qtawesome as qta
17
17
  from qtpy.QtCore import Qt, QTimer
18
- from batoolset.draw.shapes.freehand2d import Freehand2D
19
- from batoolset.draw.shapes.image2d import Image2D
20
- from batoolset.draw.shapes.rect2d import Rect2D
18
+ from batoolset.drawings.shapes.freehand2d import Freehand2D
19
+ from batoolset.drawings.shapes.image2d import Image2D
20
+ from batoolset.drawings.shapes.rect2d import Rect2D
21
21
  from batoolset.img import Img, int24_to_RGB, has_metadata
22
22
  from batoolset.GUI.paint2 import Createpaintwidget
23
23
 
@@ -1,8 +1,13 @@
1
+ # this will contain a set of binary tools
2
+ from skimage.draw import ellipse
3
+ import numpy as np
4
+ import matplotlib.pyplot as plt
5
+ from skimage import data, filters
6
+ from skimage.filters.thresholding import threshold_otsu
1
7
  import math
2
8
  from skimage.measure import label, regionprops
3
9
  from timeit import default_timer as timer
4
- import numpy as np
5
- import matplotlib.pyplot as plt
10
+
6
11
 
7
12
  def add_2d_border(image2d):
8
13
  """
@@ -285,6 +290,118 @@ def _get_seeds(cells, horiz_gradient, vertical_gradient):
285
290
 
286
291
  return combined_gradients_ready_for_wshed, highest_pixels
287
292
 
293
+ def ellipsoidify_dots(binary_dots):
294
+ """
295
+ Replaces all 2D dots detected by an equivalent ellipse using bbox radius to draw the dot.
296
+
297
+ Args:
298
+ binary_dots (ndarray): An image that contains dots (typically obtained through binarization of an image).
299
+
300
+ Returns:
301
+ ndarray: The modified image with dots replaced by ellipses.
302
+
303
+ Examples:
304
+ >>> binary_dots = np.array([[0, 0, 0, 0],
305
+ ... [0, 1, 0, 0],
306
+ ... [0, 0, 0, 0]])
307
+ >>> result = ellipsoidify_dots(binary_dots)
308
+ >>> print(result)
309
+ [[0 0 0 0]
310
+ [0 1 0 0]
311
+ [0 0 0 0]]
312
+ """
313
+ # Check if the image is 3D
314
+ if len(binary_dots.shape) == 3:
315
+ # If image is 3D, loop over all images and apply ellipsoidify_dots to each channel
316
+ for iii, img_2D in enumerate(binary_dots):
317
+ binary_dots[iii] = ellipsoidify_dots(img_2D)
318
+ return binary_dots
319
+
320
+ # Label the dots in the binary image
321
+ lab_dots = label(binary_dots, connectivity=None, background=0)
322
+ rps_dots = regionprops(lab_dots)
323
+
324
+ # Iterate over each labeled region (dot)
325
+ for region in rps_dots:
326
+ centroid = region.centroid
327
+ bbox = region.bbox
328
+ # Draw an ellipse that fits the dot
329
+ rr, cc = ellipse(centroid[0], centroid[1], r_radius=abs(bbox[0] - bbox[2]) / 2,
330
+ c_radius=abs(bbox[1] - bbox[3]) / 2, shape=binary_dots.shape)
331
+ binary_dots[rr, cc] = binary_dots.max()
332
+
333
+ return binary_dots
334
+ # should also work for 3D even though the 3D version is not super elegant
335
+
336
+ def tst_all_auto_thresholds(img):
337
+ # Apply all thresholding methods and display results
338
+ fig, ax = filters.try_all_threshold(img, figsize=(8, 5), verbose=False)
339
+
340
+ # Show plot
341
+ plt.show()
342
+
343
+ def yen_thresholding(img,return_threshold=False):
344
+ # Apply Yen thresholding method
345
+ thresh = filters.threshold_yen(img)
346
+ if return_threshold:
347
+ return thresh
348
+ # Apply threshold to image
349
+ return apply_threshold(img, thresh)
350
+
351
+ def triangle_threshold(img, return_threshold=False):
352
+ # Apply triangle thresholding method
353
+ thresh = filters.threshold_triangle(img)
354
+ if return_threshold:
355
+ return thresh
356
+ # Apply threshold to image
357
+ return apply_threshold(img, thresh)
358
+
359
+ def isodata_threshold(img, return_threshold=False):
360
+ # Apply triangle thresholding method
361
+ thresh = filters.threshold_isodata(img)
362
+ # thresh = threshold_otsu(img)
363
+ if return_threshold:
364
+ return thresh
365
+ # Apply threshold to image
366
+ return apply_threshold(img, thresh)
367
+
368
+ def otsu_threshold(img, return_threshold=False):
369
+ # Apply triangle thresholding method
370
+ # thresh = filters.otsu_threshold(img)
371
+ thresh = threshold_otsu(img)
372
+ if return_threshold:
373
+ return thresh
374
+ # Apply threshold to image
375
+ return apply_threshold(img, thresh)
376
+
377
+ def mean_threshold(img, return_threshold=False):
378
+ # Apply triangle thresholding method
379
+ thresh = filters.threshold_mean(img)
380
+ if return_threshold:
381
+ return thresh
382
+ # Apply threshold to image
383
+ return apply_threshold(img, thresh)
384
+
385
+ def apply_threshold(img, threshold):
386
+ # Apply threshold to image
387
+ binary = img > threshold
388
+ return binary
389
+
390
+ def smart_threshold_above(img,max_fraction, increment=0.01):
391
+ norm = np.copy(img)
392
+ factor = norm.max()
393
+ norm= norm/norm.max()
394
+ # for vvv in range(0,1,increment):
395
+ threshold = 1.
396
+ while threshold-increment>0.:
397
+ if np.count_nonzero(norm>=threshold)/img.size >= max_fraction:
398
+ return threshold*factor
399
+ threshold-=increment
400
+
288
401
 
289
402
  if __name__ == '__main__':
290
- start = timer()
403
+ from batoolset.img import Img
404
+ img =Img('/E/Sample_images/cells_escaping_silencing_test_count/Apotome/MAX_IP-ApoTome-01.tif')
405
+ # img =Img('/E/Sample_images/cells_escaping_silencing_test_count/R1-14,5kb T2A DsRed X2 TgA/R1-14,5kb T2A DsRed X2 TgA 0004/wing_deep.tif')
406
+ # img =Img('/E/Sample_images/cells_escaping_silencing_test_count/HT 14,5kbT2ADsRed/A5 No Wari 14,5T2A DsRed X1 Female 0001/wing_deep.tif')
407
+ print(smart_threshold_above(img, 0.36))
@@ -21,7 +21,7 @@ def sorting_key(obj):
21
21
  return ('free','relative') # if the object does not have a position assume it obeys free/relative positioning
22
22
 
23
23
  def groupby_position(objects):
24
- from batoolset.draw.shapes.txt2d import TAText2D
24
+ from batoolset.drawings.shapes.txt2d import TAText2D
25
25
  if isinstance(objects, TAText2D):
26
26
  objects = [objects]
27
27
  # Sort the objects based on their positions
@@ -6,8 +6,8 @@ from qtpy.QtGui import QTransform,QPolygon
6
6
  from qtpy.QtWidgets import QApplication, QWidget
7
7
  from qtpy.QtGui import QPainter, QPen, QBrush, QColor
8
8
  from qtpy.QtCore import Qt, QPointF, QRectF,QPoint
9
- from batoolset.draw.shapes.polyline2d import PolyLine2D
10
- from batoolset.draw.shapes.transform2D import get_centroid, get_points, Transform2D
9
+ from batoolset.drawings.shapes.polyline2d import PolyLine2D
10
+ from batoolset.drawings.shapes.transform2D import get_centroid, get_points, Transform2D
11
11
 
12
12
  def compute_translation_corrections(img1, minimal_return=True):
13
13
  old_scale = img1.scale
@@ -1,4 +1,4 @@
1
- from batoolset.draw.shapes.ellipse2d import *
1
+ from batoolset.drawings.shapes.ellipse2d import *
2
2
  from batoolset.tools.logger import TA_logger
3
3
 
4
4
  logger = TA_logger()
@@ -1,4 +1,4 @@
1
- from batoolset.draw.shapes.rectangle2d import Rectangle2D
1
+ from batoolset.drawings.shapes.rectangle2d import Rectangle2D
2
2
  # from PyQt5.QtCore import QRectF, QSizeF
3
3
  from qtpy.QtCore import QRectF, QSizeF
4
4
 
@@ -4,10 +4,10 @@ import os
4
4
  from qtpy import QtCore
5
5
  from qtpy.QtCore import QPointF, Qt
6
6
  from qtpy.QtGui import QPainter, QBrush, QPen, QImage, QColor
7
- # from batoolset.draw.shapes.polygon2d import Polygon2D
7
+ # from batoolset.drawings.shapes.polygon2d import Polygon2D
8
8
  # from qtpy.Qt
9
9
  # from qtpy.Qt import (QPaintEngine, QPaintDevice, QTransform, QBrush)
10
- from batoolset.draw.shapes.polygon2d import Polygon2D
10
+ from batoolset.drawings.shapes.polygon2d import Polygon2D
11
11
 
12
12
  from batoolset.tools.logger import TA_logger
13
13
  logger = TA_logger()
@@ -3,7 +3,7 @@ from batoolset.settings.global_settings import set_UI # set the UI to qtpy
3
3
  set_UI()
4
4
  import matplotlib.pyplot as plt
5
5
  import numpy as np
6
- # from batoolset.draw.shapes.vectorgraphics2d import VectorGraphics2D
6
+ # from batoolset.drawings.shapes.vectorgraphics2d import VectorGraphics2D
7
7
  from batoolset.img import Img
8
8
  from batoolset.lists.tools import move_left, move_right, is_iterable
9
9
  import random
@@ -11,16 +11,16 @@ import sys
11
11
  import traceback
12
12
  # this will replace cols or rows and will be able to do both but more flexibly
13
13
  from timeit import default_timer as timer
14
- from batoolset.serialization.tools import create_objects_from_dict
15
- from batoolset.draw.shapes.image2d import Image2D
16
- from batoolset.draw.shapes.rectangle2d import Rectangle2D
17
- from batoolset.draw.shapes.txt2d import TAText2D
14
+ from batoolset.serializations.tools import create_objects_from_dict
15
+ from batoolset.drawings.shapes.image2d import Image2D
16
+ from batoolset.drawings.shapes.rectangle2d import Rectangle2D
17
+ from batoolset.drawings.shapes.txt2d import TAText2D
18
18
  from qtpy.QtCore import QRectF, QSizeF,QPointF
19
19
  from qtpy.QtWidgets import QApplication
20
20
  from qtpy.QtGui import QPainter, QColor, QBrush, QPen, QTransform
21
21
  from batoolset.figure.alignment import pack2, align2, align_positions
22
22
  from batoolset.tests.tools import are_ratios_almost_equal
23
- from batoolset.draw.shapes.compute_optimal_size_all_merged import resize_rects_within_total_width, \
23
+ from batoolset.drawings.shapes.compute_optimal_size_all_merged import resize_rects_within_total_width, \
24
24
  resize_rects_within_total_height
25
25
 
26
26
  ORIENTATIONS = ["X","Y"] #,"grid"
@@ -5,15 +5,15 @@ from batoolset.luts.lut_minimal_test import PaletteCreator, list_available_luts,
5
5
  from batoolset.files.tools import smart_name_parser
6
6
  from batoolset.files.tools import get_consolidated_filename_from_parent
7
7
  from batoolset.strings.tools import reload_string_list, is_string_a_list_string, find_letter_before_h
8
- from batoolset.draw.shapes.automated_alignment_drawing_refactored import compute_translation_corrections
9
- from batoolset.pyqt.tools import check_antialiasing, copy_transform_without_rotation, rotate_image, copy_scale_only, \
8
+ from batoolset.drawings.shapes.automated_alignment_drawing_refactored import compute_translation_corrections
9
+ from batoolset.pyqts.tools import check_antialiasing, copy_transform_without_rotation, rotate_image, copy_scale_only, \
10
10
  copy_scale_and_translation_only, crop_image, get_shape_after_rotation_and_crop, tst_translation
11
- from batoolset.serialization.tools import create_objects_from_dict, object_to_xml
12
- from batoolset.matplolib.tools import get_fig_rect
11
+ from batoolset.serializations.tools import create_objects_from_dict, object_to_xml
12
+ from batoolset.matplolibs.tools import get_fig_rect
13
13
  import os
14
14
  import traceback
15
- from batoolset.draw.shapes.Position import groupby_position, Position
16
- from batoolset.draw.shapes.rectangle2d import Rectangle2D
15
+ from batoolset.drawings.shapes.Position import groupby_position, Position
16
+ from batoolset.drawings.shapes.rectangle2d import Rectangle2D
17
17
  import numpy as np
18
18
  import matplotlib.pyplot as plt
19
19
  from qtpy import QtGui
@@ -21,12 +21,12 @@ from qtpy.QtGui import QPainter, QColor, QBrush, QPen, QTransform, QFontMetrics,
21
21
  from qtpy.QtCore import Qt
22
22
  from qtpy.QtSvg import QSvgGenerator
23
23
  from qtpy.QtSvg import QSvgRenderer
24
- from batoolset.draw.shapes.line2d import Line2D
25
- from batoolset.draw.shapes.point2d import Point2D
24
+ from batoolset.drawings.shapes.line2d import Line2D
25
+ from batoolset.drawings.shapes.point2d import Point2D
26
26
  from batoolset.figure.alignment import alignRight, alignLeft, alignTop, alignBottom, alignCenterH, alignCenterV, packY, \
27
27
  packX, packYreverse, pack2, packing_modes
28
- from batoolset.draw.shapes.scalebar import ScaleBar
29
- from batoolset.draw.shapes.txt2d import TAText2D
28
+ from batoolset.drawings.shapes.scalebar import ScaleBar
29
+ from batoolset.drawings.shapes.txt2d import TAText2D
30
30
 
31
31
  from batoolset.img import Img, toQimage, RGB_to_BGR, guess_dimensions, max_proj, min_proj, avg_proj
32
32
  from qtpy.QtCore import QRectF, QPointF, QSize, QRect
@@ -5,7 +5,7 @@ from math import sqrt
5
5
 
6
6
  from qtpy.QtCore import QRectF
7
7
 
8
- from batoolset.draw.shapes.circle2d import *
8
+ from batoolset.drawings.shapes.circle2d import *
9
9
  from batoolset.tools.logger import TA_logger
10
10
  logger = TA_logger()
11
11
 
@@ -1,7 +1,7 @@
1
1
  from batoolset.settings.global_settings import set_UI # set the UI to qtpy
2
2
  set_UI()
3
3
  import os
4
- from batoolset.draw.shapes.tools import rect_intersects_polygon, create_rect_centered_at, qpolygonf_to_list
4
+ from batoolset.drawings.shapes.tools import rect_intersects_polygon, create_rect_centered_at, qpolygonf_to_list
5
5
  from qtpy import QtCore
6
6
  from qtpy.QtCore import QPointF, Qt
7
7
  from qtpy.QtGui import QPolygonF, QTransform
@@ -6,7 +6,7 @@ from qtpy.QtCore import QPointF, Qt
6
6
  from qtpy.QtGui import QPainter, QBrush, QPen, QImage, QColor, QPolygonF
7
7
  # from qtpy.Qt
8
8
  # from qtpy.Qt import (QPaintEngine, QPaintDevice, QTransform, QBrush)
9
- from batoolset.draw.shapes.polygon2d import Polygon2D
9
+ from batoolset.drawings.shapes.polygon2d import Polygon2D
10
10
 
11
11
  from batoolset.tools.logger import TA_logger
12
12
 
@@ -3,9 +3,9 @@ set_UI()
3
3
  from qtpy.QtGui import QTransform,QPen, QColor
4
4
  from qtpy.QtCore import QPointF
5
5
  from batoolset.figure.alignment import pack2, align2, align_positions
6
- from batoolset.draw.shapes.rectangle2d import Rectangle2D
7
- from batoolset.draw.shapes.txt2d import TAText2D
8
- from batoolset.draw.shapes.Position import Position
6
+ from batoolset.drawings.shapes.rectangle2d import Rectangle2D
7
+ from batoolset.drawings.shapes.txt2d import TAText2D
8
+ from batoolset.drawings.shapes.Position import Position
9
9
  # logger
10
10
  from batoolset.tools.logger import TA_logger
11
11
 
@@ -1,6 +1,6 @@
1
- from batoolset.draw.shapes.Position import Position
2
- from batoolset.draw.shapes.txt2d import TAText2D
3
- from batoolset.pyqt.tools import get_html_text_with_font
1
+ from batoolset.drawings.shapes.Position import Position
2
+ from batoolset.drawings.shapes.txt2d import TAText2D
3
+ from batoolset.pyqts.tools import get_html_text_with_font
4
4
  from batoolset.settings.global_settings import set_UI # set the UI to qtpy
5
5
  set_UI()
6
6
  from qtpy.QtGui import QFont
@@ -1,11 +1,10 @@
1
1
  import os
2
-
3
- from batoolset.draw.shapes.rectangle2d import Rectangle2D
4
2
  from batoolset.settings.global_settings import set_UI # set the UI to qtpy
5
3
  set_UI()
4
+ from batoolset.drawings.shapes.rectangle2d import Rectangle2D
6
5
  from qtpy.QtCore import QPointF
7
6
 
8
- from batoolset.draw.shapes.rect2d import Rect2D
7
+ from batoolset.drawings.shapes.rect2d import Rect2D
9
8
 
10
9
  from batoolset.tools.logger import TA_logger
11
10
 
@@ -1,17 +1,17 @@
1
1
  from batoolset.settings.global_settings import set_UI # set the UI to qtpy
2
2
  set_UI()
3
- from batoolset.draw.shapes.freehand2d import Freehand2D
4
- from batoolset.draw.shapes.polyline2d import PolyLine2D
5
- from batoolset.serialization.tools import clone_object
3
+ from batoolset.drawings.shapes.freehand2d import Freehand2D
4
+ from batoolset.drawings.shapes.polyline2d import PolyLine2D
5
+ from batoolset.serializations.tools import clone_object
6
6
  from qtpy.QtCore import QRectF, QPointF,QPoint
7
7
  from qtpy.QtGui import QTransform, QPolygonF,QPolygon
8
8
  import numpy as np
9
- from batoolset.draw.shapes import polyline2d, freehand2d
10
- from batoolset.draw.shapes.ellipse2d import Ellipse2D
11
- from batoolset.draw.shapes.line2d import Line2D
12
- from batoolset.draw.shapes.point2d import Point2D
13
- from batoolset.draw.shapes.polygon2d import Polygon2D
14
- from batoolset.draw.shapes.rectangle2d import Rectangle2D
9
+ from batoolset.drawings.shapes import polyline2d, freehand2d
10
+ from batoolset.drawings.shapes.ellipse2d import Ellipse2D
11
+ from batoolset.drawings.shapes.line2d import Line2D
12
+ from batoolset.drawings.shapes.point2d import Point2D
13
+ from batoolset.drawings.shapes.polygon2d import Polygon2D
14
+ from batoolset.drawings.shapes.rectangle2d import Rectangle2D
15
15
 
16
16
 
17
17
  def translated(shape, point):
@@ -1,9 +1,9 @@
1
1
  # TODO allow text for be written at an angle and determine it size then
2
2
  from batoolset.settings.global_settings import set_UI # set the UI to qtpy
3
3
  set_UI()
4
- from batoolset.pyqt.tools import get_painter_transform_and_rotation
5
- from batoolset.draw.shapes.textorientation import get_angle
6
- from batoolset.draw.shapes.Position import Position
4
+ from batoolset.pyqts.tools import get_painter_transform_and_rotation
5
+ from batoolset.drawings.shapes.textorientation import get_angle
6
+ from batoolset.drawings.shapes.Position import Position
7
7
  from qtpy import QtCore
8
8
  from qtpy.QtCore import QRect
9
9
  from qtpy.QtGui import QTextDocument, QTextOption
@@ -13,7 +13,7 @@ import sys
13
13
  from qtpy import QtGui
14
14
  from qtpy.QtCore import Qt
15
15
  from qtpy.QtWidgets import QApplication
16
- from batoolset.draw.shapes.rectangle2d import Rectangle2D
16
+ from batoolset.drawings.shapes.rectangle2d import Rectangle2D
17
17
  # log errors
18
18
  from batoolset.tools.logger import TA_logger
19
19
  logger = TA_logger()
@@ -3,7 +3,7 @@
3
3
  import os
4
4
  from batoolset.settings.global_settings import set_UI # set the UI to qtpy
5
5
  set_UI()
6
- from batoolset.draw.shapes.rect2d import Rect2D
6
+ from batoolset.drawings.shapes.rect2d import Rect2D
7
7
  from qtpy.QtCore import QPointF, QRectF
8
8
  # logger
9
9
  from batoolset.tools.logger import TA_logger
@@ -220,7 +220,7 @@ class col(Rect2D):
220
220
  painter.restore()
221
221
 
222
222
  if __name__ == '__main__':
223
- from batoolset.draw.shapes.image2d import Image2D # KEEP Really required to avoid circular imports
223
+ from batoolset.drawings.shapes.image2d import Image2D # KEEP Really required to avoid circular imports
224
224
 
225
225
  img1 = Image2D('/E/Sample_images/counter/00.png')
226
226
  img2 = Image2D('/E/Sample_images/counter/01.png')
@@ -1,7 +1,7 @@
1
1
  import os
2
2
  from batoolset.settings.global_settings import set_UI # set the UI to qtpy
3
3
  set_UI()
4
- from batoolset.draw.shapes.rect2d import Rect2D
4
+ from batoolset.drawings.shapes.rect2d import Rect2D
5
5
  from qtpy.QtCore import QPointF, QRectF
6
6
  from deprecated import deprecated
7
7
  # logger
@@ -64,7 +64,7 @@ def packY(things_to_align, space=3):
64
64
  img = things_to_align[i]
65
65
  print('2',img)
66
66
  if isinstance(img, list):
67
- from batoolset.draw.widgets.image_group import group
67
+ from batoolset.drawings.widgets.image_group import group
68
68
  img = group(*img)
69
69
  # should I create a row of objects in fact I need a group and move everything with that --> TODO --> maybe
70
70
  if i != 0:
@@ -5,7 +5,7 @@ from qtpy.QtCore import QRect, QTimer
5
5
  from qtpy.QtGui import QPixmap
6
6
  from qtpy.QtWidgets import QWidget
7
7
 
8
- from batoolset.draw.widgets.vectorial import VectorialDrawPane
8
+ from batoolset.drawings.widgets.vectorial import VectorialDrawPane
9
9
  from qtpy.QtWidgets import QMenu, QApplication
10
10
  from qtpy import QtCore, QtGui
11
11
 
@@ -3,22 +3,21 @@
3
3
 
4
4
 
5
5
  import os
6
-
7
- from batoolset.draw.shapes.txt2d import TAText2D
8
- from batoolset.pyqt.tools import getCtrlModifier
9
6
  from batoolset.settings.global_settings import set_UI # set the UI to qtpy
10
7
  set_UI()
8
+ from batoolset.drawings.shapes.txt2d import TAText2D
9
+ from batoolset.pyqts.tools import getCtrlModifier
11
10
  from qtpy import QtCore
12
- from batoolset.draw.shapes.polygon2d import Polygon2D
13
- from batoolset.draw.shapes.line2d import Line2D
14
- from batoolset.draw.shapes.rect2d import Rect2D
15
- from batoolset.draw.shapes.square2d import Square2D
16
- from batoolset.draw.shapes.ellipse2d import Ellipse2D
17
- from batoolset.draw.shapes.circle2d import Circle2D
18
- from batoolset.draw.shapes.freehand2d import Freehand2D
19
- from batoolset.draw.shapes.point2d import Point2D
20
- from batoolset.draw.shapes.polyline2d import PolyLine2D
21
- from batoolset.draw.shapes.image2d import Image2D
11
+ from batoolset.drawings.shapes.polygon2d import Polygon2D
12
+ from batoolset.drawings.shapes.line2d import Line2D
13
+ from batoolset.drawings.shapes.rect2d import Rect2D
14
+ from batoolset.drawings.shapes.square2d import Square2D
15
+ from batoolset.drawings.shapes.ellipse2d import Ellipse2D
16
+ from batoolset.drawings.shapes.circle2d import Circle2D
17
+ from batoolset.drawings.shapes.freehand2d import Freehand2D
18
+ from batoolset.drawings.shapes.point2d import Point2D
19
+ from batoolset.drawings.shapes.polyline2d import PolyLine2D
20
+ from batoolset.drawings.shapes.image2d import Image2D
22
21
  from qtpy.QtCore import QPointF, QRectF
23
22
  from batoolset.tools.logger import TA_logger # logging
24
23
  logger = TA_logger()
@@ -9,7 +9,7 @@ set_UI()
9
9
  from deprecated import deprecated
10
10
  from qtpy.QtCore import QRectF
11
11
 
12
- from batoolset.draw.shapes.point2d import Point2D
12
+ from batoolset.drawings.shapes.point2d import Point2D
13
13
  from batoolset.tools.logger import TA_logger
14
14
  import numpy as np
15
15
 
@@ -231,7 +231,7 @@ packing_modes = ['X','Y', '-X', '-Y']
231
231
  # last = img.x() + img.width(all=True)
232
232
 
233
233
  def pack2(space=3, mode=packing_modes[0], extra_border_mode=False, *objects_to_pack): # a cleaned and better version of packX
234
- from batoolset.draw.shapes.image2d import Image2D
234
+ from batoolset.drawings.shapes.image2d import Image2D
235
235
 
236
236
  # check position
237
237
 
@@ -24,9 +24,9 @@ set_UI()# panel1D --> orientation --> hor/ver
24
24
  # panel2D --> more stuff and same size required
25
25
  import random
26
26
 
27
- from batoolset.draw.shapes.image2d import Image2D
28
- from batoolset.draw.shapes.point2d import Point2D
29
- from batoolset.draw.shapes.rect2d import Rect2D
27
+ from batoolset.drawings.shapes.image2d import Image2D
28
+ from batoolset.drawings.shapes.point2d import Point2D
29
+ from batoolset.drawings.shapes.rect2d import Rect2D
30
30
  from qtpy.QtCore import QPointF, QRectF
31
31
  # from sympy import nsolve, exp, Symbol
32
32
  # logger
@@ -225,7 +225,7 @@ def get_common_scaling_factor_taking_incompressibility_into_account(dimensions_i
225
225
  return common_scaling
226
226
 
227
227
  def get_master_bounds2(group_of_shapes):
228
- # from batoolset.draw.shapes.group import Group
228
+ # from batoolset.drawings.shapes.group import Group
229
229
  bounds = QRectF()
230
230
 
231
231
  if group_of_shapes is None:
@@ -8,7 +8,7 @@
8
8
  # can one use words for that
9
9
 
10
10
 
11
- from batoolset.draw.shapes.image2d import Image2D
11
+ from batoolset.drawings.shapes.image2d import Image2D
12
12
  from batoolset.figure.alignment import packX
13
13
  from batoolset.figure.column import Column
14
14
  # from batoolset.figure.fig_tools import preview, get_common_scaling_factor
@@ -31,7 +31,7 @@
31
31
  import os
32
32
  from batoolset.settings.global_settings import set_UI # set the UI to qtpy
33
33
  set_UI()
34
- from batoolset.draw.shapes.rect2d import Rect2D
34
+ from batoolset.drawings.shapes.rect2d import Rect2D
35
35
  from qtpy.QtCore import QPointF, QRectF
36
36
 
37
37
  # from batoolset.figure.fig_tools import preview
@@ -337,10 +337,10 @@ class Panel(Rect2D):
337
337
  # logger.debug('not enough images so adding empty images with same size as last entry')
338
338
  # row += Image2D(width=last_size.width(), height=last_size.height())
339
339
  if row is not None and not len(row) == 0:
340
- from batoolset.draw.widgets.image_organizer import packX
340
+ from batoolset.drawings.widgets.image_organizer import packX
341
341
  # packing seems correct then need align top
342
342
  packX(row, self.space) # ça ça marche
343
- from batoolset.draw.widgets.image_organizer import alignTop
343
+ from batoolset.drawings.widgets.image_organizer import alignTop
344
344
  alignTop(row) # ça ça marche
345
345
  # seems ok too
346
346
 
@@ -355,10 +355,10 @@ class Panel(Rect2D):
355
355
  print('fig len', len(fig)) # --> ok
356
356
  # logger.error('empty panel created there has to be an error somewhere')
357
357
 
358
- from batoolset.draw.widgets.image_organizer import packY
358
+ from batoolset.drawings.widgets.image_organizer import packY
359
359
  # not necessarily that by the way
360
360
  # packY(fig, space=self.space)
361
- from batoolset.draw.widgets.image_organizer import sameHeight
361
+ from batoolset.drawings.widgets.image_organizer import sameHeight
362
362
 
363
363
  # required
364
364
 
@@ -367,7 +367,7 @@ class Panel(Rect2D):
367
367
  sameHeight(self.images, space=self.space) # bug here
368
368
  print('arfter same height', self.boundingRect())
369
369
 
370
- from batoolset.draw.widgets.image_group import group
370
+ from batoolset.drawings.widgets.image_group import group
371
371
  if self.width() != 0:
372
372
  group(*self.images).setToWidth(self.width())
373
373
  if self.height() !=0:
@@ -412,7 +412,7 @@ class Panel(Rect2D):
412
412
  # maybe bug is just because of not properly handling set to with and set to height
413
413
 
414
414
  # why the hell do I have a figure in panel really need to recode that
415
- from batoolset.draw.widgets.col import col
415
+ from batoolset.drawings.widgets.col import col
416
416
  fig = col(space=self.space)
417
417
  self.rows=[]
418
418
 
@@ -502,7 +502,7 @@ class Panel(Rect2D):
502
502
  # return extra_space
503
503
 
504
504
  if __name__ == '__main__':
505
- from batoolset.draw.shapes.image2d import Image2D # KEEP Really required to avoid circular imports
505
+ from batoolset.drawings.shapes.image2d import Image2D # KEEP Really required to avoid circular imports
506
506
 
507
507
  img0 = Image2D('/E/Sample_images/counter/00.png')
508
508
  # img0.setLetter(TAText2D(