cellprofiler-library-nightly 5.0.0.dev669__tar.gz → 5.0.0.dev674__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 (127) hide show
  1. {cellprofiler_library_nightly-5.0.0.dev669/cellprofiler_library_nightly.egg-info → cellprofiler_library_nightly-5.0.0.dev674}/PKG-INFO +1 -1
  2. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/_version.py +3 -3
  3. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/functions/image_processing.py +36 -0
  4. cellprofiler_library_nightly-5.0.0.dev674/cellprofiler_library/modules/_findmaxima.py +31 -0
  5. cellprofiler_library_nightly-5.0.0.dev674/cellprofiler_library/opts/findmaxima.py +7 -0
  6. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674/cellprofiler_library_nightly.egg-info}/PKG-INFO +1 -1
  7. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library_nightly.egg-info/SOURCES.txt +2 -0
  8. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library_nightly.egg-info/scm_file_list.json +2 -0
  9. cellprofiler_library_nightly-5.0.0.dev674/cellprofiler_library_nightly.egg-info/scm_version.json +8 -0
  10. cellprofiler_library_nightly-5.0.0.dev669/cellprofiler_library_nightly.egg-info/scm_version.json +0 -8
  11. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/LICENSE +0 -0
  12. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/README.md +0 -0
  13. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/__init__.py +0 -0
  14. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/functions/__init__.py +0 -0
  15. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/functions/file_processing.py +0 -0
  16. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/functions/measurement.py +0 -0
  17. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/functions/object_processing.py +0 -0
  18. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/functions/segmentation.py +0 -0
  19. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/measurement_model.py +0 -0
  20. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/__init__.py +0 -0
  21. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_align.py +0 -0
  22. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_closing.py +0 -0
  23. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_colortogray.py +0 -0
  24. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_combineobjects.py +0 -0
  25. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_convertimagetoobjects.py +0 -0
  26. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_convertobjectstoimage.py +0 -0
  27. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_correctilluminationapply.py +0 -0
  28. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_crop.py +0 -0
  29. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_dilateimage.py +0 -0
  30. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_dilateobjects.py +0 -0
  31. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_enhanceedges.py +0 -0
  32. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_enhanceorsuppressfeatures.py +0 -0
  33. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_erodeimage.py +0 -0
  34. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_erodeobjects.py +0 -0
  35. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_expandorshrinkobjects.py +0 -0
  36. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_fillobjects.py +0 -0
  37. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_filterobjects.py +0 -0
  38. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_flipandrotate.py +0 -0
  39. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_gaussianfilter.py +0 -0
  40. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_graytocolor.py +0 -0
  41. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_identifydeadworms.py +0 -0
  42. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_identifyprimaryobjects.py +0 -0
  43. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_identifysecondaryobjects.py +0 -0
  44. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_identifytertiaryobjects.py +0 -0
  45. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_imagemath.py +0 -0
  46. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measurecolocalization.py +0 -0
  47. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measuregranularity.py +0 -0
  48. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measureimageareaoccupied.py +0 -0
  49. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measureimageintensity.py +0 -0
  50. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measureimageoverlap.py +0 -0
  51. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measureimagequality.py +0 -0
  52. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measureimageskeleton.py +0 -0
  53. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measureobjectintensity.py +0 -0
  54. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measureobjectintensitydistribution.py +0 -0
  55. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measureobjectneighbors.py +0 -0
  56. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measureobjectoverlap.py +0 -0
  57. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measureobjectsizeshape.py +0 -0
  58. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measureobjectskeleton.py +0 -0
  59. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_measuretexture.py +0 -0
  60. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_medialaxis.py +0 -0
  61. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_medianfilter.py +0 -0
  62. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_morph.py +0 -0
  63. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_morphologicalskeleton.py +0 -0
  64. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_opening.py +0 -0
  65. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_overlayobjects.py +0 -0
  66. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_overlayoutlines.py +0 -0
  67. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_reducenoise.py +0 -0
  68. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_removeholes.py +0 -0
  69. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_rescaleintensity.py +0 -0
  70. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_resize.py +0 -0
  71. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_savecroppedobjects.py +0 -0
  72. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_shrinktoobjectcenters.py +0 -0
  73. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_smooth.py +0 -0
  74. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_threshold.py +0 -0
  75. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/modules/_watershed.py +0 -0
  76. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/__init__.py +0 -0
  77. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/align.py +0 -0
  78. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/colortogray.py +0 -0
  79. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/convertimagetoobjects.py +0 -0
  80. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/convertobjectstoimage.py +0 -0
  81. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/correctilluminationapply.py +0 -0
  82. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/crop.py +0 -0
  83. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/dilateimage.py +0 -0
  84. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/dilateobjects.py +0 -0
  85. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/enhanceedges.py +0 -0
  86. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/enhanceorsuppressfeatures.py +0 -0
  87. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/erodeimage.py +0 -0
  88. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/erodeobjects.py +0 -0
  89. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/filterobjects.py +0 -0
  90. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/flipandrotate.py +0 -0
  91. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/graytocolor.py +0 -0
  92. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/identifydeadworms.py +0 -0
  93. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/identifyprimaryobjects.py +0 -0
  94. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/identifysecondaryobjects.py +0 -0
  95. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/identifytertiaryobjects.py +0 -0
  96. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/imagemath.py +0 -0
  97. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measurecolocalization.py +0 -0
  98. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measuregranularity.py +0 -0
  99. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measureimageareaoccupied.py +0 -0
  100. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measureimageintensity.py +0 -0
  101. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measureimageoverlap.py +0 -0
  102. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measureimagequality.py +0 -0
  103. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measureimageskeleton.py +0 -0
  104. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measureobjectintensity.py +0 -0
  105. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measureobjectintensitydistribution.py +0 -0
  106. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measureobjectneighbors.py +0 -0
  107. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measureobjectoverlap.py +0 -0
  108. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measureobjectskeleton.py +0 -0
  109. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/measuretexture.py +0 -0
  110. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/morph.py +0 -0
  111. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/objectsizeshapefeatures.py +0 -0
  112. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/overlayoutlines.py +0 -0
  113. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/removeholes.py +0 -0
  114. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/rescaleintensity.py +0 -0
  115. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/resize.py +0 -0
  116. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/shrinktoobjectcenters.py +0 -0
  117. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/smooth.py +0 -0
  118. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/structuring_elements.py +0 -0
  119. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/opts/threshold.py +0 -0
  120. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/py.typed +0 -0
  121. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library/types.py +0 -0
  122. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library_nightly.egg-info/dependency_links.txt +0 -0
  123. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library_nightly.egg-info/requires.txt +0 -0
  124. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/cellprofiler_library_nightly.egg-info/top_level.txt +0 -0
  125. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/environment.yml +0 -0
  126. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/pyproject.toml +0 -0
  127. {cellprofiler_library_nightly-5.0.0.dev669 → cellprofiler_library_nightly-5.0.0.dev674}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cellprofiler-library-nightly
3
- Version: 5.0.0.dev669
3
+ Version: 5.0.0.dev674
4
4
  Summary: cellprofiler-library implements CellProfiler's image processing and mathematical code, and is usable as a standalone library
5
5
  Author: Anne Carpenter, Thouis (Ray) Jones, Lee Kamentsky, Vebjorn Ljosa, David Logan, Mark Bray, Madison Swain-Bowden, Allen Goodman, Claire McQuinn, Alice Lucas, Callum Tromans-Coia
6
6
  Author-email: Beth Cimini <bcimini@broadinstitute.org>, David Stirling <dstirling@glencoesoftware.com>, Nodar Gogoberidze <ngogober@broadinstitute.org>
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '5.0.0.dev669'
22
- __version_tuple__ = version_tuple = (5, 0, 0, 'dev669')
21
+ __version__ = version = '5.0.0.dev674'
22
+ __version_tuple__ = version_tuple = (5, 0, 0, 'dev674')
23
23
 
24
- __commit_id__ = commit_id = 'g51250caf3'
24
+ __commit_id__ = commit_id = 'g70806405c'
@@ -24,6 +24,7 @@ from skimage.restoration import denoise_bilateral
24
24
  from centrosome.cpmorphology import get_line_pts, all_connected_components
25
25
  from scipy.ndimage import binary_erosion, binary_fill_holes
26
26
  from scipy.ndimage import mean as mean_of_labels
27
+ from skimage.feature import peak_local_max
27
28
  from scipy.fftpack import fft2, ifft2
28
29
  from cellprofiler_library.types import (
29
30
  ImageGrayscale, ImageGrayscaleMask,
@@ -3073,3 +3074,38 @@ def get_source_range(
3073
3074
  src_max = source_high
3074
3075
 
3075
3076
  return src_min, src_max
3077
+
3078
+ ################################################################################
3079
+ # FindMaxima
3080
+ ################################################################################
3081
+
3082
+ def find_maxima_in_data(
3083
+ x_data: ImageAny,
3084
+ min_distance_value: int,
3085
+ label_maxima: bool,
3086
+ th_abs: Optional[float]=None
3087
+ ) -> Union[ImageBinary, ObjectSegmentation]:
3088
+ maxima_coords = peak_local_max(
3089
+ x_data,
3090
+ min_distance=min_distance_value,
3091
+ threshold_abs=th_abs,
3092
+ )
3093
+ y_data = numpy.zeros(x_data.shape, dtype=bool)
3094
+ y_data[tuple(maxima_coords.T)] = True
3095
+
3096
+ if label_maxima:
3097
+ y_data = scipy.ndimage.label(y_data)[0]
3098
+ return y_data
3099
+
3100
+ def find_maxima_threshold(x_data: ImageAny) -> ImageAny:
3101
+ """Identity function, just returns the input"""
3102
+ return x_data
3103
+
3104
+ def apply_target_mask(x_data: ImageAny, masking_image: Union[ImageAny,ObjectSegmentation]) -> ImageAny:
3105
+ mask = masking_image.astype(bool)
3106
+ x_data[~mask] = 0
3107
+ return x_data
3108
+
3109
+
3110
+
3111
+
@@ -0,0 +1,31 @@
1
+ import scipy.ndimage
2
+ from typing import Optional, Annotated, Union
3
+ from pydantic import validate_call, ConfigDict, Field
4
+ from cellprofiler_library.types import ImageAny, ObjectSegmentation, ImageBinary
5
+ from cellprofiler_library.opts.findmaxima import BackgroundExclusionMode
6
+ from cellprofiler_library.functions.image_processing import find_maxima_in_data, find_maxima_threshold, apply_target_mask
7
+
8
+ @validate_call(config=ConfigDict(arbitrary_types_allowed=True))
9
+ def find_maxima(
10
+ x_data: Annotated[ImageAny, Field(description="Input image to search for maxima")],
11
+ exclude_mode: Annotated[BackgroundExclusionMode, Field(description="Method for excluding background")],
12
+ min_distance_value: Annotated[int, Field(description="Minimum distance between maxima")], #Minimum distance between maxima
13
+ label_maxima: Annotated[bool, Field(description="Individually label maxima?")],
14
+ min_intensity_value: Annotated[Optional[float], Field(description="Specify the minimum intensity of a peak")],
15
+ target_mask: Annotated[Optional[Union[ImageAny,ObjectSegmentation]], Field(description="The image or objects to search within")],
16
+ ) -> Union[ImageBinary, ObjectSegmentation]:
17
+ th_abs = min_intensity_value
18
+
19
+ if exclude_mode.value == BackgroundExclusionMode.THRESHOLD.value:
20
+ x_data = find_maxima_threshold(x_data)
21
+ elif exclude_mode.value == BackgroundExclusionMode.MASK.value:
22
+ assert target_mask is not None, "Mask image is required for mask mode"
23
+ x_data = apply_target_mask(x_data, target_mask)
24
+ elif exclude_mode.value == BackgroundExclusionMode.OBJECTS.value:
25
+ assert target_mask is not None, "Objects are required for within objects mode"
26
+ x_data = apply_target_mask(x_data, target_mask)
27
+ else:
28
+ raise NotImplementedError("Invalid background method choice")
29
+
30
+ return find_maxima_in_data(x_data, min_distance_value, label_maxima, th_abs)
31
+
@@ -0,0 +1,7 @@
1
+ from enum import Enum
2
+
3
+ class BackgroundExclusionMode(str, Enum):
4
+ """Background exclusion method"""
5
+ THRESHOLD = "Threshold"
6
+ MASK = "Mask"
7
+ OBJECTS = "Within Objects"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: cellprofiler-library-nightly
3
- Version: 5.0.0.dev669
3
+ Version: 5.0.0.dev674
4
4
  Summary: cellprofiler-library implements CellProfiler's image processing and mathematical code, and is usable as a standalone library
5
5
  Author: Anne Carpenter, Thouis (Ray) Jones, Lee Kamentsky, Vebjorn Ljosa, David Logan, Mark Bray, Madison Swain-Bowden, Allen Goodman, Claire McQuinn, Alice Lucas, Callum Tromans-Coia
6
6
  Author-email: Beth Cimini <bcimini@broadinstitute.org>, David Stirling <dstirling@glencoesoftware.com>, Nodar Gogoberidze <ngogober@broadinstitute.org>
@@ -31,6 +31,7 @@ cellprofiler_library/modules/_erodeobjects.py
31
31
  cellprofiler_library/modules/_expandorshrinkobjects.py
32
32
  cellprofiler_library/modules/_fillobjects.py
33
33
  cellprofiler_library/modules/_filterobjects.py
34
+ cellprofiler_library/modules/_findmaxima.py
34
35
  cellprofiler_library/modules/_flipandrotate.py
35
36
  cellprofiler_library/modules/_gaussianfilter.py
36
37
  cellprofiler_library/modules/_graytocolor.py
@@ -83,6 +84,7 @@ cellprofiler_library/opts/enhanceorsuppressfeatures.py
83
84
  cellprofiler_library/opts/erodeimage.py
84
85
  cellprofiler_library/opts/erodeobjects.py
85
86
  cellprofiler_library/opts/filterobjects.py
87
+ cellprofiler_library/opts/findmaxima.py
86
88
  cellprofiler_library/opts/flipandrotate.py
87
89
  cellprofiler_library/opts/graytocolor.py
88
90
  cellprofiler_library/opts/identifydeadworms.py
@@ -28,6 +28,7 @@
28
28
  "cellprofiler_library/modules/_expandorshrinkobjects.py",
29
29
  "cellprofiler_library/modules/_fillobjects.py",
30
30
  "cellprofiler_library/modules/_filterobjects.py",
31
+ "cellprofiler_library/modules/_findmaxima.py",
31
32
  "cellprofiler_library/modules/_flipandrotate.py",
32
33
  "cellprofiler_library/modules/_gaussianfilter.py",
33
34
  "cellprofiler_library/modules/_graytocolor.py",
@@ -80,6 +81,7 @@
80
81
  "cellprofiler_library/opts/erodeimage.py",
81
82
  "cellprofiler_library/opts/erodeobjects.py",
82
83
  "cellprofiler_library/opts/filterobjects.py",
84
+ "cellprofiler_library/opts/findmaxima.py",
83
85
  "cellprofiler_library/opts/flipandrotate.py",
84
86
  "cellprofiler_library/opts/graytocolor.py",
85
87
  "cellprofiler_library/opts/identifydeadworms.py",
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "5.0.0.dev0",
3
+ "distance": 674,
4
+ "node": "g70806405c22aad5d5e470413232c1491aac2661d",
5
+ "dirty": true,
6
+ "branch": "main",
7
+ "node_date": "2026-08-24"
8
+ }
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "5.0.0.dev0",
3
- "distance": 669,
4
- "node": "g51250caf343cdf434f15b90b277ba794c7510c79",
5
- "dirty": true,
6
- "branch": "main",
7
- "node_date": "2026-08-21"
8
- }