cellfinder 1.3.0rc0__tar.gz → 1.3.0rc2__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 (223) hide show
  1. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/.github/workflows/test_and_deploy.yml +6 -6
  2. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/.github/workflows/test_include_guard.yaml +1 -1
  3. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/PKG-INFO +2 -1
  4. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/__init__.py +1 -1
  5. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/classify/classify.py +8 -0
  6. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/classify/cube_generator.py +2 -2
  7. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/main.py +1 -1
  8. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/tools/system.py +10 -0
  9. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/curation.py +1 -1
  10. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/detect/detect.py +8 -2
  11. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/detect/detect_containers.py +2 -0
  12. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/detect/thread_worker.py +2 -2
  13. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder.egg-info/PKG-INFO +2 -1
  14. cellfinder-1.3.0rc2/cellfinder.egg-info/SOURCES.txt +68 -0
  15. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/pyproject.toml +2 -9
  16. cellfinder-1.3.0rc0/cellfinder/__pycache__/__init__.cpython-310.pyc +0 -0
  17. cellfinder-1.3.0rc0/cellfinder/__pycache__/__init__.cpython-311.pyc +0 -0
  18. cellfinder-1.3.0rc0/cellfinder/__pycache__/__init__.cpython-312.pyc +0 -0
  19. cellfinder-1.3.0rc0/cellfinder/core/__pycache__/__init__.cpython-310.pyc +0 -0
  20. cellfinder-1.3.0rc0/cellfinder/core/__pycache__/__init__.cpython-311.pyc +0 -0
  21. cellfinder-1.3.0rc0/cellfinder/core/__pycache__/__init__.cpython-312.pyc +0 -0
  22. cellfinder-1.3.0rc0/cellfinder/core/__pycache__/main.cpython-310.pyc +0 -0
  23. cellfinder-1.3.0rc0/cellfinder/core/__pycache__/main.cpython-311.pyc +0 -0
  24. cellfinder-1.3.0rc0/cellfinder/core/__pycache__/main.cpython-312.pyc +0 -0
  25. cellfinder-1.3.0rc0/cellfinder/core/__pycache__/types.cpython-310.pyc +0 -0
  26. cellfinder-1.3.0rc0/cellfinder/core/__pycache__/types.cpython-311.pyc +0 -0
  27. cellfinder-1.3.0rc0/cellfinder/core/__pycache__/types.cpython-312.pyc +0 -0
  28. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/__init__.cpython-310.pyc +0 -0
  29. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/__init__.cpython-311.pyc +0 -0
  30. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/__init__.cpython-312.pyc +0 -0
  31. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/augment.cpython-310.pyc +0 -0
  32. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/augment.cpython-311.pyc +0 -0
  33. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/augment.cpython-312.pyc +0 -0
  34. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/classify.cpython-310.pyc +0 -0
  35. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/classify.cpython-311.pyc +0 -0
  36. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/classify.cpython-312.pyc +0 -0
  37. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/cube_generator.cpython-310.pyc +0 -0
  38. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/cube_generator.cpython-311.pyc +0 -0
  39. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/cube_generator.cpython-312.pyc +0 -0
  40. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/resnet.cpython-310.pyc +0 -0
  41. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/resnet.cpython-311.pyc +0 -0
  42. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/resnet.cpython-312.pyc +0 -0
  43. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/tools.cpython-310.pyc +0 -0
  44. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/tools.cpython-311.pyc +0 -0
  45. cellfinder-1.3.0rc0/cellfinder/core/classify/__pycache__/tools.cpython-312.pyc +0 -0
  46. cellfinder-1.3.0rc0/cellfinder/core/config/cellfinder.conf.custom +0 -3
  47. cellfinder-1.3.0rc0/cellfinder/core/detect/__pycache__/__init__.cpython-310.pyc +0 -0
  48. cellfinder-1.3.0rc0/cellfinder/core/detect/__pycache__/__init__.cpython-311.pyc +0 -0
  49. cellfinder-1.3.0rc0/cellfinder/core/detect/__pycache__/__init__.cpython-312.pyc +0 -0
  50. cellfinder-1.3.0rc0/cellfinder/core/detect/__pycache__/detect.cpython-310.pyc +0 -0
  51. cellfinder-1.3.0rc0/cellfinder/core/detect/__pycache__/detect.cpython-311.pyc +0 -0
  52. cellfinder-1.3.0rc0/cellfinder/core/detect/__pycache__/detect.cpython-312.pyc +0 -0
  53. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/__pycache__/__init__.cpython-310.pyc +0 -0
  54. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/__pycache__/__init__.cpython-311.pyc +0 -0
  55. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/__pycache__/__init__.cpython-312.pyc +0 -0
  56. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/__pycache__/setup_filters.cpython-310.pyc +0 -0
  57. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/__pycache__/setup_filters.cpython-311.pyc +0 -0
  58. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/__pycache__/setup_filters.cpython-312.pyc +0 -0
  59. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/plane/__pycache__/__init__.cpython-310.pyc +0 -0
  60. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/plane/__pycache__/__init__.cpython-311.pyc +0 -0
  61. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/plane/__pycache__/__init__.cpython-312.pyc +0 -0
  62. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/plane/__pycache__/classical_filter.cpython-310.pyc +0 -0
  63. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/plane/__pycache__/classical_filter.cpython-311.pyc +0 -0
  64. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/plane/__pycache__/classical_filter.cpython-312.pyc +0 -0
  65. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/plane/__pycache__/plane_filter.cpython-310.pyc +0 -0
  66. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/plane/__pycache__/plane_filter.cpython-311.pyc +0 -0
  67. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/plane/__pycache__/plane_filter.cpython-312.pyc +0 -0
  68. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/plane/__pycache__/tile_walker.cpython-310.pyc +0 -0
  69. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/plane/__pycache__/tile_walker.cpython-311.pyc +0 -0
  70. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/plane/__pycache__/tile_walker.cpython-312.pyc +0 -0
  71. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/__init__.cpython-310.pyc +0 -0
  72. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/__init__.cpython-311.pyc +0 -0
  73. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/__init__.cpython-312.pyc +0 -0
  74. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter._cube_overlaps-199.py310.1.nbc +0 -0
  75. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter._cube_overlaps-199.py310.nbi +0 -0
  76. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter._cube_overlaps-263.py310.1.nbc +0 -0
  77. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter._cube_overlaps-263.py310.2.nbc +0 -0
  78. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter._cube_overlaps-263.py310.nbi +0 -0
  79. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter._cube_overlaps-263.py311.1.nbc +0 -0
  80. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter._cube_overlaps-263.py311.2.nbc +0 -0
  81. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter._cube_overlaps-263.py311.nbi +0 -0
  82. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter._cube_overlaps-263.py312.1.nbc +0 -0
  83. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter._cube_overlaps-263.py312.2.nbc +0 -0
  84. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter._cube_overlaps-263.py312.nbi +0 -0
  85. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter.cpython-310.pyc +0 -0
  86. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter.cpython-311.pyc +0 -0
  87. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/ball_filter.cpython-312.pyc +0 -0
  88. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/structure_detection.cpython-310.pyc +0 -0
  89. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/structure_detection.cpython-311.pyc +0 -0
  90. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/structure_detection.cpython-312.pyc +0 -0
  91. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/structure_splitting.cpython-310.pyc +0 -0
  92. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/structure_splitting.cpython-311.pyc +0 -0
  93. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/structure_splitting.cpython-312.pyc +0 -0
  94. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/volume_filter.cpython-310.pyc +0 -0
  95. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/volume_filter.cpython-311.pyc +0 -0
  96. cellfinder-1.3.0rc0/cellfinder/core/detect/filters/volume/__pycache__/volume_filter.cpython-312.pyc +0 -0
  97. cellfinder-1.3.0rc0/cellfinder/core/download/__pycache__/__init__.cpython-310.pyc +0 -0
  98. cellfinder-1.3.0rc0/cellfinder/core/download/__pycache__/__init__.cpython-311.pyc +0 -0
  99. cellfinder-1.3.0rc0/cellfinder/core/download/__pycache__/__init__.cpython-312.pyc +0 -0
  100. cellfinder-1.3.0rc0/cellfinder/core/download/__pycache__/cli.cpython-310.pyc +0 -0
  101. cellfinder-1.3.0rc0/cellfinder/core/download/__pycache__/cli.cpython-312.pyc +0 -0
  102. cellfinder-1.3.0rc0/cellfinder/core/download/__pycache__/download.cpython-310.pyc +0 -0
  103. cellfinder-1.3.0rc0/cellfinder/core/download/__pycache__/download.cpython-311.pyc +0 -0
  104. cellfinder-1.3.0rc0/cellfinder/core/download/__pycache__/download.cpython-312.pyc +0 -0
  105. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/IO.cpython-310.pyc +0 -0
  106. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/__init__.cpython-310.pyc +0 -0
  107. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/__init__.cpython-311.pyc +0 -0
  108. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/__init__.cpython-312.pyc +0 -0
  109. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/array_operations.cpython-310.pyc +0 -0
  110. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/array_operations.cpython-311.pyc +0 -0
  111. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/array_operations.cpython-312.pyc +0 -0
  112. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/geometry.cpython-310.pyc +0 -0
  113. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/geometry.cpython-311.pyc +0 -0
  114. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/geometry.cpython-312.pyc +0 -0
  115. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/image_processing.cpython-310.pyc +0 -0
  116. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/image_processing.cpython-312.pyc +0 -0
  117. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/prep.cpython-310.pyc +0 -0
  118. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/prep.cpython-311.pyc +0 -0
  119. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/prep.cpython-312.pyc +0 -0
  120. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/source_files.cpython-310.pyc +0 -0
  121. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/source_files.cpython-311.pyc +0 -0
  122. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/source_files.cpython-312.pyc +0 -0
  123. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/system.cpython-310.pyc +0 -0
  124. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/system.cpython-312.pyc +0 -0
  125. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/tf.cpython-310.pyc +0 -0
  126. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/tiff.cpython-310.pyc +0 -0
  127. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/tiff.cpython-312.pyc +0 -0
  128. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/tools.cpython-310.pyc +0 -0
  129. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/tools.cpython-311.pyc +0 -0
  130. cellfinder-1.3.0rc0/cellfinder/core/tools/__pycache__/tools.cpython-312.pyc +0 -0
  131. cellfinder-1.3.0rc0/cellfinder/core/train/__pycache__/__init__.cpython-310.pyc +0 -0
  132. cellfinder-1.3.0rc0/cellfinder/core/train/__pycache__/__init__.cpython-311.pyc +0 -0
  133. cellfinder-1.3.0rc0/cellfinder/core/train/__pycache__/__init__.cpython-312.pyc +0 -0
  134. cellfinder-1.3.0rc0/cellfinder/core/train/__pycache__/train_yml.cpython-310.pyc +0 -0
  135. cellfinder-1.3.0rc0/cellfinder/core/train/__pycache__/train_yml.cpython-311.pyc +0 -0
  136. cellfinder-1.3.0rc0/cellfinder/core/train/__pycache__/train_yml.cpython-312.pyc +0 -0
  137. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/__init__.cpython-310.pyc +0 -0
  138. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/__init__.cpython-311.pyc +0 -0
  139. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/__init__.cpython-312.pyc +0 -0
  140. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/curation.cpython-310.pyc +0 -0
  141. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/curation.cpython-312.pyc +0 -0
  142. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/input_container.cpython-310.pyc +0 -0
  143. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/input_container.cpython-311.pyc +0 -0
  144. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/input_container.cpython-312.pyc +0 -0
  145. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/sample_data.cpython-310.pyc +0 -0
  146. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/sample_data.cpython-312.pyc +0 -0
  147. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/utils.cpython-310.pyc +0 -0
  148. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/utils.cpython-311.pyc +0 -0
  149. cellfinder-1.3.0rc0/cellfinder/napari/__pycache__/utils.cpython-312.pyc +0 -0
  150. cellfinder-1.3.0rc0/cellfinder/napari/detect/__pycache__/__init__.cpython-310.pyc +0 -0
  151. cellfinder-1.3.0rc0/cellfinder/napari/detect/__pycache__/__init__.cpython-311.pyc +0 -0
  152. cellfinder-1.3.0rc0/cellfinder/napari/detect/__pycache__/__init__.cpython-312.pyc +0 -0
  153. cellfinder-1.3.0rc0/cellfinder/napari/detect/__pycache__/detect.cpython-310.pyc +0 -0
  154. cellfinder-1.3.0rc0/cellfinder/napari/detect/__pycache__/detect.cpython-311.pyc +0 -0
  155. cellfinder-1.3.0rc0/cellfinder/napari/detect/__pycache__/detect.cpython-312.pyc +0 -0
  156. cellfinder-1.3.0rc0/cellfinder/napari/detect/__pycache__/detect_containers.cpython-310.pyc +0 -0
  157. cellfinder-1.3.0rc0/cellfinder/napari/detect/__pycache__/detect_containers.cpython-311.pyc +0 -0
  158. cellfinder-1.3.0rc0/cellfinder/napari/detect/__pycache__/detect_containers.cpython-312.pyc +0 -0
  159. cellfinder-1.3.0rc0/cellfinder/napari/detect/__pycache__/thread_worker.cpython-310.pyc +0 -0
  160. cellfinder-1.3.0rc0/cellfinder/napari/detect/__pycache__/thread_worker.cpython-311.pyc +0 -0
  161. cellfinder-1.3.0rc0/cellfinder/napari/detect/__pycache__/thread_worker.cpython-312.pyc +0 -0
  162. cellfinder-1.3.0rc0/cellfinder/napari/train/__pycache__/__init__.cpython-310.pyc +0 -0
  163. cellfinder-1.3.0rc0/cellfinder/napari/train/__pycache__/__init__.cpython-312.pyc +0 -0
  164. cellfinder-1.3.0rc0/cellfinder/napari/train/__pycache__/train.cpython-310.pyc +0 -0
  165. cellfinder-1.3.0rc0/cellfinder/napari/train/__pycache__/train.cpython-312.pyc +0 -0
  166. cellfinder-1.3.0rc0/cellfinder/napari/train/__pycache__/train_containers.cpython-310.pyc +0 -0
  167. cellfinder-1.3.0rc0/cellfinder/napari/train/__pycache__/train_containers.cpython-312.pyc +0 -0
  168. cellfinder-1.3.0rc0/cellfinder.egg-info/SOURCES.txt +0 -220
  169. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/.gitignore +0 -0
  170. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/.napari/config.yml +0 -0
  171. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/CITATION.cff +0 -0
  172. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/LICENSE +0 -0
  173. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/MANIFEST.in +0 -0
  174. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/README.md +0 -0
  175. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/cli_migration_warning.py +0 -0
  176. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/__init__.py +0 -0
  177. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/classify/__init__.py +0 -0
  178. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/classify/augment.py +0 -0
  179. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/classify/resnet.py +0 -0
  180. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/classify/tools.py +0 -0
  181. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/config/__init__.py +0 -0
  182. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/config/cellfinder.conf +0 -0
  183. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/__init__.py +0 -0
  184. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/detect.py +0 -0
  185. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/filters/__init__.py +0 -0
  186. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/filters/plane/__init__.py +0 -0
  187. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/filters/plane/classical_filter.py +0 -0
  188. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/filters/plane/plane_filter.py +0 -0
  189. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/filters/plane/tile_walker.py +0 -0
  190. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/filters/setup_filters.py +0 -0
  191. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/filters/volume/__init__.py +0 -0
  192. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/filters/volume/ball_filter.py +0 -0
  193. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/filters/volume/structure_detection.py +0 -0
  194. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/filters/volume/structure_splitting.py +0 -0
  195. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/detect/filters/volume/volume_filter.py +0 -0
  196. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/download/__init__.py +0 -0
  197. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/download/cli.py +0 -0
  198. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/download/download.py +0 -0
  199. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/tools/__init__.py +0 -0
  200. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/tools/array_operations.py +0 -0
  201. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/tools/geometry.py +0 -0
  202. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/tools/image_processing.py +0 -0
  203. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/tools/prep.py +0 -0
  204. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/tools/source_files.py +0 -0
  205. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/tools/tiff.py +0 -0
  206. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/tools/tools.py +0 -0
  207. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/train/__init__.py +0 -0
  208. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/train/train_yml.py +0 -0
  209. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/core/types.py +0 -0
  210. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/__init__.py +0 -0
  211. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/detect/__init__.py +0 -0
  212. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/input_container.py +0 -0
  213. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/napari.yaml +0 -0
  214. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/sample_data.py +0 -0
  215. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/train/__init__.py +0 -0
  216. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/train/train.py +0 -0
  217. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/train/train_containers.py +0 -0
  218. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder/napari/utils.py +0 -0
  219. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder.egg-info/dependency_links.txt +0 -0
  220. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder.egg-info/entry_points.txt +0 -0
  221. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder.egg-info/requires.txt +0 -0
  222. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/cellfinder.egg-info/top_level.txt +0 -0
  223. {cellfinder-1.3.0rc0 → cellfinder-1.3.0rc2}/setup.cfg +0 -0
@@ -48,11 +48,11 @@ jobs:
48
48
  # Include one windows and two macOS (intel based and arm based) runs
49
49
  include:
50
50
  - os: macos-13
51
- python-version: "3.10"
51
+ python-version: "3.11"
52
52
  - os: macos-latest
53
- python-version: "3.10"
53
+ python-version: "3.11"
54
54
  - os: windows-latest
55
- python-version: "3.10"
55
+ python-version: "3.11"
56
56
 
57
57
  steps:
58
58
  - name: Cache brainglobe directory
@@ -98,7 +98,7 @@ jobs:
98
98
  # Run test suite with numba disabled
99
99
  - uses: neuroinformatics-unit/actions/test@v2
100
100
  with:
101
- python-version: "3.10"
101
+ python-version: "3.11"
102
102
  secret-codecov-token: ${{ secrets.CODECOV_TOKEN }}
103
103
  codecov-flags: "numba"
104
104
 
@@ -125,10 +125,10 @@ jobs:
125
125
  with:
126
126
  repository: 'brainglobe/brainglobe-workflows'
127
127
 
128
- - name: Set up Python 3.10
128
+ - name: Set up Python 3.11
129
129
  uses: actions/setup-python@v3
130
130
  with:
131
- python-version: "3.10"
131
+ python-version: "3.11"
132
132
 
133
133
  - name: Install test dependencies
134
134
  run: |
@@ -22,7 +22,7 @@ jobs:
22
22
  - name: Setup Python
23
23
  uses: actions/setup-python@v4
24
24
  with:
25
- python-version: '3.10'
25
+ python-version: '3.11'
26
26
 
27
27
  - name: Install cellfinder via pip
28
28
  run: python -m pip install -e "."
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cellfinder
3
- Version: 1.3.0rc0
3
+ Version: 1.3.0rc2
4
4
  Summary: Automated 3D cell detection in large microscopy images
5
5
  Author-email: "Adam Tyson, Christian Niedworok, Charly Rousseau" <code@adamltyson.com>
6
6
  License: BSD-3-Clause
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3.9
20
20
  Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
21
22
  Classifier: Topic :: Scientific/Engineering :: Image Recognition
22
23
  Requires-Python: >=3.9
23
24
  Description-Content-Type: text/markdown
@@ -26,8 +26,8 @@ except PackageNotFoundError as e:
26
26
 
27
27
  # Set the Keras backend to torch
28
28
  os.environ["KERAS_BACKEND"] = "torch"
29
+ os.environ["PYTORCH_ENABLE_MPS_FALLBACK"] = "1"
29
30
 
30
- __author__ = "Adam Tyson, Christian Niedworok, Charly Rousseau"
31
31
  __license__ = "BSD-3-Clause"
32
32
 
33
33
  DEFAULT_CELLFINDER_DIRECTORY = Path.home() / ".brainglobe" / "cellfinder"
@@ -1,4 +1,5 @@
1
1
  import os
2
+ from datetime import datetime
2
3
  from typing import Any, Callable, Dict, List, Optional, Tuple
3
4
 
4
5
  import keras
@@ -50,6 +51,8 @@ def main(
50
51
  # Too many workers doesn't increase speed, and uses huge amounts of RAM
51
52
  workers = get_num_processes(min_free_cpu_cores=n_free_cpus)
52
53
 
54
+ start_time = datetime.now()
55
+
53
56
  logger.debug("Initialising cube generator")
54
57
  inference_generator = CubeGeneratorFromFile(
55
58
  points,
@@ -90,6 +93,11 @@ def main(
90
93
  cell.type = predictions[idx] + 1
91
94
  points_list.append(cell)
92
95
 
96
+ time_elapsed = datetime.now() - start_time
97
+ print(
98
+ "Classfication complete - all points done in : {}".format(time_elapsed)
99
+ )
100
+
93
101
  return points_list
94
102
 
95
103
 
@@ -40,7 +40,7 @@ class CubeGeneratorFromFile(Sequence):
40
40
  background_array: types.array,
41
41
  voxel_sizes: Tuple[int, int, int],
42
42
  network_voxel_sizes: Tuple[int, int, int],
43
- batch_size: int = 16,
43
+ batch_size: int = 64,
44
44
  cube_width: int = 50,
45
45
  cube_height: int = 50,
46
46
  cube_depth: int = 20,
@@ -345,7 +345,7 @@ class CubeGeneratorFromDisk(Sequence):
345
345
  signal_list: List[Union[str, Path]],
346
346
  background_list: List[Union[str, Path]],
347
347
  labels: Optional[List[int]] = None, # only if training or validating
348
- batch_size: int = 16,
348
+ batch_size: int = 64,
349
349
  shape: Tuple[int, int, int] = (50, 50, 20),
350
350
  channels: int = 2,
351
351
  classes: int = 2,
@@ -18,7 +18,7 @@ def main(
18
18
  trained_model: Optional[os.PathLike] = None,
19
19
  model_weights: Optional[os.PathLike] = None,
20
20
  model: model_type = "resnet50_tv",
21
- batch_size: int = 32,
21
+ batch_size: int = 64,
22
22
  n_free_cpus: int = 2,
23
23
  network_voxel_sizes: Tuple[int, int, int] = (5, 1, 1),
24
24
  soma_diameter: int = 16,
@@ -1,5 +1,6 @@
1
1
  from pathlib import Path
2
2
 
3
+ import keras
3
4
  from brainglobe_utils.general.exceptions import CommandLineInputError
4
5
 
5
6
 
@@ -80,3 +81,12 @@ def memory_in_bytes(memory_amount, unit):
80
81
  )
81
82
  else:
82
83
  return memory_amount * 10 ** supported_units[unit]
84
+
85
+
86
+ def force_cpu():
87
+ """
88
+ Forces the CPU to be used, even if a GPU is available
89
+ """
90
+ keras.src.backend.common.global_state.set_global_attribute(
91
+ "torch_device", "cpu"
92
+ )
@@ -54,7 +54,7 @@ class CurationWidget(QWidget):
54
54
  self.save_empty_cubes = save_empty_cubes
55
55
  self.max_ram = max_ram
56
56
  self.voxel_sizes = [5, 2, 2]
57
- self.batch_size = 32
57
+ self.batch_size = 64
58
58
  self.viewer = viewer
59
59
 
60
60
  self.signal_layer = None
@@ -253,8 +253,9 @@ def detect_widget() -> FunctionGui:
253
253
  max_cluster_size: int,
254
254
  classification_options,
255
255
  skip_classification: bool,
256
- trained_model: Optional[Path],
257
256
  use_pre_trained_weights: bool,
257
+ trained_model: Optional[Path],
258
+ batch_size: int,
258
259
  misc_options,
259
260
  start_plane: int,
260
261
  end_plane: int,
@@ -298,6 +299,8 @@ def detect_widget() -> FunctionGui:
298
299
  should be attempted
299
300
  use_pre_trained_weights : bool
300
301
  Select to use pre-trained model weights
302
+ batch_size : int
303
+ How many points to classify at one time
301
304
  skip_classification : bool
302
305
  If selected, the classification step is skipped and all cells from
303
306
  the detection stage are added
@@ -372,7 +375,10 @@ def detect_widget() -> FunctionGui:
372
375
  if use_pre_trained_weights:
373
376
  trained_model = None
374
377
  classification_inputs = ClassificationInputs(
375
- skip_classification, use_pre_trained_weights, trained_model
378
+ skip_classification,
379
+ use_pre_trained_weights,
380
+ trained_model,
381
+ batch_size,
376
382
  )
377
383
 
378
384
  if analyse_local:
@@ -114,6 +114,7 @@ class ClassificationInputs(InputContainer):
114
114
  skip_classification: bool = False
115
115
  use_pre_trained_weights: bool = True
116
116
  trained_model: Optional[Path] = Path.home()
117
+ batch_size: int = 64
117
118
 
118
119
  def as_core_arguments(self) -> dict:
119
120
  args = super().as_core_arguments()
@@ -131,6 +132,7 @@ class ClassificationInputs(InputContainer):
131
132
  skip_classification=dict(
132
133
  value=cls.defaults()["skip_classification"]
133
134
  ),
135
+ batch_size=dict(value=cls.defaults()["batch_size"]),
134
136
  )
135
137
 
136
138
 
@@ -72,10 +72,10 @@ class Worker(WorkerBase):
72
72
  def classify_callback(batch: int) -> None:
73
73
  self.update_progress_bar.emit(
74
74
  "Classifying cells",
75
- # Default cellfinder-core batch size is 32. This seems to give
75
+ # Default cellfinder-core batch size is 64. This seems to give
76
76
  # a slight underestimate of the number of batches though, so
77
77
  # allow for batch number to go over this
78
- max(self.npoints_detected // 32 + 1, batch + 1),
78
+ max(self.npoints_detected // 64 + 1, batch + 1),
79
79
  batch + 1,
80
80
  )
81
81
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cellfinder
3
- Version: 1.3.0rc0
3
+ Version: 1.3.0rc2
4
4
  Summary: Automated 3D cell detection in large microscopy images
5
5
  Author-email: "Adam Tyson, Christian Niedworok, Charly Rousseau" <code@adamltyson.com>
6
6
  License: BSD-3-Clause
@@ -18,6 +18,7 @@ Classifier: Programming Language :: Python
18
18
  Classifier: Programming Language :: Python :: 3
19
19
  Classifier: Programming Language :: Python :: 3.9
20
20
  Classifier: Programming Language :: Python :: 3.10
21
+ Classifier: Programming Language :: Python :: 3.11
21
22
  Classifier: Topic :: Scientific/Engineering :: Image Recognition
22
23
  Requires-Python: >=3.9
23
24
  Description-Content-Type: text/markdown
@@ -0,0 +1,68 @@
1
+ .gitignore
2
+ CITATION.cff
3
+ LICENSE
4
+ MANIFEST.in
5
+ README.md
6
+ pyproject.toml
7
+ .github/workflows/test_and_deploy.yml
8
+ .github/workflows/test_include_guard.yaml
9
+ .napari/config.yml
10
+ cellfinder/__init__.py
11
+ cellfinder/cli_migration_warning.py
12
+ cellfinder.egg-info/PKG-INFO
13
+ cellfinder.egg-info/SOURCES.txt
14
+ cellfinder.egg-info/dependency_links.txt
15
+ cellfinder.egg-info/entry_points.txt
16
+ cellfinder.egg-info/requires.txt
17
+ cellfinder.egg-info/top_level.txt
18
+ cellfinder/core/__init__.py
19
+ cellfinder/core/main.py
20
+ cellfinder/core/types.py
21
+ cellfinder/core/classify/__init__.py
22
+ cellfinder/core/classify/augment.py
23
+ cellfinder/core/classify/classify.py
24
+ cellfinder/core/classify/cube_generator.py
25
+ cellfinder/core/classify/resnet.py
26
+ cellfinder/core/classify/tools.py
27
+ cellfinder/core/config/__init__.py
28
+ cellfinder/core/config/cellfinder.conf
29
+ cellfinder/core/detect/__init__.py
30
+ cellfinder/core/detect/detect.py
31
+ cellfinder/core/detect/filters/__init__.py
32
+ cellfinder/core/detect/filters/setup_filters.py
33
+ cellfinder/core/detect/filters/plane/__init__.py
34
+ cellfinder/core/detect/filters/plane/classical_filter.py
35
+ cellfinder/core/detect/filters/plane/plane_filter.py
36
+ cellfinder/core/detect/filters/plane/tile_walker.py
37
+ cellfinder/core/detect/filters/volume/__init__.py
38
+ cellfinder/core/detect/filters/volume/ball_filter.py
39
+ cellfinder/core/detect/filters/volume/structure_detection.py
40
+ cellfinder/core/detect/filters/volume/structure_splitting.py
41
+ cellfinder/core/detect/filters/volume/volume_filter.py
42
+ cellfinder/core/download/__init__.py
43
+ cellfinder/core/download/cli.py
44
+ cellfinder/core/download/download.py
45
+ cellfinder/core/tools/__init__.py
46
+ cellfinder/core/tools/array_operations.py
47
+ cellfinder/core/tools/geometry.py
48
+ cellfinder/core/tools/image_processing.py
49
+ cellfinder/core/tools/prep.py
50
+ cellfinder/core/tools/source_files.py
51
+ cellfinder/core/tools/system.py
52
+ cellfinder/core/tools/tiff.py
53
+ cellfinder/core/tools/tools.py
54
+ cellfinder/core/train/__init__.py
55
+ cellfinder/core/train/train_yml.py
56
+ cellfinder/napari/__init__.py
57
+ cellfinder/napari/curation.py
58
+ cellfinder/napari/input_container.py
59
+ cellfinder/napari/napari.yaml
60
+ cellfinder/napari/sample_data.py
61
+ cellfinder/napari/utils.py
62
+ cellfinder/napari/detect/__init__.py
63
+ cellfinder/napari/detect/detect.py
64
+ cellfinder/napari/detect/detect_containers.py
65
+ cellfinder/napari/detect/thread_worker.py
66
+ cellfinder/napari/train/__init__.py
67
+ cellfinder/napari/train/train.py
68
+ cellfinder/napari/train/train_containers.py
@@ -16,6 +16,7 @@ classifiers = [
16
16
  "Programming Language :: Python :: 3",
17
17
  "Programming Language :: Python :: 3.9",
18
18
  "Programming Language :: Python :: 3.10",
19
+ "Programming Language :: Python :: 3.11",
19
20
  "Topic :: Scientific/Engineering :: Image Recognition",
20
21
  ]
21
22
  requires-python = ">=3.9"
@@ -121,16 +122,8 @@ python =
121
122
 
122
123
  [testenv]
123
124
  commands = python -m pytest -v --color=yes --cov=cellfinder --cov-report=xml
124
- deps =
125
- pytest
126
- pytest-cov
127
- pytest-mock
128
- pytest-timeout
129
- # Even though napari is a requirement for cellfinder.napari, we have to
130
- # ensure it is installed with the default Qt backend here.
131
- napari[all]
132
- pytest-qt
133
125
  extras =
126
+ dev
134
127
  napari
135
128
  setenv =
136
129
  KERAS_BACKEND = torch
@@ -1,3 +0,0 @@
1
- [model]
2
- model_path = '/home/adam/.cellfinder/model_weights/resnet50_tv.h5'
3
- model_type = '50-layer'