CellProfiler-nightly 5.0.0.dev399__tar.gz → 5.0.0.dev409__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 (389) hide show
  1. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/CellProfiler_nightly.egg-info/PKG-INFO +1 -1
  2. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/PKG-INFO +1 -1
  3. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/_version.py +3 -3
  4. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/overlayoutlines.py +68 -135
  5. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/removeholes.py +2 -16
  6. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/CellProfiler_nightly.egg-info/SOURCES.txt +0 -0
  7. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/CellProfiler_nightly.egg-info/dependency_links.txt +0 -0
  8. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/CellProfiler_nightly.egg-info/entry_points.txt +0 -0
  9. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/CellProfiler_nightly.egg-info/requires.txt +0 -0
  10. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/CellProfiler_nightly.egg-info/top_level.txt +0 -0
  11. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/LICENSE +0 -0
  12. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/README.md +0 -0
  13. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/__init__.py +0 -0
  14. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/__main__.py +0 -0
  15. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/examples/ExampleFly/ExampleFly.cppipe +0 -0
  16. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/examples/ExampleFly/images/01_POS002_D.TIF +0 -0
  17. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/examples/ExampleFly/images/01_POS002_F.TIF +0 -0
  18. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/examples/ExampleFly/images/01_POS002_R.TIF +0 -0
  19. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/examples/ExampleFly/images/01_POS076_D.TIF +0 -0
  20. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/examples/ExampleFly/images/01_POS076_F.TIF +0 -0
  21. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/examples/ExampleFly/images/01_POS076_R.TIF +0 -0
  22. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/examples/ExampleFly/images/01_POS218_D.TIF +0 -0
  23. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/examples/ExampleFly/images/01_POS218_F.TIF +0 -0
  24. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/examples/ExampleFly/images/01_POS218_R.TIF +0 -0
  25. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/display_image_tools.rst +0 -0
  26. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/display_interactive_navigation.rst +0 -0
  27. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/display_menu_bar.rst +0 -0
  28. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/legacy_matlab_image.rst +0 -0
  29. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/navigation_edit_menu.rst +0 -0
  30. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/navigation_file_menu.rst +0 -0
  31. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/navigation_test_menu.rst +0 -0
  32. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/navigation_window_menu.rst +0 -0
  33. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/other_3d_identify.rst +0 -0
  34. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/other_batch.rst +0 -0
  35. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/other_logging.rst +0 -0
  36. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/other_omero.rst +0 -0
  37. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/other_plugins.rst +0 -0
  38. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/other_shell.rst +0 -0
  39. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/other_troubleshooting.rst +0 -0
  40. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/other_widget_inspector.rst +0 -0
  41. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/output_measurements.rst +0 -0
  42. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/output_plateviewer.rst +0 -0
  43. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/output_spreadsheets.rst +0 -0
  44. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/pipelines_building.rst +0 -0
  45. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/pipelines_running.rst +0 -0
  46. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/projects_configure_images.rst +0 -0
  47. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/projects_image_ordering.rst +0 -0
  48. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/projects_image_sequences.rst +0 -0
  49. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/projects_introduction.rst +0 -0
  50. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/projects_selecting_images.rst +0 -0
  51. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/help/why_use_cellprofiler.rst +0 -0
  52. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler-favicon-120.png +0 -0
  53. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler-favicon-128.png +0 -0
  54. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler-favicon-144.png +0 -0
  55. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler-favicon-152.png +0 -0
  56. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler-favicon-195.png +0 -0
  57. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler-favicon-228.png +0 -0
  58. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler-favicon-32.png +0 -0
  59. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler-favicon-57.png +0 -0
  60. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler-favicon-72.png +0 -0
  61. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler-favicon-96.png +0 -0
  62. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler-favicon.ico +0 -0
  63. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler.ai +0 -0
  64. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler.icns +0 -0
  65. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler.ico +0 -0
  66. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler.png +0 -0
  67. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler.svg +0 -0
  68. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/icons/CellProfiler_square.svg +0 -0
  69. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Align.png +0 -0
  70. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/ApplyThreshold.png +0 -0
  71. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/CollapseTree.png +0 -0
  72. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/ColorToGray.png +0 -0
  73. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/CorrectIlluminationApply.png +0 -0
  74. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/CorrectIlluminationCalculate.png +0 -0
  75. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Crop.png +0 -0
  76. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/ExpandOrShrinkObjects.png +0 -0
  77. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/ExpandTree.png +0 -0
  78. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/GrayToColor.png +0 -0
  79. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Groups_ExampleDisplayTable.png +0 -0
  80. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_ANALYZED.png +0 -0
  81. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_ANALYZE_16.png +0 -0
  82. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_ANALYZE_24.png +0 -0
  83. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_CLOSED_EYE.png +0 -0
  84. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_DISABLED.png +0 -0
  85. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_ERROR.png +0 -0
  86. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_EYE.png +0 -0
  87. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_GO.png +0 -0
  88. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_GO_DIM.png +0 -0
  89. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_IMAGE.png +0 -0
  90. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_MEASURE.png +0 -0
  91. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_OK.png +0 -0
  92. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_PAUSE.png +0 -0
  93. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_RUN.png +0 -0
  94. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_SLIDER.png +0 -0
  95. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_SLIDER_ACTIVE.png +0 -0
  96. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_STOP.png +0 -0
  97. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_TEST.png +0 -0
  98. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_UNAVAILABLE.png +0 -0
  99. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_UPDATE.png +0 -0
  100. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_USE_INPUT.png +0 -0
  101. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_USE_OUTPUT.png +0 -0
  102. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_USE_SOURCE.png +0 -0
  103. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IMG_WARN.png +0 -0
  104. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IdentifyPrimaryObjects_IntensityDeclumping.png +0 -0
  105. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IdentifyPrimaryObjects_ShapeDeclumping.png +0 -0
  106. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IdentifySecondaryObjects.png +0 -0
  107. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/IdentifyTertiaryObjects.png +0 -0
  108. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Images_FilelistPanel.png +0 -0
  109. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Images_FilelistPanel_Blank.png +0 -0
  110. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Images_FilelistPanel_Filled.png +0 -0
  111. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Images_UsingRules.png +0 -0
  112. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/MeasureGranularity_example.png +0 -0
  113. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/MeasureImageAreaOccupied.png +0 -0
  114. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/MeasureObjectIntensityDistribution_Edges_Centers.png +0 -0
  115. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/MeasureObjectIntensityDistribution_Magnitude_Phase.png +0 -0
  116. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/MeasureObjectSizeShape_Eccentricity.png +0 -0
  117. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/MeasureTexture.png +0 -0
  118. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Measure_texture_3D_correspondences_1.png +0 -0
  119. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Measure_texture_3D_correspondences_1_highres.png +0 -0
  120. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Measure_texture_3D_correspondences_2.png +0 -0
  121. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Measure_texture_3D_correspondences_2_highres.png +0 -0
  122. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Metadata_ExampleDisplayTable.png +0 -0
  123. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/NamesAndTypes_ExampleDisplayTable.png +0 -0
  124. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/Tile.png +0 -0
  125. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/UnmixColors.png +0 -0
  126. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/check.png +0 -0
  127. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/color.png +0 -0
  128. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/cp_panel_schematic.png +0 -0
  129. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/dapi.png +0 -0
  130. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/delete.png +0 -0
  131. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/downarrow.png +0 -0
  132. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/eye-close.png +0 -0
  133. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/eye-open.png +0 -0
  134. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/ffwd.png +0 -0
  135. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/ffwddisabled.png +0 -0
  136. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/filter.png +0 -0
  137. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/folder_browse.png +0 -0
  138. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/folder_create.png +0 -0
  139. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/gear.png +0 -0
  140. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/gfp.png +0 -0
  141. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/icon_copyrights.txt +0 -0
  142. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/illumination_function.png +0 -0
  143. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/image_to_object_dataflow.png +0 -0
  144. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/image_to_object_dataflow.psd +0 -0
  145. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/mask.png +0 -0
  146. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/microscope-color_16.png +0 -0
  147. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/microscope-icon_16.png +0 -0
  148. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/microscope-icon_32.png +0 -0
  149. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/microscopes_16.png +0 -0
  150. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/module_add.png +0 -0
  151. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/module_help.png +0 -0
  152. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/module_movedown.png +0 -0
  153. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/module_moveup.png +0 -0
  154. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/module_remove.png +0 -0
  155. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/monochrome.png +0 -0
  156. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/movie_16.png +0 -0
  157. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/next.png +0 -0
  158. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/objects.png +0 -0
  159. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/pause.png +0 -0
  160. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/pausedisabled.png +0 -0
  161. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/play.png +0 -0
  162. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/playdisabled.png +0 -0
  163. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/previous.png +0 -0
  164. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/remove-sign.png +0 -0
  165. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/rewind.png +0 -0
  166. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/rewinddisabled.png +0 -0
  167. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/splash-black-text-alpha.png +0 -0
  168. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/splash-white-text-alpha.png +0 -0
  169. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/splash.png +0 -0
  170. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/status_pause.png +0 -0
  171. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/status_save.png +0 -0
  172. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/status_stop.png +0 -0
  173. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/stop.png +0 -0
  174. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/stopdisabled.png +0 -0
  175. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/structuringelement.png +0 -0
  176. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/thumb-down.png +0 -0
  177. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/thumb-up.png +0 -0
  178. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/unchecked.png +0 -0
  179. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/wantpony.wav +0 -0
  180. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/welcome_examples.png +0 -0
  181. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/welcome_forum.png +0 -0
  182. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/welcome_help.png +0 -0
  183. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/welcome_manual.png +0 -0
  184. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/welcome_new.png +0 -0
  185. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/welcome_pipeline.png +0 -0
  186. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/welcome_screen_help.png +0 -0
  187. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/welcome_start.png +0 -0
  188. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/welcome_tutorial.png +0 -0
  189. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/welcomescreen_forum.png +0 -0
  190. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/welcomescreen_manual.png +0 -0
  191. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/welcomescreen_tutorials.png +0 -0
  192. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/window_back.png +0 -0
  193. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/window_filesave.png +0 -0
  194. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/window_forward.png +0 -0
  195. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/window_home.png +0 -0
  196. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/window_pan.png +0 -0
  197. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/data/images/window_zoom_to_rect.png +0 -0
  198. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/__init__.py +0 -0
  199. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/_tree_checkbox_dialog.py +0 -0
  200. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/_welcome_frame.py +0 -0
  201. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/_workspace_model.py +0 -0
  202. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/addmoduleframe.py +0 -0
  203. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/app.py +0 -0
  204. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/artist.py +0 -0
  205. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/checkupdate.py +0 -0
  206. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/constants/__init__.py +0 -0
  207. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/constants/figure.py +0 -0
  208. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/constants/module_view.py +0 -0
  209. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/constants/preferences_dialog.py +0 -0
  210. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/constants/preferences_view.py +0 -0
  211. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/constants/workspace_view.py +0 -0
  212. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/cpframe.py +0 -0
  213. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/dialog.py +0 -0
  214. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/editobjectsdlg.py +0 -0
  215. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/errordialog.py +0 -0
  216. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/figure/__init__.py +0 -0
  217. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/figure/_figure.py +0 -0
  218. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/figure/_navigation_toolbar.py +0 -0
  219. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/figure/_outline_artist.py +0 -0
  220. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/gridrenderers.py +0 -0
  221. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/help/__init__.py +0 -0
  222. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/help/content.py +0 -0
  223. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/help/menu.py +0 -0
  224. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/help/search.py +0 -0
  225. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/__init__.py +0 -0
  226. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/configure_images_help.html +0 -0
  227. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/exporting_results_help.html +0 -0
  228. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/getting_started.html +0 -0
  229. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/htmlwindow.py +0 -0
  230. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/identify_features_help.html +0 -0
  231. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/in_app_help.html +0 -0
  232. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/making_measurements_help.html +0 -0
  233. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/running_pipeline_help.html +0 -0
  234. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/selecting_images_help.html +0 -0
  235. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/test_mode_help.html +0 -0
  236. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/utils.py +0 -0
  237. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/html/welcome.html +0 -0
  238. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/htmldialog.py +0 -0
  239. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/imagesetctrl.py +0 -0
  240. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/menu.py +0 -0
  241. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/metadatactrl.py +0 -0
  242. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/module_view/__init__.py +0 -0
  243. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/module_view/_binary_matrix_controller.py +0 -0
  244. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/module_view/_data_type_controller.py +0 -0
  245. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/module_view/_file_collection_display_controller.py +0 -0
  246. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/module_view/_filter_panel_controller.py +0 -0
  247. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/module_view/_joiner_controller.py +0 -0
  248. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/module_view/_module_sizer.py +0 -0
  249. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/module_view/_module_view.py +0 -0
  250. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/module_view/_setting_edited_event.py +0 -0
  251. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/module_view/_table_controller.py +0 -0
  252. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/module_view/_validation_request_controller.py +0 -0
  253. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/moduleview.py +0 -0
  254. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/namesubscriber.py +0 -0
  255. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/omerologin.py +0 -0
  256. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/parametersampleframe.py +0 -0
  257. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/pathlist.py +0 -0
  258. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/pipeline.py +0 -0
  259. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/pipelinecontroller.py +0 -0
  260. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/pipelinelistview.py +0 -0
  261. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/plateviewer.py +0 -0
  262. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/plugins_menu.py +0 -0
  263. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/preferences_dialog/__init__.py +0 -0
  264. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/preferences_dialog/_integer_preference.py +0 -0
  265. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/preferences_dialog/_preferences_dialog.py +0 -0
  266. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/preferences_view/__init__.py +0 -0
  267. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/preferences_view/_preferences_view.py +0 -0
  268. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/preferences_view/_progress_watcher.py +0 -0
  269. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/readers_dialog/__init__.py +0 -0
  270. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/readers_dialog/_readers_dialog.py +0 -0
  271. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/regexp_editor.py +0 -0
  272. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/tools.py +0 -0
  273. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/utilities/__init__.py +0 -0
  274. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/utilities/figure.py +0 -0
  275. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/utilities/icon.py +0 -0
  276. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/utilities/module_view.py +0 -0
  277. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/utilities/preferences_dialog.py +0 -0
  278. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/utilities/preferences_view.py +0 -0
  279. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/utilities/workspace_view.py +0 -0
  280. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/workspace_view/__init__.py +0 -0
  281. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/workspace_view/_workspace_view.py +0 -0
  282. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/workspace_view/_workspace_view_figure.py +0 -0
  283. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/workspace_view/_workspace_view_image_row.py +0 -0
  284. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/workspace_view/_workspace_view_mask_row.py +0 -0
  285. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/workspace_view/_workspace_view_measurement_row.py +0 -0
  286. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/workspace_view/_workspace_view_objects_row.py +0 -0
  287. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/gui/workspace_view/_workspace_view_row.py +0 -0
  288. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/icons/__init__.py +0 -0
  289. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/knime_bridge.py +0 -0
  290. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/misc.py +0 -0
  291. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/UntangleWorms.xsd +0 -0
  292. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/__init__.py +0 -0
  293. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/_help.py +0 -0
  294. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/calculatemath.py +0 -0
  295. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/calculatestatistics.py +0 -0
  296. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/classifyobjects.py +0 -0
  297. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/closing.py +0 -0
  298. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/colortogray.py +0 -0
  299. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/combineobjects.py +0 -0
  300. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/convertimagetoobjects.py +0 -0
  301. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/convertobjectstoimage.py +0 -0
  302. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/correctilluminationapply.py +0 -0
  303. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/correctilluminationcalculate.py +0 -0
  304. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/createbatchfiles.py +0 -0
  305. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/crop.py +0 -0
  306. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/definegrid.py +0 -0
  307. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/dilateimage.py +0 -0
  308. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/dilateobjects.py +0 -0
  309. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/displaydataonimage.py +0 -0
  310. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/displaydensityplot.py +0 -0
  311. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/displayhistogram.py +0 -0
  312. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/displayplatemap.py +0 -0
  313. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/displayscatterplot.py +0 -0
  314. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/editobjectsmanually.py +0 -0
  315. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/enhanceedges.py +0 -0
  316. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/enhanceorsuppressfeatures.py +0 -0
  317. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/erodeimage.py +0 -0
  318. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/erodeobjects.py +0 -0
  319. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/expandorshrinkobjects.py +0 -0
  320. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/exporttodatabase.py +0 -0
  321. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/exporttospreadsheet.py +0 -0
  322. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/fillobjects.py +0 -0
  323. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/filterobjects.py +0 -0
  324. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/findmaxima.py +0 -0
  325. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/flagimage.py +0 -0
  326. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/flipandrotate.py +0 -0
  327. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/gaussianfilter.py +0 -0
  328. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/graytocolor.py +0 -0
  329. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/identifydeadworms.py +0 -0
  330. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/identifyobjectsingrid.py +0 -0
  331. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/identifyobjectsmanually.py +0 -0
  332. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/identifyprimaryobjects.py +0 -0
  333. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/identifysecondaryobjects.py +0 -0
  334. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/identifytertiaryobjects.py +0 -0
  335. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/imagemath.py +0 -0
  336. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/invertforprinting.py +0 -0
  337. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/labelimages.py +0 -0
  338. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/makeprojection.py +0 -0
  339. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/maskimage.py +0 -0
  340. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/maskobjects.py +0 -0
  341. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/matchtemplate.py +0 -0
  342. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measurecolocalization.py +0 -0
  343. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measuregranularity.py +0 -0
  344. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measureimageareaoccupied.py +0 -0
  345. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measureimageintensity.py +0 -0
  346. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measureimageoverlap.py +0 -0
  347. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measureimagequality.py +0 -0
  348. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measureimageskeleton.py +0 -0
  349. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measureobjectintensity.py +0 -0
  350. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measureobjectintensitydistribution.py +0 -0
  351. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measureobjectneighbors.py +0 -0
  352. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measureobjectoverlap.py +0 -0
  353. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measureobjectsizeshape.py +0 -0
  354. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measureobjectskeleton.py +0 -0
  355. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/measuretexture.py +0 -0
  356. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/medialaxis.py +0 -0
  357. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/medianfilter.py +0 -0
  358. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/morph.py +0 -0
  359. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/morphologicalskeleton.py +0 -0
  360. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/opening.py +0 -0
  361. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/overlayobjects.py +0 -0
  362. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/plugins/__init__.py +0 -0
  363. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/plugins/imagetemplate.py +0 -0
  364. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/plugins/measurementtemplate.py +0 -0
  365. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/plugins/segmentationtemplatewithdependencies.py +0 -0
  366. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/reducenoise.py +0 -0
  367. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/relateobjects.py +0 -0
  368. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/rescaleintensity.py +0 -0
  369. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/resize.py +0 -0
  370. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/resizeobjects.py +0 -0
  371. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/runimagejmacro.py +0 -0
  372. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/savecroppedobjects.py +0 -0
  373. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/saveimages.py +0 -0
  374. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/shrinktoobjectcenters.py +0 -0
  375. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/smooth.py +0 -0
  376. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/splitormergeobjects.py +0 -0
  377. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/straightenworms.py +0 -0
  378. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/threshold.py +0 -0
  379. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/tile.py +0 -0
  380. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/trackobjects.py +0 -0
  381. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/unmixcolors.py +0 -0
  382. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/untangleworms.py +0 -0
  383. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/modules/watershed.py +0 -0
  384. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/utilities/__init__.py +0 -0
  385. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/utilities/morphology.py +0 -0
  386. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/cellprofiler/utilities/rules.py +0 -0
  387. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/environment.yml +0 -0
  388. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/pyproject.toml +0 -0
  389. {cellprofiler_nightly-5.0.0.dev399 → cellprofiler_nightly-5.0.0.dev409}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CellProfiler-nightly
3
- Version: 5.0.0.dev399
3
+ Version: 5.0.0.dev409
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.dev399
3
+ Version: 5.0.0.dev409
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.dev399'
32
- __version_tuple__ = version_tuple = (5, 0, 0, 'dev399')
31
+ __version__ = version = '5.0.0.dev409'
32
+ __version_tuple__ = version_tuple = (5, 0, 0, 'dev409')
33
33
 
34
- __commit_id__ = commit_id = 'ge6c545a1c'
34
+ __commit_id__ = commit_id = 'g578baed29'
@@ -5,7 +5,7 @@ OverlayOutlines
5
5
  **OverlayOutlines** places outlines of objects over a desired image.
6
6
 
7
7
  This module places outlines of objects on any desired image (grayscale, color, or blank).
8
- The resulting image can be saved using the **SaveImages** module.
8
+ The resulting image can be saved using the **SaveImages** module. Overlaying multiple objects will overwrite previous outlines.
9
9
 
10
10
  |
11
11
 
@@ -16,10 +16,6 @@ YES YES NO
16
16
  ============ ============ ===============
17
17
  """
18
18
 
19
- import numpy
20
- import skimage.color
21
- import skimage.segmentation
22
- import skimage.util
23
19
  from cellprofiler_core.image import Image
24
20
  from cellprofiler_core.module import Module
25
21
  from cellprofiler_core.setting import Binary, Divider, SettingsGroup, Color
@@ -28,25 +24,9 @@ from cellprofiler_core.setting.do_something import DoSomething, RemoveSettingBut
28
24
  from cellprofiler_core.setting.subscriber import ImageSubscriber, LabelSubscriber
29
25
  from cellprofiler_core.setting.text import ImageName
30
26
 
31
- WANTS_COLOR = "Color"
32
- WANTS_GRAYSCALE = "Grayscale"
27
+ from cellprofiler_library.modules._overlayoutlines import overlay_outlines
28
+ from cellprofiler_library.opts.overlayoutlines import BrightnessMode, OutlineMode, COLOR_ORDER, SourceMode
33
29
 
34
- MAX_IMAGE = "Max of image"
35
- MAX_POSSIBLE = "Max possible"
36
-
37
- COLORS = {
38
- "White": (1, 1, 1),
39
- "Black": (0, 0, 0),
40
- "Red": (1, 0, 0),
41
- "Green": (0, 1, 0),
42
- "Blue": (0, 0, 1),
43
- "Yellow": (1, 1, 0),
44
- }
45
-
46
- COLOR_ORDER = ["Red", "Green", "Blue", "Yellow", "White", "Black"]
47
-
48
- FROM_IMAGES = "Image"
49
- FROM_OBJECTS = "Objects"
50
30
 
51
31
  NUM_FIXED_SETTINGS_V1 = 5
52
32
  NUM_FIXED_SETTINGS_V2 = 6
@@ -118,7 +98,7 @@ image can be selected in later modules (for instance, **SaveImages**).
118
98
 
119
99
  self.wants_color = Choice(
120
100
  "Outline display mode",
121
- [WANTS_COLOR, WANTS_GRAYSCALE],
101
+ [OutlineMode.COLOR.value, OutlineMode.GRAYSCALE.value],
122
102
  doc="""\
123
103
  Specify how to display the outline contours around your objects. Color
124
104
  outlines produce a clearer display for images where the cell borders
@@ -132,7 +112,7 @@ same intensity as the brightest pixel in the image.
132
112
 
133
113
  self.max_type = Choice(
134
114
  "Select method to determine brightness of outlines",
135
- [MAX_IMAGE, MAX_POSSIBLE],
115
+ [BrightnessMode.MAX_IMAGE.value, BrightnessMode.MAX_POSSIBLE.value],
136
116
  doc="""\
137
117
  *(Used only when outline display mode is grayscale)*
138
118
 
@@ -148,7 +128,7 @@ If your image is quite dim, then putting bright white lines onto it may
148
128
  not be useful. It may be preferable to make the outlines equal to the
149
129
  maximal brightness already occurring in the image.
150
130
  """.format(
151
- **{"MAX_IMAGE": MAX_IMAGE, "MAX_POSSIBLE": MAX_POSSIBLE}
131
+ **{"MAX_IMAGE": BrightnessMode.MAX_IMAGE.value, "MAX_POSSIBLE": BrightnessMode.MAX_POSSIBLE.value}
152
132
  ),
153
133
  )
154
134
 
@@ -185,7 +165,7 @@ maximal brightness already occurring in the image.
185
165
  Color(
186
166
  "Select outline color",
187
167
  default_color,
188
- doc="Objects will be outlined in this color.",
168
+ doc="Objects will be outlined in this color. If overlaying multiple objects, the previous outlines will be overwritten.",
189
169
  ),
190
170
  )
191
171
 
@@ -232,39 +212,82 @@ maximal brightness already occurring in the image.
232
212
  self.line_mode,
233
213
  self.spacer,
234
214
  ]
235
- if self.wants_color.value == WANTS_GRAYSCALE and not self.blank_image.value:
215
+ if self.wants_color.value == OutlineMode.GRAYSCALE and not self.blank_image.value:
236
216
  result += [self.max_type]
237
217
  for outline in self.outlines:
238
218
  result += [outline.objects_name]
239
- if self.wants_color.value == WANTS_COLOR:
219
+ if self.wants_color.value == OutlineMode.COLOR:
240
220
  result += [outline.color]
241
221
  if hasattr(outline, "remover"):
242
222
  result += [outline.remover]
243
223
  result += [self.add_outline_button]
244
224
  return result
245
225
 
246
- def run(self, workspace):
247
- base_image, dimensions = self.base_image(workspace)
248
-
249
- if self.wants_color.value == WANTS_COLOR:
250
- pixel_data = self.run_color(workspace, base_image.copy())
226
+ def run(self, workspace):
227
+ # Extract base image parameters
228
+ if self.blank_image.value:
229
+ _outline = self.outlines[0]
230
+ _objects = workspace.object_set.get_objects(_outline.objects_name.value)
231
+
232
+ obj_shape = _objects.shape
233
+ obj_dimensions = _objects.dimensions
234
+ im_pixel_data = None
235
+ im_multichannel = False
236
+ im_dimensions = None
237
+
251
238
  else:
252
- pixel_data = self.run_bw(workspace, base_image)
239
+ image = workspace.image_set.get_image(self.image_name.value)
253
240
 
241
+ obj_shape = None
242
+ obj_dimensions = None
243
+ im_pixel_data = image.pixel_data
244
+ im_multichannel = image.multichannel
245
+ im_dimensions = image.dimensions
246
+
247
+ # Extract outline data for both color and BW modes
248
+ object_labels_list = []
249
+ colors_list = []
250
+ is_volumetric = (im_dimensions or obj_dimensions) > 2
251
+
252
+ for outline in self.outlines:
253
+ objects = workspace.object_set.get_objects(outline.objects_name.value)
254
+ obj_labels_list = objects.get_labels()
255
+
256
+ # For BW mode
257
+ object_labels_list.append(obj_labels_list)
258
+
259
+ # For color mode
260
+ color_rgb = outline.color.to_rgb()
261
+ colors_list.append(color_rgb)
262
+
263
+ if self.wants_color.value == OutlineMode.GRAYSCALE:
264
+ colors_list = None
265
+
266
+ # Call dispatcher with all extracted parameters
267
+ pixel_data, base_image, dimensions = overlay_outlines(
268
+ BrightnessMode.MAX_POSSIBLE if self.blank_image.value else self.max_type.value,
269
+ self.line_mode.value,
270
+ obj_shape,
271
+ obj_dimensions,
272
+ im_pixel_data,
273
+ im_multichannel,
274
+ im_dimensions,
275
+ object_labels_list,
276
+ colors_list,
277
+ is_volumetric
278
+ )
279
+
280
+ # UI/Framework-specific logic - create output image and update workspace
254
281
  output_image = Image(pixel_data, dimensions=dimensions)
255
-
256
282
  workspace.image_set.add(self.output_image_name.value, output_image)
257
-
283
+
258
284
  if not self.blank_image.value:
259
285
  image = workspace.image_set.get_image(self.image_name.value)
260
-
261
286
  output_image.parent_image = image
262
-
287
+
263
288
  if self.show_window:
264
289
  workspace.display_data.pixel_data = pixel_data
265
-
266
290
  workspace.display_data.image_pixel_data = base_image
267
-
268
291
  workspace.display_data.dimensions = dimensions
269
292
 
270
293
  def display(self, workspace, figure):
@@ -273,7 +296,7 @@ maximal brightness already occurring in the image.
273
296
  if self.blank_image.value:
274
297
  figure.set_subplots((1, 1), dimensions=dimensions)
275
298
 
276
- if self.wants_color.value == WANTS_COLOR:
299
+ if self.wants_color.value == OutlineMode.COLOR:
277
300
  figure.subplot_imshow(
278
301
  0,
279
302
  0,
@@ -294,7 +317,7 @@ maximal brightness already occurring in the image.
294
317
  0, 0, workspace.display_data.image_pixel_data, self.image_name.value
295
318
  )
296
319
 
297
- if self.wants_color.value == WANTS_COLOR:
320
+ if self.wants_color.value == OutlineMode.COLOR:
298
321
  figure.subplot_imshow(
299
322
  1,
300
323
  0,
@@ -311,97 +334,6 @@ maximal brightness already occurring in the image.
311
334
  sharexy=figure.subplot(0, 0),
312
335
  )
313
336
 
314
- def base_image(self, workspace):
315
- if self.blank_image.value:
316
- outline = self.outlines[0]
317
-
318
- objects = workspace.object_set.get_objects(outline.objects_name.value)
319
-
320
- return numpy.zeros(objects.shape + (3,)), objects.dimensions
321
-
322
- image = workspace.image_set.get_image(self.image_name.value)
323
-
324
- pixel_data = skimage.img_as_float(image.pixel_data)
325
-
326
- if image.multichannel:
327
- return pixel_data, image.dimensions
328
-
329
- return skimage.color.gray2rgb(pixel_data), image.dimensions
330
-
331
- def run_bw(self, workspace, pixel_data):
332
- if self.blank_image.value or self.max_type.value == MAX_POSSIBLE:
333
- color = 1.0
334
- else:
335
- color = numpy.max(pixel_data)
336
-
337
- for outline in self.outlines:
338
- objects = workspace.object_set.get_objects(outline.objects_name.value)
339
-
340
- pixel_data = self.draw_outlines(pixel_data, objects, color)
341
-
342
- return skimage.color.rgb2gray(pixel_data)
343
-
344
- def run_color(self, workspace, pixel_data):
345
- for outline in self.outlines:
346
- objects = workspace.object_set.get_objects(outline.objects_name.value)
347
-
348
- color = tuple(c / 255.0 for c in outline.color.to_rgb())
349
-
350
- pixel_data = self.draw_outlines(pixel_data, objects, color)
351
-
352
- return pixel_data
353
-
354
- def draw_outlines(self, pixel_data, objects, color):
355
- for labels, _ in objects.get_labels():
356
- resized_labels = self.resize(pixel_data, labels)
357
-
358
- if objects.volumetric:
359
- for index, plane in enumerate(resized_labels):
360
- pixel_data[index] = skimage.segmentation.mark_boundaries(
361
- pixel_data[index],
362
- plane,
363
- color=color,
364
- mode=self.line_mode.value.lower(),
365
- )
366
- else:
367
- pixel_data = skimage.segmentation.mark_boundaries(
368
- pixel_data,
369
- resized_labels,
370
- color=color,
371
- mode=self.line_mode.value.lower(),
372
- )
373
-
374
- return pixel_data
375
-
376
- def resize(self, pixel_data, labels):
377
- initial_shape = labels.shape
378
-
379
- final_shape = pixel_data.shape
380
-
381
- if pixel_data.ndim > labels.ndim: # multichannel
382
- final_shape = final_shape[:-1]
383
-
384
- adjust = numpy.subtract(final_shape, initial_shape)
385
-
386
- cropped = skimage.util.crop(
387
- labels,
388
- [
389
- (0, dim_adjust)
390
- for dim_adjust in numpy.abs(
391
- numpy.minimum(adjust, numpy.zeros_like(adjust))
392
- )
393
- ],
394
- )
395
-
396
- return numpy.pad(
397
- cropped,
398
- [
399
- (0, dim_adjust)
400
- for dim_adjust in numpy.maximum(adjust, numpy.zeros_like(adjust))
401
- ],
402
- mode="constant",
403
- constant_values=0,
404
- )
405
337
 
406
338
  def upgrade_settings(self, setting_values, variable_revision_number, module_name):
407
339
  if variable_revision_number == 1:
@@ -424,7 +356,7 @@ maximal brightness already occurring in the image.
424
356
  NUM_FIXED_SETTINGS_V2, len(setting_values), NUM_OUTLINE_SETTINGS_V2
425
357
  ):
426
358
  new_setting_values += setting_values[i : (i + NUM_OUTLINE_SETTINGS_V2)]
427
- new_setting_values += [FROM_IMAGES, "None"]
359
+ new_setting_values += [SourceMode.FROM_IMAGES, "None"]
428
360
  setting_values = new_setting_values
429
361
  variable_revision_number = 3
430
362
 
@@ -448,5 +380,6 @@ maximal brightness already occurring in the image.
448
380
 
449
381
  return setting_values, variable_revision_number
450
382
 
383
+
451
384
  def volumetric(self):
452
385
  return True
@@ -26,6 +26,7 @@ import numpy
26
26
  import skimage.morphology
27
27
  from cellprofiler_core.module import ImageProcessing
28
28
  from cellprofiler_core.setting.text import Float
29
+ from cellprofiler_library.modules._removeholes import remove_holes
29
30
 
30
31
 
31
32
  class RemoveHoles(ImageProcessing):
@@ -56,22 +57,7 @@ class RemoveHoles(ImageProcessing):
56
57
  return __settings__ + [self.size]
57
58
 
58
59
  def run(self, workspace):
59
- self.function = lambda image, diameter: fill_holes(image, diameter)
60
+ self.function = remove_holes
60
61
 
61
62
  super(RemoveHoles, self).run(workspace)
62
63
 
63
-
64
- def fill_holes(image, diameter):
65
- radius = diameter / 2.0
66
-
67
- if image.dtype.kind == "f":
68
- image = skimage.img_as_bool(image)
69
-
70
- if image.ndim == 2 or image.shape[-1] in (3, 4):
71
- factor = radius ** 2
72
- else:
73
- factor = (4.0 / 3.0) * (radius ** 3)
74
-
75
- size = numpy.pi * factor
76
-
77
- return skimage.morphology.remove_small_holes(image, size)