CellProfiler-nightly 5.0.0.dev328__tar.gz → 5.0.0.dev336__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 (388) hide show
  1. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/CellProfiler_nightly.egg-info/PKG-INFO +1 -1
  2. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/PKG-INFO +1 -1
  3. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/_version.py +3 -3
  4. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/enhanceorsuppressfeatures.py +58 -280
  5. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/erodeobjects.py +8 -22
  6. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/CellProfiler_nightly.egg-info/SOURCES.txt +0 -0
  7. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/CellProfiler_nightly.egg-info/dependency_links.txt +0 -0
  8. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/CellProfiler_nightly.egg-info/entry_points.txt +0 -0
  9. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/CellProfiler_nightly.egg-info/requires.txt +0 -0
  10. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/CellProfiler_nightly.egg-info/top_level.txt +0 -0
  11. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/LICENSE +0 -0
  12. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/README.md +0 -0
  13. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/__init__.py +0 -0
  14. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/__main__.py +0 -0
  15. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/examples/ExampleFly/ExampleFly.cppipe +0 -0
  16. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/examples/ExampleFly/images/01_POS002_D.TIF +0 -0
  17. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/examples/ExampleFly/images/01_POS002_F.TIF +0 -0
  18. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/examples/ExampleFly/images/01_POS002_R.TIF +0 -0
  19. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/examples/ExampleFly/images/01_POS076_D.TIF +0 -0
  20. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/examples/ExampleFly/images/01_POS076_F.TIF +0 -0
  21. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/examples/ExampleFly/images/01_POS076_R.TIF +0 -0
  22. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/examples/ExampleFly/images/01_POS218_D.TIF +0 -0
  23. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/examples/ExampleFly/images/01_POS218_F.TIF +0 -0
  24. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/examples/ExampleFly/images/01_POS218_R.TIF +0 -0
  25. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/display_image_tools.rst +0 -0
  26. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/display_interactive_navigation.rst +0 -0
  27. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/display_menu_bar.rst +0 -0
  28. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/legacy_matlab_image.rst +0 -0
  29. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/navigation_edit_menu.rst +0 -0
  30. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/navigation_file_menu.rst +0 -0
  31. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/navigation_test_menu.rst +0 -0
  32. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/navigation_window_menu.rst +0 -0
  33. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/other_3d_identify.rst +0 -0
  34. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/other_batch.rst +0 -0
  35. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/other_logging.rst +0 -0
  36. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/other_omero.rst +0 -0
  37. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/other_plugins.rst +0 -0
  38. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/other_shell.rst +0 -0
  39. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/other_troubleshooting.rst +0 -0
  40. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/other_widget_inspector.rst +0 -0
  41. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/output_measurements.rst +0 -0
  42. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/output_plateviewer.rst +0 -0
  43. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/output_spreadsheets.rst +0 -0
  44. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/pipelines_building.rst +0 -0
  45. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/pipelines_running.rst +0 -0
  46. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/projects_configure_images.rst +0 -0
  47. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/projects_image_ordering.rst +0 -0
  48. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/projects_image_sequences.rst +0 -0
  49. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/projects_introduction.rst +0 -0
  50. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/projects_selecting_images.rst +0 -0
  51. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/help/why_use_cellprofiler.rst +0 -0
  52. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler-favicon-120.png +0 -0
  53. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler-favicon-128.png +0 -0
  54. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler-favicon-144.png +0 -0
  55. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler-favicon-152.png +0 -0
  56. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler-favicon-195.png +0 -0
  57. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler-favicon-228.png +0 -0
  58. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler-favicon-32.png +0 -0
  59. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler-favicon-57.png +0 -0
  60. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler-favicon-72.png +0 -0
  61. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler-favicon-96.png +0 -0
  62. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler-favicon.ico +0 -0
  63. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler.ai +0 -0
  64. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler.icns +0 -0
  65. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler.ico +0 -0
  66. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler.png +0 -0
  67. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/icons/CellProfiler.svg +0 -0
  68. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Align.png +0 -0
  69. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/ApplyThreshold.png +0 -0
  70. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/CollapseTree.png +0 -0
  71. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/ColorToGray.png +0 -0
  72. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/CorrectIlluminationApply.png +0 -0
  73. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/CorrectIlluminationCalculate.png +0 -0
  74. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Crop.png +0 -0
  75. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/ExpandOrShrinkObjects.png +0 -0
  76. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/ExpandTree.png +0 -0
  77. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/GrayToColor.png +0 -0
  78. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Groups_ExampleDisplayTable.png +0 -0
  79. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_ANALYZED.png +0 -0
  80. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_ANALYZE_16.png +0 -0
  81. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_ANALYZE_24.png +0 -0
  82. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_CLOSED_EYE.png +0 -0
  83. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_DISABLED.png +0 -0
  84. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_ERROR.png +0 -0
  85. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_EYE.png +0 -0
  86. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_GO.png +0 -0
  87. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_GO_DIM.png +0 -0
  88. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_IMAGE.png +0 -0
  89. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_MEASURE.png +0 -0
  90. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_OK.png +0 -0
  91. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_PAUSE.png +0 -0
  92. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_RUN.png +0 -0
  93. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_SLIDER.png +0 -0
  94. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_SLIDER_ACTIVE.png +0 -0
  95. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_STOP.png +0 -0
  96. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_TEST.png +0 -0
  97. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_UNAVAILABLE.png +0 -0
  98. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_UPDATE.png +0 -0
  99. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_USE_INPUT.png +0 -0
  100. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_USE_OUTPUT.png +0 -0
  101. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_USE_SOURCE.png +0 -0
  102. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IMG_WARN.png +0 -0
  103. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IdentifyPrimaryObjects_IntensityDeclumping.png +0 -0
  104. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IdentifyPrimaryObjects_ShapeDeclumping.png +0 -0
  105. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IdentifySecondaryObjects.png +0 -0
  106. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/IdentifyTertiaryObjects.png +0 -0
  107. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Images_FilelistPanel.png +0 -0
  108. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Images_FilelistPanel_Blank.png +0 -0
  109. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Images_FilelistPanel_Filled.png +0 -0
  110. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Images_UsingRules.png +0 -0
  111. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/MeasureGranularity_example.png +0 -0
  112. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/MeasureImageAreaOccupied.png +0 -0
  113. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/MeasureObjectIntensityDistribution_Edges_Centers.png +0 -0
  114. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/MeasureObjectIntensityDistribution_Magnitude_Phase.png +0 -0
  115. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/MeasureObjectSizeShape_Eccentricity.png +0 -0
  116. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/MeasureTexture.png +0 -0
  117. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Measure_texture_3D_correspondences_1.png +0 -0
  118. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Measure_texture_3D_correspondences_1_highres.png +0 -0
  119. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Measure_texture_3D_correspondences_2.png +0 -0
  120. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Measure_texture_3D_correspondences_2_highres.png +0 -0
  121. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Metadata_ExampleDisplayTable.png +0 -0
  122. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/NamesAndTypes_ExampleDisplayTable.png +0 -0
  123. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/Tile.png +0 -0
  124. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/UnmixColors.png +0 -0
  125. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/check.png +0 -0
  126. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/color.png +0 -0
  127. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/cp_panel_schematic.png +0 -0
  128. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/dapi.png +0 -0
  129. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/delete.png +0 -0
  130. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/downarrow.png +0 -0
  131. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/eye-close.png +0 -0
  132. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/eye-open.png +0 -0
  133. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/ffwd.png +0 -0
  134. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/ffwddisabled.png +0 -0
  135. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/filter.png +0 -0
  136. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/folder_browse.png +0 -0
  137. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/folder_create.png +0 -0
  138. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/gear.png +0 -0
  139. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/gfp.png +0 -0
  140. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/icon_copyrights.txt +0 -0
  141. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/illumination_function.png +0 -0
  142. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/image_to_object_dataflow.png +0 -0
  143. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/image_to_object_dataflow.psd +0 -0
  144. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/mask.png +0 -0
  145. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/microscope-color_16.png +0 -0
  146. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/microscope-icon_16.png +0 -0
  147. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/microscope-icon_32.png +0 -0
  148. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/microscopes_16.png +0 -0
  149. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/module_add.png +0 -0
  150. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/module_help.png +0 -0
  151. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/module_movedown.png +0 -0
  152. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/module_moveup.png +0 -0
  153. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/module_remove.png +0 -0
  154. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/monochrome.png +0 -0
  155. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/movie_16.png +0 -0
  156. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/next.png +0 -0
  157. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/objects.png +0 -0
  158. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/pause.png +0 -0
  159. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/pausedisabled.png +0 -0
  160. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/play.png +0 -0
  161. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/playdisabled.png +0 -0
  162. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/previous.png +0 -0
  163. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/remove-sign.png +0 -0
  164. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/rewind.png +0 -0
  165. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/rewinddisabled.png +0 -0
  166. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/splash-black-text-alpha.png +0 -0
  167. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/splash-white-text-alpha.png +0 -0
  168. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/splash.png +0 -0
  169. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/status_pause.png +0 -0
  170. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/status_save.png +0 -0
  171. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/status_stop.png +0 -0
  172. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/stop.png +0 -0
  173. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/stopdisabled.png +0 -0
  174. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/structuringelement.png +0 -0
  175. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/thumb-down.png +0 -0
  176. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/thumb-up.png +0 -0
  177. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/unchecked.png +0 -0
  178. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/wantpony.wav +0 -0
  179. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/welcome_examples.png +0 -0
  180. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/welcome_forum.png +0 -0
  181. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/welcome_help.png +0 -0
  182. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/welcome_manual.png +0 -0
  183. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/welcome_new.png +0 -0
  184. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/welcome_pipeline.png +0 -0
  185. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/welcome_screen_help.png +0 -0
  186. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/welcome_start.png +0 -0
  187. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/welcome_tutorial.png +0 -0
  188. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/welcomescreen_forum.png +0 -0
  189. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/welcomescreen_manual.png +0 -0
  190. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/welcomescreen_tutorials.png +0 -0
  191. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/window_back.png +0 -0
  192. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/window_filesave.png +0 -0
  193. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/window_forward.png +0 -0
  194. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/window_home.png +0 -0
  195. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/window_pan.png +0 -0
  196. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/data/images/window_zoom_to_rect.png +0 -0
  197. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/__init__.py +0 -0
  198. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/_tree_checkbox_dialog.py +0 -0
  199. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/_welcome_frame.py +0 -0
  200. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/_workspace_model.py +0 -0
  201. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/addmoduleframe.py +0 -0
  202. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/app.py +0 -0
  203. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/artist.py +0 -0
  204. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/checkupdate.py +0 -0
  205. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/constants/__init__.py +0 -0
  206. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/constants/figure.py +0 -0
  207. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/constants/module_view.py +0 -0
  208. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/constants/preferences_dialog.py +0 -0
  209. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/constants/preferences_view.py +0 -0
  210. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/constants/workspace_view.py +0 -0
  211. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/cpframe.py +0 -0
  212. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/dialog.py +0 -0
  213. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/editobjectsdlg.py +0 -0
  214. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/errordialog.py +0 -0
  215. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/figure/__init__.py +0 -0
  216. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/figure/_figure.py +0 -0
  217. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/figure/_navigation_toolbar.py +0 -0
  218. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/figure/_outline_artist.py +0 -0
  219. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/gridrenderers.py +0 -0
  220. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/help/__init__.py +0 -0
  221. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/help/content.py +0 -0
  222. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/help/menu.py +0 -0
  223. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/help/search.py +0 -0
  224. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/__init__.py +0 -0
  225. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/configure_images_help.html +0 -0
  226. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/exporting_results_help.html +0 -0
  227. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/getting_started.html +0 -0
  228. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/htmlwindow.py +0 -0
  229. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/identify_features_help.html +0 -0
  230. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/in_app_help.html +0 -0
  231. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/making_measurements_help.html +0 -0
  232. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/running_pipeline_help.html +0 -0
  233. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/selecting_images_help.html +0 -0
  234. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/test_mode_help.html +0 -0
  235. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/utils.py +0 -0
  236. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/html/welcome.html +0 -0
  237. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/htmldialog.py +0 -0
  238. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/imagesetctrl.py +0 -0
  239. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/menu.py +0 -0
  240. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/metadatactrl.py +0 -0
  241. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/module_view/__init__.py +0 -0
  242. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/module_view/_binary_matrix_controller.py +0 -0
  243. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/module_view/_data_type_controller.py +0 -0
  244. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/module_view/_file_collection_display_controller.py +0 -0
  245. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/module_view/_filter_panel_controller.py +0 -0
  246. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/module_view/_joiner_controller.py +0 -0
  247. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/module_view/_module_sizer.py +0 -0
  248. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/module_view/_module_view.py +0 -0
  249. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/module_view/_setting_edited_event.py +0 -0
  250. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/module_view/_table_controller.py +0 -0
  251. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/module_view/_validation_request_controller.py +0 -0
  252. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/moduleview.py +0 -0
  253. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/namesubscriber.py +0 -0
  254. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/omerologin.py +0 -0
  255. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/parametersampleframe.py +0 -0
  256. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/pathlist.py +0 -0
  257. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/pipeline.py +0 -0
  258. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/pipelinecontroller.py +0 -0
  259. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/pipelinelistview.py +0 -0
  260. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/plateviewer.py +0 -0
  261. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/plugins_menu.py +0 -0
  262. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/preferences_dialog/__init__.py +0 -0
  263. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/preferences_dialog/_integer_preference.py +0 -0
  264. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/preferences_dialog/_preferences_dialog.py +0 -0
  265. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/preferences_view/__init__.py +0 -0
  266. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/preferences_view/_preferences_view.py +0 -0
  267. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/preferences_view/_progress_watcher.py +0 -0
  268. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/readers_dialog/__init__.py +0 -0
  269. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/readers_dialog/_readers_dialog.py +0 -0
  270. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/regexp_editor.py +0 -0
  271. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/tools.py +0 -0
  272. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/utilities/__init__.py +0 -0
  273. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/utilities/figure.py +0 -0
  274. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/utilities/icon.py +0 -0
  275. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/utilities/module_view.py +0 -0
  276. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/utilities/preferences_dialog.py +0 -0
  277. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/utilities/preferences_view.py +0 -0
  278. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/utilities/workspace_view.py +0 -0
  279. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/workspace_view/__init__.py +0 -0
  280. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/workspace_view/_workspace_view.py +0 -0
  281. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/workspace_view/_workspace_view_figure.py +0 -0
  282. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/workspace_view/_workspace_view_image_row.py +0 -0
  283. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/workspace_view/_workspace_view_mask_row.py +0 -0
  284. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/workspace_view/_workspace_view_measurement_row.py +0 -0
  285. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/workspace_view/_workspace_view_objects_row.py +0 -0
  286. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/gui/workspace_view/_workspace_view_row.py +0 -0
  287. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/icons/__init__.py +0 -0
  288. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/knime_bridge.py +0 -0
  289. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/misc.py +0 -0
  290. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/UntangleWorms.xsd +0 -0
  291. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/__init__.py +0 -0
  292. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/_help.py +0 -0
  293. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/calculatemath.py +0 -0
  294. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/calculatestatistics.py +0 -0
  295. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/classifyobjects.py +0 -0
  296. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/closing.py +0 -0
  297. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/colortogray.py +0 -0
  298. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/combineobjects.py +0 -0
  299. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/convertimagetoobjects.py +0 -0
  300. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/convertobjectstoimage.py +0 -0
  301. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/correctilluminationapply.py +0 -0
  302. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/correctilluminationcalculate.py +0 -0
  303. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/createbatchfiles.py +0 -0
  304. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/crop.py +0 -0
  305. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/definegrid.py +0 -0
  306. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/dilateimage.py +0 -0
  307. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/dilateobjects.py +0 -0
  308. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/displaydataonimage.py +0 -0
  309. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/displaydensityplot.py +0 -0
  310. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/displayhistogram.py +0 -0
  311. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/displayplatemap.py +0 -0
  312. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/displayscatterplot.py +0 -0
  313. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/editobjectsmanually.py +0 -0
  314. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/enhanceedges.py +0 -0
  315. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/erodeimage.py +0 -0
  316. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/expandorshrinkobjects.py +0 -0
  317. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/exporttodatabase.py +0 -0
  318. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/exporttospreadsheet.py +0 -0
  319. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/fillobjects.py +0 -0
  320. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/filterobjects.py +0 -0
  321. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/findmaxima.py +0 -0
  322. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/flagimage.py +0 -0
  323. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/flipandrotate.py +0 -0
  324. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/gaussianfilter.py +0 -0
  325. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/graytocolor.py +0 -0
  326. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/identifydeadworms.py +0 -0
  327. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/identifyobjectsingrid.py +0 -0
  328. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/identifyobjectsmanually.py +0 -0
  329. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/identifyprimaryobjects.py +0 -0
  330. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/identifysecondaryobjects.py +0 -0
  331. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/identifytertiaryobjects.py +0 -0
  332. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/imagemath.py +0 -0
  333. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/invertforprinting.py +0 -0
  334. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/labelimages.py +0 -0
  335. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/makeprojection.py +0 -0
  336. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/maskimage.py +0 -0
  337. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/maskobjects.py +0 -0
  338. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/matchtemplate.py +0 -0
  339. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measurecolocalization.py +0 -0
  340. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measuregranularity.py +0 -0
  341. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measureimageareaoccupied.py +0 -0
  342. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measureimageintensity.py +0 -0
  343. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measureimageoverlap.py +0 -0
  344. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measureimagequality.py +0 -0
  345. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measureimageskeleton.py +0 -0
  346. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measureobjectintensity.py +0 -0
  347. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measureobjectintensitydistribution.py +0 -0
  348. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measureobjectneighbors.py +0 -0
  349. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measureobjectoverlap.py +0 -0
  350. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measureobjectsizeshape.py +0 -0
  351. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measureobjectskeleton.py +0 -0
  352. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/measuretexture.py +0 -0
  353. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/medialaxis.py +0 -0
  354. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/medianfilter.py +0 -0
  355. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/morph.py +0 -0
  356. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/morphologicalskeleton.py +0 -0
  357. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/opening.py +0 -0
  358. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/overlayobjects.py +0 -0
  359. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/overlayoutlines.py +0 -0
  360. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/plugins/__init__.py +0 -0
  361. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/plugins/imagetemplate.py +0 -0
  362. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/plugins/measurementtemplate.py +0 -0
  363. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/plugins/segmentationtemplatewithdependencies.py +0 -0
  364. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/reducenoise.py +0 -0
  365. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/relateobjects.py +0 -0
  366. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/removeholes.py +0 -0
  367. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/rescaleintensity.py +0 -0
  368. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/resize.py +0 -0
  369. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/resizeobjects.py +0 -0
  370. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/runimagejmacro.py +0 -0
  371. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/savecroppedobjects.py +0 -0
  372. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/saveimages.py +0 -0
  373. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/shrinktoobjectcenters.py +0 -0
  374. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/smooth.py +0 -0
  375. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/splitormergeobjects.py +0 -0
  376. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/straightenworms.py +0 -0
  377. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/threshold.py +0 -0
  378. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/tile.py +0 -0
  379. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/trackobjects.py +0 -0
  380. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/unmixcolors.py +0 -0
  381. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/untangleworms.py +0 -0
  382. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/modules/watershed.py +0 -0
  383. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/utilities/__init__.py +0 -0
  384. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/utilities/morphology.py +0 -0
  385. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/cellprofiler/utilities/rules.py +0 -0
  386. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/environment.yml +0 -0
  387. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/pyproject.toml +0 -0
  388. {cellprofiler_nightly-5.0.0.dev328 → cellprofiler_nightly-5.0.0.dev336}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CellProfiler-nightly
3
- Version: 5.0.0.dev328
3
+ Version: 5.0.0.dev336
4
4
  Summary: CellProfiler is a free open-source software designed to enable biologists without training in computer vision or programming to quantitatively measure phenotypes from thousands of images automatically.
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>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CellProfiler-nightly
3
- Version: 5.0.0.dev328
3
+ Version: 5.0.0.dev336
4
4
  Summary: CellProfiler is a free open-source software designed to enable biologists without training in computer vision or programming to quantitatively measure phenotypes from thousands of images automatically.
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>
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '5.0.0.dev328'
32
- __version_tuple__ = version_tuple = (5, 0, 0, 'dev328')
31
+ __version__ = version = '5.0.0.dev336'
32
+ __version_tuple__ = version_tuple = (5, 0, 0, 'dev336')
33
33
 
34
- __commit_id__ = commit_id = 'ga40ac61de'
34
+ __commit_id__ = commit_id = 'g144173d3c'
@@ -20,13 +20,6 @@ YES YES YES
20
20
  ============ ============ ===============
21
21
  """
22
22
 
23
- import centrosome.filter
24
- import numpy
25
- import scipy.ndimage
26
- import skimage.exposure
27
- import skimage.filters
28
- import skimage.morphology
29
- import skimage.transform
30
23
  from cellprofiler_core.image import Image
31
24
  from cellprofiler_core.module import ImageProcessing
32
25
  from cellprofiler_core.setting import Binary
@@ -36,23 +29,8 @@ from cellprofiler_core.setting.text import Float
36
29
  from cellprofiler_core.setting.text import Integer
37
30
 
38
31
  from cellprofiler.modules import _help
39
-
40
- ENHANCE = "Enhance"
41
- SUPPRESS = "Suppress"
42
-
43
- E_SPECKLES = "Speckles"
44
- E_NEURITES = "Neurites"
45
- E_DARK_HOLES = "Dark holes"
46
- E_CIRCLES = "Circles"
47
- E_TEXTURE = "Texture"
48
- E_DIC = "DIC"
49
-
50
- S_FAST = "Fast"
51
- S_SLOW = "Slow"
52
-
53
- N_GRADIENT = "Line structures"
54
- N_TUBENESS = "Tubeness"
55
-
32
+ from cellprofiler_library.modules._enhanceorsuppressfeatures import enhance_or_suppress_features
33
+ from cellprofiler_library.opts.enhanceorsuppressfeatures import OperationMethod, EnhanceMethod, SpeckleAccuracy, NeuriteMethod
56
34
 
57
35
  class EnhanceOrSuppressFeatures(ImageProcessing):
58
36
  module_name = "EnhanceOrSuppressFeatures"
@@ -64,7 +42,7 @@ class EnhanceOrSuppressFeatures(ImageProcessing):
64
42
 
65
43
  self.method = Choice(
66
44
  "Select the operation",
67
- [ENHANCE, SUPPRESS],
45
+ [OperationMethod.ENHANCE.value, OperationMethod.SUPPRESS.value],
68
46
  doc="""\
69
47
  Select whether you want to enhance or suppress the features you
70
48
  designate.
@@ -73,13 +51,13 @@ designate.
73
51
  of the features of interest.
74
52
  - *{SUPPRESS}:* Produce an image with the features largely removed.
75
53
  """.format(
76
- **{"ENHANCE": ENHANCE, "SUPPRESS": SUPPRESS}
54
+ **{"ENHANCE": OperationMethod.ENHANCE.value, "SUPPRESS": OperationMethod.SUPPRESS.value}
77
55
  ),
78
56
  )
79
57
 
80
58
  self.enhance_method = Choice(
81
59
  "Feature type",
82
- [E_SPECKLES, E_NEURITES, E_DARK_HOLES, E_CIRCLES, E_TEXTURE, E_DIC],
60
+ [EnhanceMethod.SPECKLES.value, EnhanceMethod.NEURITES.value, EnhanceMethod.DARK_HOLES.value, EnhanceMethod.CIRCLES.value, EnhanceMethod.TEXTURE.value, EnhanceMethod.DIC.value],
83
61
  doc="""\
84
62
  *(Used only if "{ENHANCE}" is selected)*
85
63
 
@@ -129,15 +107,15 @@ This module can enhance several kinds of image features:
129
107
 
130
108
  """.format(
131
109
  **{
132
- "E_CIRCLES": E_CIRCLES,
133
- "E_DARK_HOLES": E_DARK_HOLES,
134
- "E_DIC": E_DIC,
135
- "N_GRADIENT": N_GRADIENT,
136
- "E_NEURITES": E_NEURITES,
137
- "E_SPECKLES": E_SPECKLES,
138
- "E_TEXTURE": E_TEXTURE,
139
- "ENHANCE": ENHANCE,
140
- "N_TUBENESS": N_TUBENESS,
110
+ "E_CIRCLES": EnhanceMethod.CIRCLES.value,
111
+ "E_DARK_HOLES": EnhanceMethod.DARK_HOLES.value,
112
+ "E_DIC": EnhanceMethod.DIC.value,
113
+ "N_GRADIENT": NeuriteMethod.GRADIENT.value,
114
+ "E_NEURITES": EnhanceMethod.NEURITES.value,
115
+ "E_SPECKLES": EnhanceMethod.SPECKLES.value,
116
+ "E_TEXTURE": EnhanceMethod.TEXTURE.value,
117
+ "ENHANCE": OperationMethod.ENHANCE.value,
118
+ "N_TUBENESS": NeuriteMethod.TUBENESS.value,
141
119
  }
142
120
  ),
143
121
  )
@@ -157,9 +135,9 @@ used to calculate an appropriate filter size.
157
135
  {HELP_ON_MEASURING_DISTANCES}
158
136
  """.format(
159
137
  **{
160
- "E_CIRCLES": E_CIRCLES,
161
- "E_NEURITES": E_NEURITES,
162
- "E_SPECKLES": E_SPECKLES,
138
+ "E_CIRCLES": EnhanceMethod.CIRCLES.value,
139
+ "E_NEURITES": EnhanceMethod.NEURITES.value,
140
+ "E_SPECKLES": EnhanceMethod.SPECKLES.value,
163
141
  "HELP_ON_MEASURING_DISTANCES": _help.HELP_ON_MEASURING_DISTANCES,
164
142
  }
165
143
  ),
@@ -175,7 +153,7 @@ used to calculate an appropriate filter size.
175
153
  The range of hole sizes to be enhanced. The algorithm will identify only
176
154
  holes whose diameters fall between these two values.
177
155
  """.format(
178
- **{"E_DARK_HOLES": E_DARK_HOLES}
156
+ **{"E_DARK_HOLES": EnhanceMethod.DARK_HOLES.value}
179
157
  ),
180
158
  )
181
159
 
@@ -207,10 +185,10 @@ this is not recommended.
207
185
  .. |image0| image:: {PROTIP_AVOID_ICON}
208
186
  """.format(
209
187
  **{
210
- "E_DIC": E_DIC,
211
- "E_NEURITES": E_NEURITES,
212
- "E_TEXTURE": E_TEXTURE,
213
- "N_TUBENESS": N_TUBENESS,
188
+ "E_DIC": EnhanceMethod.DIC.value,
189
+ "E_NEURITES": EnhanceMethod.NEURITES.value,
190
+ "E_TEXTURE": EnhanceMethod.TEXTURE.value,
191
+ "N_TUBENESS": NeuriteMethod.TUBENESS.value,
214
192
  "PROTIP_AVOID_ICON": _help.PROTIP_AVOID_ICON,
215
193
  }
216
194
  ),
@@ -229,7 +207,7 @@ run diagonally from lower left to upper right and the highlights appear
229
207
  above the shadows, the shear angle is 45°. If the shadows appear on top,
230
208
  the shear angle is 180° + 45° = 225°.
231
209
  """.format(
232
- **{"E_DIC": E_DIC}
210
+ **{"E_DIC": EnhanceMethod.DIC.value}
233
211
  ),
234
212
  )
235
213
 
@@ -250,13 +228,13 @@ value, on the order of 1 - 1/diameter of your objects if the intensities
250
228
  decrease toward the middle. Set the decay to a small value if there
251
229
  appears to be a bias in the integration direction.
252
230
  """.format(
253
- **{"E_DIC": E_DIC}
231
+ **{"E_DIC": EnhanceMethod.DIC.value}
254
232
  ),
255
233
  )
256
234
 
257
235
  self.neurite_choice = Choice(
258
236
  "Enhancement method",
259
- [N_TUBENESS, N_GRADIENT],
237
+ [NeuriteMethod.TUBENESS.value, NeuriteMethod.GRADIENT.value],
260
238
  doc="""\
261
239
  *(Used only for the "{E_NEURITES}" method)*
262
240
 
@@ -282,16 +260,16 @@ Two methods can be used to enhance neurites:
282
260
  .. _ImageJ Tubeness plugin: http://www.longair.net/edinburgh/imagej/tubeness/
283
261
  """.format(
284
262
  **{
285
- "E_NEURITES": E_NEURITES,
286
- "N_GRADIENT": N_GRADIENT,
287
- "N_TUBENESS": N_TUBENESS,
263
+ "E_NEURITES": EnhanceMethod.NEURITES.value,
264
+ "N_GRADIENT": NeuriteMethod.GRADIENT.value,
265
+ "N_TUBENESS": NeuriteMethod.TUBENESS.value,
288
266
  }
289
267
  ),
290
268
  )
291
269
 
292
270
  self.speckle_accuracy = Choice(
293
271
  "Speed and accuracy",
294
- choices=[S_FAST, S_SLOW],
272
+ choices=[SpeckleAccuracy.FAST.value, SpeckleAccuracy.SLOW.value],
295
273
  doc="""\
296
274
  *(Used only for the "{E_SPECKLES}" method)*
297
275
 
@@ -301,7 +279,7 @@ Two methods can be used to enhance neurites:
301
279
  (greater than 10 pixels) and need not be exactly circular.
302
280
  - *{S_SLOW}:* Use for speckles of small radius.
303
281
  """.format(
304
- **{"E_SPECKLES": E_SPECKLES, "S_FAST": S_FAST, "S_SLOW": S_SLOW}
282
+ **{"E_SPECKLES": EnhanceMethod.SPECKLES.value, "S_FAST": SpeckleAccuracy.FAST.value, "S_SLOW": SpeckleAccuracy.SLOW.value}
305
283
  ),
306
284
  )
307
285
 
@@ -315,7 +293,7 @@ Two methods can be used to enhance neurites:
315
293
  whole intensity range of the image (0-1). This can make
316
294
  the output easier to display.
317
295
  """.format(
318
- **{"E_NEURITES": E_NEURITES}
296
+ **{"E_NEURITES": EnhanceMethod.NEURITES.value}
319
297
  ),
320
298
  )
321
299
 
@@ -337,23 +315,23 @@ the output easier to display.
337
315
  def visible_settings(self):
338
316
  __settings__ = super(EnhanceOrSuppressFeatures, self).visible_settings()
339
317
  __settings__ += [self.method]
340
- if self.method == ENHANCE:
318
+ if self.method == OperationMethod.ENHANCE.value:
341
319
  __settings__ += [self.enhance_method]
342
320
  self.object_size.min_value = 2
343
- if self.enhance_method == E_DARK_HOLES:
321
+ if self.enhance_method == EnhanceMethod.DARK_HOLES.value:
344
322
  __settings__ += [self.hole_size]
345
- elif self.enhance_method == E_TEXTURE:
323
+ elif self.enhance_method == EnhanceMethod.TEXTURE.value:
346
324
  __settings__ += [self.smoothing]
347
- elif self.enhance_method == E_DIC:
325
+ elif self.enhance_method == EnhanceMethod.DIC.value:
348
326
  __settings__ += [self.smoothing, self.angle, self.decay]
349
- elif self.enhance_method == E_NEURITES:
327
+ elif self.enhance_method == EnhanceMethod.NEURITES.value:
350
328
  __settings__ += [self.neurite_choice]
351
- if self.neurite_choice == N_GRADIENT:
329
+ if self.neurite_choice == NeuriteMethod.GRADIENT.value:
352
330
  __settings__ += [self.object_size]
353
331
  else:
354
332
  __settings__ += [self.smoothing]
355
333
  __settings__ += [self.wants_rescale]
356
- elif self.enhance_method == E_SPECKLES:
334
+ elif self.enhance_method == EnhanceMethod.SPECKLES.value:
357
335
  __settings__ += [self.object_size, self.speckle_accuracy]
358
336
  self.object_size.min_value = 3
359
337
  else:
@@ -361,43 +339,29 @@ the output easier to display.
361
339
  else:
362
340
  __settings__ += [self.object_size]
363
341
  return __settings__
342
+
364
343
 
365
344
  def run(self, workspace):
366
345
  image = workspace.image_set.get_image(self.x_name.value, must_be_grayscale=True)
367
346
 
368
347
  radius = self.object_size.value / 2
369
-
370
- if self.method == ENHANCE:
371
- if self.enhance_method == E_SPECKLES:
372
- result = self.enhance_speckles(
373
- image, radius, self.speckle_accuracy.value
374
- )
375
- elif self.enhance_method == E_NEURITES:
376
- result = self.enhance_neurites(image, radius, self.neurite_choice.value)
377
- if self.wants_rescale.value:
378
- result = skimage.exposure.rescale_intensity(result)
379
- elif self.enhance_method == E_DARK_HOLES:
380
- min_radius = max(1, int(self.hole_size.min / 2))
381
-
382
- max_radius = int((self.hole_size.max + 1) / 2)
383
-
384
- result = self.enhance_dark_holes(image, min_radius, max_radius)
385
- elif self.enhance_method == E_CIRCLES:
386
- result = self.enhance_circles(image, radius)
387
- elif self.enhance_method == E_TEXTURE:
388
- result = self.enhance_texture(image, self.smoothing.value)
389
- elif self.enhance_method == E_DIC:
390
- result = self.enhance_dic(
391
- image, self.angle.value, self.decay.value, self.smoothing.value
392
- )
393
- else:
394
- raise NotImplementedError(
395
- "Unimplemented enhance method: %s" % self.enhance_method.value
396
- )
397
- elif self.method == SUPPRESS:
398
- result = self.suppress(image, radius)
399
- else:
400
- raise ValueError("Unknown filtering method: %s" % self.method)
348
+ im_pixel_data = image.pixel_data
349
+ im_mask = image.mask
350
+ im_volumetric = image.volumetric
351
+ im_spacing = image.spacing
352
+ method = self.method.value
353
+ enhance_method = self.enhance_method.value
354
+ speckle_accuracy = self.speckle_accuracy.value
355
+ neurite_choice = self.neurite_choice.value
356
+ neurite_rescale = self.wants_rescale.value
357
+ dark_hole_radius_min = self.hole_size.min
358
+ dark_hole_radius_max = self.hole_size.max
359
+ smoothing_value = self.smoothing.value
360
+ dic_angle = self.angle.value
361
+ dic_decay = self.decay.value
362
+
363
+ result = enhance_or_suppress_features(im_pixel_data, im_mask, im_volumetric, im_spacing, radius, method, enhance_method, speckle_accuracy, neurite_choice, neurite_rescale, dark_hole_radius_min, dark_hole_radius_max, smoothing_value, dic_angle, dic_decay)
364
+
401
365
 
402
366
  result_image = Image(result, parent_image=image, dimensions=image.dimensions)
403
367
 
@@ -410,192 +374,6 @@ the output easier to display.
410
374
 
411
375
  workspace.display_data.dimensions = image.dimensions
412
376
 
413
- def __mask(self, pixel_data, mask):
414
- data = numpy.zeros_like(pixel_data)
415
-
416
- data[mask] = pixel_data[mask]
417
-
418
- return data
419
-
420
- def __unmask(self, data, pixel_data, mask):
421
- data[~mask] = pixel_data[~mask]
422
-
423
- return data
424
-
425
- def __structuring_element(self, radius, volumetric):
426
- if volumetric:
427
- return skimage.morphology.ball(radius)
428
-
429
- return skimage.morphology.disk(radius)
430
-
431
- def enhance_speckles(self, image, radius, accuracy):
432
- data = self.__mask(image.pixel_data, image.mask)
433
-
434
- footprint = self.__structuring_element(radius, image.volumetric)
435
-
436
- if accuracy == "Slow" or radius <= 3:
437
- result = skimage.morphology.white_tophat(data, footprint=footprint)
438
- else:
439
- #
440
- # white_tophat = img - opening
441
- # = img - dilate(erode)
442
- # = img - maximum_filter(minimum_filter)
443
- minimum = scipy.ndimage.filters.minimum_filter(data, footprint=footprint)
444
-
445
- maximum = scipy.ndimage.filters.maximum_filter(minimum, footprint=footprint)
446
-
447
- result = data - maximum
448
-
449
- return self.__unmask(result, image.pixel_data, image.mask)
450
-
451
- def enhance_neurites(self, image, radius, method):
452
- data = self.__mask(image.pixel_data, image.mask)
453
-
454
- if method == N_GRADIENT:
455
- # desired effect = img + white_tophat - black_tophat
456
- footprint = self.__structuring_element(radius, image.volumetric)
457
-
458
- white = skimage.morphology.white_tophat(data, footprint=footprint)
459
-
460
- black = skimage.morphology.black_tophat(data, footprint=footprint)
461
-
462
- result = data + white - black
463
-
464
- result[result > 1] = 1
465
-
466
- result[result < 0] = 0
467
- else:
468
- sigma = self.smoothing.value
469
-
470
- smoothed = scipy.ndimage.gaussian_filter(
471
- data, numpy.divide(sigma, image.spacing)
472
- )
473
-
474
- if image.volumetric:
475
- result = numpy.zeros_like(smoothed)
476
-
477
- for index, plane in enumerate(smoothed):
478
- hessian = centrosome.filter.hessian(
479
- plane, return_hessian=False, return_eigenvectors=False
480
- )
481
-
482
- result[index] = (
483
- -hessian[:, :, 0] * (hessian[:, :, 0] < 0) * (sigma ** 2)
484
- )
485
- else:
486
- hessian = centrosome.filter.hessian(
487
- smoothed, return_hessian=False, return_eigenvectors=False
488
- )
489
-
490
- #
491
- # The positive values are darker pixels with lighter
492
- # neighbors. The original ImageJ code scales the result
493
- # by sigma squared - I have a feeling this might be
494
- # a first-order correction for e**(-2*sigma), possibly
495
- # because the hessian is taken from one pixel away
496
- # and the gradient is less as sigma gets larger.
497
- result = -hessian[:, :, 0] * (hessian[:, :, 0] < 0) * (sigma ** 2)
498
-
499
- return self.__unmask(result, image.pixel_data, image.mask)
500
-
501
- def enhance_circles(self, image, radius):
502
- data = self.__mask(image.pixel_data, image.mask)
503
-
504
- if image.volumetric:
505
- result = numpy.zeros_like(data)
506
-
507
- for index, plane in enumerate(data):
508
- result[index] = skimage.transform.hough_circle(plane, radius)[0]
509
- else:
510
- result = skimage.transform.hough_circle(data, radius)[0]
511
-
512
- return self.__unmask(result, image.pixel_data, image.mask)
513
-
514
- def enhance_texture(self, image, sigma):
515
- mask = image.mask
516
-
517
- data = self.__mask(image.pixel_data, mask)
518
-
519
- gmask = skimage.filters.gaussian(
520
- mask.astype(float), sigma, mode="constant"
521
- )
522
-
523
- img_mean = (
524
- skimage.filters.gaussian(data, sigma, mode="constant")
525
- / gmask
526
- )
527
-
528
- img_squared = (
529
- skimage.filters.gaussian(
530
- data ** 2, sigma, mode="constant"
531
- )
532
- / gmask
533
- )
534
-
535
- result = img_squared - img_mean ** 2
536
-
537
- return self.__unmask(result, image.pixel_data, mask)
538
-
539
- def enhance_dark_holes(self, image, min_radius, max_radius):
540
- pixel_data = image.pixel_data
541
-
542
- mask = image.mask if image.has_mask else None
543
-
544
- se = self.__structuring_element(1, image.volumetric)
545
-
546
- inverted_image = pixel_data.max() - pixel_data
547
-
548
- previous_reconstructed_image = inverted_image
549
-
550
- eroded_image = inverted_image
551
-
552
- smoothed_image = numpy.zeros(pixel_data.shape)
553
-
554
- for i in range(max_radius + 1):
555
- eroded_image = skimage.morphology.erosion(eroded_image, se)
556
-
557
- if mask is not None:
558
- eroded_image *= mask
559
-
560
- reconstructed_image = skimage.morphology.reconstruction(
561
- eroded_image, inverted_image, "dilation", se
562
- )
563
-
564
- output_image = previous_reconstructed_image - reconstructed_image
565
-
566
- if i >= min_radius:
567
- smoothed_image = numpy.maximum(smoothed_image, output_image)
568
-
569
- previous_reconstructed_image = reconstructed_image
570
-
571
- return smoothed_image
572
-
573
- def enhance_dic(self, image, angle, decay, smoothing):
574
- pixel_data = image.pixel_data
575
-
576
- if image.volumetric:
577
- result = numpy.zeros_like(pixel_data)
578
-
579
- for index, plane in enumerate(pixel_data):
580
- result[index] = centrosome.filter.line_integration(
581
- plane, angle, decay, smoothing
582
- )
583
-
584
- return result
585
-
586
- if smoothing == 0:
587
- smoothing = numpy.finfo(float).eps
588
-
589
- return centrosome.filter.line_integration(pixel_data, angle, decay, smoothing)
590
-
591
- def suppress(self, image, radius):
592
- data = self.__mask(image.pixel_data, image.mask)
593
-
594
- footprint = self.__structuring_element(radius, image.volumetric)
595
-
596
- result = skimage.morphology.opening(data, footprint)
597
-
598
- return self.__unmask(result, image.pixel_data, image.mask)
599
377
 
600
378
  def upgrade_settings(self, setting_values, variable_revision_number, module_name):
601
379
  """Adjust setting values if they came from a previous revision
@@ -614,7 +392,7 @@ the output easier to display.
614
392
  #
615
393
  # V1 -> V2, added enhance method and hole size
616
394
  #
617
- setting_values = setting_values + [E_SPECKLES, "1,10"]
395
+ setting_values = setting_values + [EnhanceMethod.SPECKLES.value, "1,10"]
618
396
  variable_revision_number = 2
619
397
  if variable_revision_number == 2:
620
398
  #
@@ -623,7 +401,7 @@ the output easier to display.
623
401
  setting_values = setting_values + ["2.0", "0", ".95"]
624
402
  variable_revision_number = 3
625
403
  if variable_revision_number == 3:
626
- setting_values = setting_values + [N_GRADIENT]
404
+ setting_values = setting_values + [NeuriteMethod.GRADIENT.value]
627
405
  variable_revision_number = 4
628
406
  if variable_revision_number == 4:
629
407
  setting_values = setting_values + ["Slow / circular"]
@@ -23,16 +23,12 @@ YES YES NO
23
23
 
24
24
  """
25
25
 
26
- import numpy
27
- import scipy.ndimage
28
- import skimage.measure
29
- import skimage.morphology
30
26
  from cellprofiler_core.module.image_segmentation import ObjectProcessing
31
27
  from cellprofiler_core.object import Objects
32
28
  from cellprofiler_core.setting import StructuringElement, Binary
33
29
 
34
- import cellprofiler.utilities.morphology
35
30
  from cellprofiler.modules._help import HELP_FOR_STREL
31
+ from cellprofiler_library.modules._erodeobjects import erode_objects
36
32
 
37
33
 
38
34
  class ErodeObjects(ObjectProcessing):
@@ -94,24 +90,14 @@ label numbers.""",
94
90
  y_name = self.y_name.value
95
91
  objects = workspace.object_set
96
92
  x = objects.get_objects(x_name)
97
- dimensions = x.dimensions
98
93
  x_data = x.segmented
99
94
 
100
- contours = cellprofiler.utilities.morphology.morphological_gradient(x_data, self.structuring_element.value)
101
- y_data = x_data * (contours == 0)
102
-
103
- if self.preserve_midpoints.value:
104
- missing_labels = numpy.setxor1d(x_data, y_data)
105
- if self.structuring_element.value_text == "Disk,1":
106
- y_data += x_data * numpy.isin(x_data, missing_labels)
107
- else:
108
- for label in missing_labels:
109
- binary = x_data == label
110
- midpoint = scipy.ndimage.morphology.distance_transform_edt(binary)
111
- y_data[midpoint == numpy.max(midpoint)] = label
112
-
113
- if self.relabel_objects.value:
114
- y_data = skimage.morphology.label(y_data)
95
+ y_data = erode_objects(
96
+ labels=x_data,
97
+ structuring_element=self.structuring_element.value,
98
+ preserve_midpoints=self.preserve_midpoints.value,
99
+ relabel_objects=self.relabel_objects.value
100
+ )
115
101
 
116
102
  y = Objects()
117
103
  y.segmented = y_data
@@ -122,4 +108,4 @@ label numbers.""",
122
108
  if self.show_window:
123
109
  workspace.display_data.x_data = x_data
124
110
  workspace.display_data.y_data = y_data
125
- workspace.display_data.dimensions = dimensions
111
+ workspace.display_data.dimensions = x.dimensions