CellProfiler-nightly 5.0.0.dev496__tar.gz → 5.0.0.dev509__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.dev496 → cellprofiler_nightly-5.0.0.dev509}/CellProfiler_nightly.egg-info/PKG-INFO +1 -1
  2. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/PKG-INFO +1 -1
  3. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/_version.py +3 -3
  4. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measurecolocalization.py +15 -4
  5. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measuregranularity.py +46 -210
  6. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/CellProfiler_nightly.egg-info/SOURCES.txt +0 -0
  7. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/CellProfiler_nightly.egg-info/dependency_links.txt +0 -0
  8. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/CellProfiler_nightly.egg-info/entry_points.txt +0 -0
  9. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/CellProfiler_nightly.egg-info/requires.txt +0 -0
  10. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/CellProfiler_nightly.egg-info/top_level.txt +0 -0
  11. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/LICENSE +0 -0
  12. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/README.md +0 -0
  13. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/__init__.py +0 -0
  14. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/__main__.py +0 -0
  15. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/examples/ExampleFly/ExampleFly.cppipe +0 -0
  16. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/examples/ExampleFly/images/01_POS002_D.TIF +0 -0
  17. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/examples/ExampleFly/images/01_POS002_F.TIF +0 -0
  18. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/examples/ExampleFly/images/01_POS002_R.TIF +0 -0
  19. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/examples/ExampleFly/images/01_POS076_D.TIF +0 -0
  20. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/examples/ExampleFly/images/01_POS076_F.TIF +0 -0
  21. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/examples/ExampleFly/images/01_POS076_R.TIF +0 -0
  22. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/examples/ExampleFly/images/01_POS218_D.TIF +0 -0
  23. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/examples/ExampleFly/images/01_POS218_F.TIF +0 -0
  24. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/examples/ExampleFly/images/01_POS218_R.TIF +0 -0
  25. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/display_image_tools.rst +0 -0
  26. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/display_interactive_navigation.rst +0 -0
  27. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/display_menu_bar.rst +0 -0
  28. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/legacy_matlab_image.rst +0 -0
  29. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/navigation_edit_menu.rst +0 -0
  30. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/navigation_file_menu.rst +0 -0
  31. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/navigation_test_menu.rst +0 -0
  32. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/navigation_window_menu.rst +0 -0
  33. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/other_3d_identify.rst +0 -0
  34. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/other_batch.rst +0 -0
  35. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/other_logging.rst +0 -0
  36. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/other_omero.rst +0 -0
  37. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/other_plugins.rst +0 -0
  38. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/other_shell.rst +0 -0
  39. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/other_troubleshooting.rst +0 -0
  40. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/other_widget_inspector.rst +0 -0
  41. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/output_measurements.rst +0 -0
  42. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/output_plateviewer.rst +0 -0
  43. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/output_spreadsheets.rst +0 -0
  44. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/pipelines_building.rst +0 -0
  45. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/pipelines_running.rst +0 -0
  46. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/projects_configure_images.rst +0 -0
  47. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/projects_image_ordering.rst +0 -0
  48. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/projects_image_sequences.rst +0 -0
  49. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/projects_introduction.rst +0 -0
  50. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/projects_selecting_images.rst +0 -0
  51. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/help/why_use_cellprofiler.rst +0 -0
  52. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler-favicon-120.png +0 -0
  53. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler-favicon-128.png +0 -0
  54. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler-favicon-144.png +0 -0
  55. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler-favicon-152.png +0 -0
  56. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler-favicon-195.png +0 -0
  57. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler-favicon-228.png +0 -0
  58. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler-favicon-32.png +0 -0
  59. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler-favicon-57.png +0 -0
  60. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler-favicon-72.png +0 -0
  61. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler-favicon-96.png +0 -0
  62. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler-favicon.ico +0 -0
  63. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler.ai +0 -0
  64. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler.icns +0 -0
  65. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler.ico +0 -0
  66. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler.png +0 -0
  67. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler.svg +0 -0
  68. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/icons/CellProfiler_square.svg +0 -0
  69. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Align.png +0 -0
  70. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/ApplyThreshold.png +0 -0
  71. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/CollapseTree.png +0 -0
  72. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/ColorToGray.png +0 -0
  73. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/CorrectIlluminationApply.png +0 -0
  74. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/CorrectIlluminationCalculate.png +0 -0
  75. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Crop.png +0 -0
  76. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/ExpandOrShrinkObjects.png +0 -0
  77. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/ExpandTree.png +0 -0
  78. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/GrayToColor.png +0 -0
  79. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Groups_ExampleDisplayTable.png +0 -0
  80. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_ANALYZED.png +0 -0
  81. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_ANALYZE_16.png +0 -0
  82. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_ANALYZE_24.png +0 -0
  83. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_CLOSED_EYE.png +0 -0
  84. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_DISABLED.png +0 -0
  85. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_ERROR.png +0 -0
  86. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_EYE.png +0 -0
  87. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_GO.png +0 -0
  88. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_GO_DIM.png +0 -0
  89. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_IMAGE.png +0 -0
  90. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_MEASURE.png +0 -0
  91. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_OK.png +0 -0
  92. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_PAUSE.png +0 -0
  93. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_RUN.png +0 -0
  94. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_SLIDER.png +0 -0
  95. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_SLIDER_ACTIVE.png +0 -0
  96. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_STOP.png +0 -0
  97. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_TEST.png +0 -0
  98. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_UNAVAILABLE.png +0 -0
  99. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_UPDATE.png +0 -0
  100. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_USE_INPUT.png +0 -0
  101. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_USE_OUTPUT.png +0 -0
  102. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_USE_SOURCE.png +0 -0
  103. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IMG_WARN.png +0 -0
  104. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IdentifyPrimaryObjects_IntensityDeclumping.png +0 -0
  105. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IdentifyPrimaryObjects_ShapeDeclumping.png +0 -0
  106. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IdentifySecondaryObjects.png +0 -0
  107. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/IdentifyTertiaryObjects.png +0 -0
  108. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Images_FilelistPanel.png +0 -0
  109. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Images_FilelistPanel_Blank.png +0 -0
  110. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Images_FilelistPanel_Filled.png +0 -0
  111. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Images_UsingRules.png +0 -0
  112. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/MeasureGranularity_example.png +0 -0
  113. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/MeasureImageAreaOccupied.png +0 -0
  114. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/MeasureObjectIntensityDistribution_Edges_Centers.png +0 -0
  115. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/MeasureObjectIntensityDistribution_Magnitude_Phase.png +0 -0
  116. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/MeasureObjectSizeShape_Eccentricity.png +0 -0
  117. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/MeasureTexture.png +0 -0
  118. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Measure_texture_3D_correspondences_1.png +0 -0
  119. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Measure_texture_3D_correspondences_1_highres.png +0 -0
  120. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Measure_texture_3D_correspondences_2.png +0 -0
  121. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Measure_texture_3D_correspondences_2_highres.png +0 -0
  122. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Metadata_ExampleDisplayTable.png +0 -0
  123. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/NamesAndTypes_ExampleDisplayTable.png +0 -0
  124. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/Tile.png +0 -0
  125. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/UnmixColors.png +0 -0
  126. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/check.png +0 -0
  127. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/color.png +0 -0
  128. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/cp_panel_schematic.png +0 -0
  129. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/dapi.png +0 -0
  130. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/delete.png +0 -0
  131. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/downarrow.png +0 -0
  132. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/eye-close.png +0 -0
  133. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/eye-open.png +0 -0
  134. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/ffwd.png +0 -0
  135. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/ffwddisabled.png +0 -0
  136. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/filter.png +0 -0
  137. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/folder_browse.png +0 -0
  138. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/folder_create.png +0 -0
  139. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/gear.png +0 -0
  140. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/gfp.png +0 -0
  141. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/icon_copyrights.txt +0 -0
  142. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/illumination_function.png +0 -0
  143. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/image_to_object_dataflow.png +0 -0
  144. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/image_to_object_dataflow.psd +0 -0
  145. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/mask.png +0 -0
  146. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/microscope-color_16.png +0 -0
  147. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/microscope-icon_16.png +0 -0
  148. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/microscope-icon_32.png +0 -0
  149. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/microscopes_16.png +0 -0
  150. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/module_add.png +0 -0
  151. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/module_help.png +0 -0
  152. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/module_movedown.png +0 -0
  153. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/module_moveup.png +0 -0
  154. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/module_remove.png +0 -0
  155. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/monochrome.png +0 -0
  156. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/movie_16.png +0 -0
  157. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/next.png +0 -0
  158. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/objects.png +0 -0
  159. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/pause.png +0 -0
  160. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/pausedisabled.png +0 -0
  161. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/play.png +0 -0
  162. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/playdisabled.png +0 -0
  163. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/previous.png +0 -0
  164. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/remove-sign.png +0 -0
  165. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/rewind.png +0 -0
  166. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/rewinddisabled.png +0 -0
  167. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/splash-black-text-alpha.png +0 -0
  168. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/splash-white-text-alpha.png +0 -0
  169. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/splash.png +0 -0
  170. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/status_pause.png +0 -0
  171. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/status_save.png +0 -0
  172. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/status_stop.png +0 -0
  173. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/stop.png +0 -0
  174. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/stopdisabled.png +0 -0
  175. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/structuringelement.png +0 -0
  176. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/thumb-down.png +0 -0
  177. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/thumb-up.png +0 -0
  178. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/unchecked.png +0 -0
  179. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/wantpony.wav +0 -0
  180. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/welcome_examples.png +0 -0
  181. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/welcome_forum.png +0 -0
  182. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/welcome_help.png +0 -0
  183. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/welcome_manual.png +0 -0
  184. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/welcome_new.png +0 -0
  185. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/welcome_pipeline.png +0 -0
  186. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/welcome_screen_help.png +0 -0
  187. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/welcome_start.png +0 -0
  188. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/welcome_tutorial.png +0 -0
  189. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/welcomescreen_forum.png +0 -0
  190. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/welcomescreen_manual.png +0 -0
  191. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/welcomescreen_tutorials.png +0 -0
  192. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/window_back.png +0 -0
  193. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/window_filesave.png +0 -0
  194. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/window_forward.png +0 -0
  195. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/window_home.png +0 -0
  196. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/window_pan.png +0 -0
  197. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/data/images/window_zoom_to_rect.png +0 -0
  198. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/__init__.py +0 -0
  199. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/_tree_checkbox_dialog.py +0 -0
  200. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/_welcome_frame.py +0 -0
  201. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/_workspace_model.py +0 -0
  202. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/addmoduleframe.py +0 -0
  203. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/app.py +0 -0
  204. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/artist.py +0 -0
  205. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/checkupdate.py +0 -0
  206. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/constants/__init__.py +0 -0
  207. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/constants/figure.py +0 -0
  208. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/constants/module_view.py +0 -0
  209. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/constants/preferences_dialog.py +0 -0
  210. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/constants/preferences_view.py +0 -0
  211. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/constants/workspace_view.py +0 -0
  212. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/cpframe.py +0 -0
  213. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/dialog.py +0 -0
  214. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/editobjectsdlg.py +0 -0
  215. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/errordialog.py +0 -0
  216. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/figure/__init__.py +0 -0
  217. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/figure/_figure.py +0 -0
  218. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/figure/_navigation_toolbar.py +0 -0
  219. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/figure/_outline_artist.py +0 -0
  220. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/gridrenderers.py +0 -0
  221. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/help/__init__.py +0 -0
  222. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/help/content.py +0 -0
  223. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/help/menu.py +0 -0
  224. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/help/search.py +0 -0
  225. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/__init__.py +0 -0
  226. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/configure_images_help.html +0 -0
  227. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/exporting_results_help.html +0 -0
  228. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/getting_started.html +0 -0
  229. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/htmlwindow.py +0 -0
  230. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/identify_features_help.html +0 -0
  231. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/in_app_help.html +0 -0
  232. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/making_measurements_help.html +0 -0
  233. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/running_pipeline_help.html +0 -0
  234. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/selecting_images_help.html +0 -0
  235. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/test_mode_help.html +0 -0
  236. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/utils.py +0 -0
  237. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/html/welcome.html +0 -0
  238. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/htmldialog.py +0 -0
  239. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/imagesetctrl.py +0 -0
  240. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/menu.py +0 -0
  241. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/metadatactrl.py +0 -0
  242. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/module_view/__init__.py +0 -0
  243. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/module_view/_binary_matrix_controller.py +0 -0
  244. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/module_view/_data_type_controller.py +0 -0
  245. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/module_view/_file_collection_display_controller.py +0 -0
  246. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/module_view/_filter_panel_controller.py +0 -0
  247. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/module_view/_joiner_controller.py +0 -0
  248. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/module_view/_module_sizer.py +0 -0
  249. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/module_view/_module_view.py +0 -0
  250. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/module_view/_setting_edited_event.py +0 -0
  251. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/module_view/_table_controller.py +0 -0
  252. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/module_view/_validation_request_controller.py +0 -0
  253. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/moduleview.py +0 -0
  254. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/namesubscriber.py +0 -0
  255. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/omerologin.py +0 -0
  256. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/parametersampleframe.py +0 -0
  257. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/pathlist.py +0 -0
  258. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/pipeline.py +0 -0
  259. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/pipelinecontroller.py +0 -0
  260. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/pipelinelistview.py +0 -0
  261. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/plateviewer.py +0 -0
  262. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/plugins_menu.py +0 -0
  263. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/preferences_dialog/__init__.py +0 -0
  264. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/preferences_dialog/_integer_preference.py +0 -0
  265. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/preferences_dialog/_preferences_dialog.py +0 -0
  266. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/preferences_view/__init__.py +0 -0
  267. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/preferences_view/_preferences_view.py +0 -0
  268. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/preferences_view/_progress_watcher.py +0 -0
  269. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/readers_dialog/__init__.py +0 -0
  270. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/readers_dialog/_readers_dialog.py +0 -0
  271. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/regexp_editor.py +0 -0
  272. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/tools.py +0 -0
  273. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/utilities/__init__.py +0 -0
  274. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/utilities/figure.py +0 -0
  275. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/utilities/icon.py +0 -0
  276. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/utilities/module_view.py +0 -0
  277. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/utilities/preferences_dialog.py +0 -0
  278. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/utilities/preferences_view.py +0 -0
  279. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/utilities/workspace_view.py +0 -0
  280. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/workspace_view/__init__.py +0 -0
  281. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/workspace_view/_workspace_view.py +0 -0
  282. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/workspace_view/_workspace_view_figure.py +0 -0
  283. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/workspace_view/_workspace_view_image_row.py +0 -0
  284. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/workspace_view/_workspace_view_mask_row.py +0 -0
  285. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/workspace_view/_workspace_view_measurement_row.py +0 -0
  286. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/workspace_view/_workspace_view_objects_row.py +0 -0
  287. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/gui/workspace_view/_workspace_view_row.py +0 -0
  288. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/icons/__init__.py +0 -0
  289. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/knime_bridge.py +0 -0
  290. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/misc.py +0 -0
  291. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/UntangleWorms.xsd +0 -0
  292. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/__init__.py +0 -0
  293. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/_help.py +0 -0
  294. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/calculatemath.py +0 -0
  295. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/calculatestatistics.py +0 -0
  296. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/classifyobjects.py +0 -0
  297. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/closing.py +0 -0
  298. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/colortogray.py +0 -0
  299. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/combineobjects.py +0 -0
  300. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/convertimagetoobjects.py +0 -0
  301. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/convertobjectstoimage.py +0 -0
  302. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/correctilluminationapply.py +0 -0
  303. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/correctilluminationcalculate.py +0 -0
  304. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/createbatchfiles.py +0 -0
  305. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/crop.py +0 -0
  306. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/definegrid.py +0 -0
  307. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/dilateimage.py +0 -0
  308. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/dilateobjects.py +0 -0
  309. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/displaydataonimage.py +0 -0
  310. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/displaydensityplot.py +0 -0
  311. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/displayhistogram.py +0 -0
  312. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/displayplatemap.py +0 -0
  313. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/displayscatterplot.py +0 -0
  314. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/editobjectsmanually.py +0 -0
  315. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/enhanceedges.py +0 -0
  316. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/enhanceorsuppressfeatures.py +0 -0
  317. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/erodeimage.py +0 -0
  318. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/erodeobjects.py +0 -0
  319. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/expandorshrinkobjects.py +0 -0
  320. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/exporttodatabase.py +0 -0
  321. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/exporttospreadsheet.py +0 -0
  322. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/fillobjects.py +0 -0
  323. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/filterobjects.py +0 -0
  324. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/findmaxima.py +0 -0
  325. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/flagimage.py +0 -0
  326. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/flipandrotate.py +0 -0
  327. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/gaussianfilter.py +0 -0
  328. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/graytocolor.py +0 -0
  329. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/identifydeadworms.py +0 -0
  330. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/identifyobjectsingrid.py +0 -0
  331. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/identifyobjectsmanually.py +0 -0
  332. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/identifyprimaryobjects.py +0 -0
  333. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/identifysecondaryobjects.py +0 -0
  334. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/identifytertiaryobjects.py +0 -0
  335. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/imagemath.py +0 -0
  336. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/invertforprinting.py +0 -0
  337. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/labelimages.py +0 -0
  338. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/makeprojection.py +0 -0
  339. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/maskimage.py +0 -0
  340. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/maskobjects.py +0 -0
  341. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/matchtemplate.py +0 -0
  342. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measureimageareaoccupied.py +0 -0
  343. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measureimageintensity.py +0 -0
  344. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measureimageoverlap.py +0 -0
  345. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measureimagequality.py +0 -0
  346. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measureimageskeleton.py +0 -0
  347. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measureobjectintensity.py +0 -0
  348. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measureobjectintensitydistribution.py +0 -0
  349. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measureobjectneighbors.py +0 -0
  350. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measureobjectoverlap.py +0 -0
  351. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measureobjectsizeshape.py +0 -0
  352. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measureobjectskeleton.py +0 -0
  353. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/measuretexture.py +0 -0
  354. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/medialaxis.py +0 -0
  355. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/medianfilter.py +0 -0
  356. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/morph.py +0 -0
  357. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/morphologicalskeleton.py +0 -0
  358. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/opening.py +0 -0
  359. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/overlayobjects.py +0 -0
  360. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/overlayoutlines.py +0 -0
  361. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/plugins/__init__.py +0 -0
  362. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/plugins/imagetemplate.py +0 -0
  363. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/plugins/measurementtemplate.py +0 -0
  364. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/plugins/segmentationtemplatewithdependencies.py +0 -0
  365. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/reducenoise.py +0 -0
  366. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/relateobjects.py +0 -0
  367. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/removeholes.py +0 -0
  368. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/rescaleintensity.py +0 -0
  369. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/resize.py +0 -0
  370. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/resizeobjects.py +0 -0
  371. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/runimagejmacro.py +0 -0
  372. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/savecroppedobjects.py +0 -0
  373. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/saveimages.py +0 -0
  374. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/shrinktoobjectcenters.py +0 -0
  375. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/smooth.py +0 -0
  376. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/splitormergeobjects.py +0 -0
  377. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/straightenworms.py +0 -0
  378. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/threshold.py +0 -0
  379. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/tile.py +0 -0
  380. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/trackobjects.py +0 -0
  381. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/unmixcolors.py +0 -0
  382. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/untangleworms.py +0 -0
  383. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/modules/watershed.py +0 -0
  384. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/utilities/__init__.py +0 -0
  385. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/utilities/morphology.py +0 -0
  386. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/cellprofiler/utilities/rules.py +0 -0
  387. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/environment.yml +0 -0
  388. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/pyproject.toml +0 -0
  389. {cellprofiler_nightly-5.0.0.dev496 → cellprofiler_nightly-5.0.0.dev509}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CellProfiler-nightly
3
- Version: 5.0.0.dev496
3
+ Version: 5.0.0.dev509
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.dev496
3
+ Version: 5.0.0.dev509
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.dev496'
32
- __version_tuple__ = version_tuple = (5, 0, 0, 'dev496')
31
+ __version__ = version = '5.0.0.dev509'
32
+ __version_tuple__ = version_tuple = (5, 0, 0, 'dev509')
33
33
 
34
- __commit_id__ = commit_id = 'g8d098d2ce'
34
+ __commit_id__ = commit_id = 'gc5c07ce88'
@@ -98,6 +98,7 @@ from cellprofiler_library.functions.image_processing import apply_threshold_to_o
98
98
  import cellprofiler_library.opts.threshold as Threshold
99
99
  from cellprofiler_library.opts.measurecolocalization import MeasurementType, TemplateMeasurementFormat, Target, CostesMethod
100
100
  from cellprofiler_library.modules._measurecolocalization import run_image_pair_images, run_image_pair_objects, crop_image_pair_similarly, crop_image_pair_and_object_similarly
101
+ from cellprofiler_library.measurement_model import LibraryMeasurements
101
102
 
102
103
  # The number of settings per threshold
103
104
  THRESHOLD_SETTING_COUNT = 2
@@ -614,6 +615,10 @@ You can set a different threshold for each image selected in the module.
614
615
  col_labels = ["First image", "Second image", "Objects", "Measurement", "Value"]
615
616
  statistics = []
616
617
  image_dims = None
618
+
619
+ # Accumulate all measurements here and unpack once at the end
620
+ all_measurements = LibraryMeasurements()
621
+
617
622
  if len(self.images_list.value) < 2:
618
623
  raise ValueError("At least 2 images must be selected for analysis.")
619
624
  for im1_name, im2_name in self.get_image_pairs():
@@ -651,8 +656,7 @@ You can set a different threshold for each image selected in the module.
651
656
  costes_method = costes_method
652
657
  )
653
658
  statistics += measurements_summary
654
- for measurement_name, measurement_value in colocalization_measurements.items():
655
- workspace.measurements.add_image_measurement(measurement_name, measurement_value)
659
+ all_measurements = all_measurements.merge(colocalization_measurements)
656
660
 
657
661
  if self.wants_objects():
658
662
  for object_name in self.objects_list.value:
@@ -704,8 +708,15 @@ You can set a different threshold for each image selected in the module.
704
708
 
705
709
  )
706
710
  statistics += measurements_summary
707
- for measurement_name, measurement_value in colocalization_measurements.items():
708
- workspace.measurements.add_measurement(object_name, measurement_name, measurement_value)
711
+ all_measurements = all_measurements.merge(colocalization_measurements)
712
+
713
+ # Unpack all measurements to workspace
714
+ for measurement_name, measurement_value in all_measurements.image.items():
715
+ workspace.measurements.add_image_measurement(measurement_name, measurement_value)
716
+
717
+ for object_name, features in all_measurements.objects.items():
718
+ for measurement_name, measurement_value in features.items():
719
+ workspace.measurements.add_measurement(object_name, measurement_name, measurement_value)
709
720
 
710
721
  if self.wants_masks_saved.value:
711
722
  self.save_requested_masks(workspace)
@@ -1,9 +1,5 @@
1
1
  import logging
2
-
3
- import cellprofiler_core.workspace
4
2
  import numpy
5
- import scipy.ndimage
6
- import skimage.morphology
7
3
  from cellprofiler_core.constants.measurement import COLTYPE_FLOAT
8
4
  from cellprofiler_core.module import Module
9
5
  from cellprofiler_core.setting import Divider, Binary, ValidationError
@@ -12,9 +8,10 @@ from cellprofiler_core.setting.subscriber import (
12
8
  LabelListSubscriber,
13
9
  )
14
10
  from cellprofiler_core.setting.text import Float, Integer
15
- from centrosome.cpmorphology import fixup_scipy_ndimage_result as fix
16
11
 
17
12
  from cellprofiler.gui.help.content import image_resource
13
+ from cellprofiler_library.modules._measuregranularity import measure_granularity, ObjectRecord
14
+ from cellprofiler_library.opts.measuregranularity import TemplateMeasurementFormat
18
15
 
19
16
  LOGGER = logging.getLogger(__name__)
20
17
 
@@ -88,9 +85,6 @@ References
88
85
  )
89
86
 
90
87
 
91
- "Granularity category"
92
- C_GRANULARITY = "Granularity_%s_%s"
93
-
94
88
  IMAGE_SETTING_COUNT_V2 = 5
95
89
  IMAGE_SETTING_COUNT_V3 = 6
96
90
  IMAGE_SETTING_COUNT = IMAGE_SETTING_COUNT_V3
@@ -268,210 +262,52 @@ class MeasureGranularity(Module):
268
262
  title="If individual objects were measured, use an Export module to view their results",
269
263
  )
270
264
 
271
- def run_on_image_setting(self, workspace, image_name):
272
- assert isinstance(workspace, cellprofiler_core.workspace.Workspace)
273
- image_set = workspace.image_set
274
- measurements = workspace.measurements
275
- im = image_set.get_image(image_name, must_be_grayscale=True)
276
- #
277
- # Downsample the image and mask
278
- #
279
- new_shape = numpy.array(im.pixel_data.shape)
280
- if self.subsample_size.value < 1:
281
- new_shape = new_shape * self.subsample_size.value
282
- if im.dimensions == 2:
283
- i, j = (
284
- numpy.mgrid[0 : new_shape[0], 0 : new_shape[1]].astype(float)
285
- / self.subsample_size.value
286
- )
287
- pixels = scipy.ndimage.map_coordinates(im.pixel_data, (i, j), order=1)
288
- mask = (
289
- scipy.ndimage.map_coordinates(im.mask.astype(float), (i, j)) > 0.9
290
- )
291
- else:
292
- k, i, j = (
293
- numpy.mgrid[
294
- 0 : new_shape[0], 0 : new_shape[1], 0 : new_shape[2]
295
- ].astype(float)
296
- / self.subsample_size.value
297
- )
298
- pixels = scipy.ndimage.map_coordinates(
299
- im.pixel_data, (k, i, j), order=1
300
- )
301
- mask = (
302
- scipy.ndimage.map_coordinates(im.mask.astype(float), (k, i, j))
303
- > 0.9
304
- )
305
- else:
306
- pixels = im.pixel_data.copy()
307
- mask = im.mask.copy()
308
- #
309
- # Remove background pixels using a greyscale tophat filter
310
- #
311
- if self.image_sample_size.value < 1:
312
- back_shape = new_shape * self.image_sample_size.value
313
- if im.dimensions == 2:
314
- i, j = (
315
- numpy.mgrid[0 : back_shape[0], 0 : back_shape[1]].astype(float)
316
- / self.image_sample_size.value
317
- )
318
- back_pixels = scipy.ndimage.map_coordinates(pixels, (i, j), order=1)
319
- back_mask = (
320
- scipy.ndimage.map_coordinates(mask.astype(float), (i, j)) > 0.9
321
- )
322
- else:
323
- k, i, j = (
324
- numpy.mgrid[
325
- 0 : new_shape[0], 0 : new_shape[1], 0 : new_shape[2]
326
- ].astype(float)
327
- / self.subsample_size.value
328
- )
329
- back_pixels = scipy.ndimage.map_coordinates(pixels, (k, i, j), order=1)
330
- back_mask = (
331
- scipy.ndimage.map_coordinates(mask.astype(float), (k, i, j)) > 0.9
332
- )
333
- else:
334
- back_pixels = pixels
335
- back_mask = mask
336
- back_shape = new_shape
337
- radius = self.element_size.value
338
- if im.dimensions == 2:
339
- footprint = skimage.morphology.disk(radius, dtype=bool)
340
- else:
341
- footprint = skimage.morphology.ball(radius, dtype=bool)
342
- back_pixels_mask = numpy.zeros_like(back_pixels)
343
- back_pixels_mask[back_mask == True] = back_pixels[back_mask == True]
344
- back_pixels = skimage.morphology.erosion(back_pixels_mask, footprint=footprint)
345
- back_pixels_mask = numpy.zeros_like(back_pixels)
346
- back_pixels_mask[back_mask == True] = back_pixels[back_mask == True]
347
- back_pixels = skimage.morphology.dilation(back_pixels_mask, footprint=footprint)
348
- if self.image_sample_size.value < 1:
349
- if im.dimensions == 2:
350
- i, j = numpy.mgrid[0 : new_shape[0], 0 : new_shape[1]].astype(float)
351
- #
352
- # Make sure the mapping only references the index range of
353
- # back_pixels.
354
- #
355
- i *= float(back_shape[0] - 1) / float(new_shape[0] - 1)
356
- j *= float(back_shape[1] - 1) / float(new_shape[1] - 1)
357
- back_pixels = scipy.ndimage.map_coordinates(
358
- back_pixels, (i, j), order=1
359
- )
360
- else:
361
- k, i, j = numpy.mgrid[
362
- 0 : new_shape[0], 0 : new_shape[1], 0 : new_shape[2]
363
- ].astype(float)
364
- k *= float(back_shape[0] - 1) / float(new_shape[0] - 1)
365
- i *= float(back_shape[1] - 1) / float(new_shape[1] - 1)
366
- j *= float(back_shape[2] - 1) / float(new_shape[2] - 1)
367
- back_pixels = scipy.ndimage.map_coordinates(
368
- back_pixels, (k, i, j), order=1
369
- )
370
- pixels -= back_pixels
371
- pixels[pixels < 0] = 0
372
-
373
- #
374
- # For each object, build a little record
375
- #
376
- class ObjectRecord(object):
377
- def __init__(self, name):
378
- self.name = name
379
- self.labels = workspace.object_set.get_objects(name).segmented
380
- self.nobjects = numpy.max(self.labels)
381
- if self.nobjects != 0:
382
- self.range = numpy.arange(1, numpy.max(self.labels) + 1)
383
- self.labels = self.labels.copy()
384
- self.labels[~im.mask] = 0
385
- self.current_mean = fix(
386
- scipy.ndimage.mean(im.pixel_data, self.labels, self.range)
387
- )
388
- self.start_mean = numpy.maximum(
389
- self.current_mean, numpy.finfo(float).eps
390
- )
265
+ def add_names_to_measurements(self, measurements_arr, image_measurements_arr, statistics, image_name, granular_spectrum_length):
266
+ _statistics = [image_name] + statistics
267
+ _measurements_arr = []
268
+ _image_measurements_arr = []
269
+ ng = granular_spectrum_length
270
+ for i in range(1, ng+1):
271
+ feature = TemplateMeasurementFormat.GRANULARITY % (i, image_name)
272
+ _image_measurements_arr += [(feature, image_measurements_arr[i-1])]
273
+ if i < len(measurements_arr):
274
+ if measurements_arr[i-1]:
275
+ for (obj_name, obj_gss) in measurements_arr[i-1]:
276
+ _measurements_arr += [(obj_name, feature, obj_gss)]
277
+ # _measurements_arr += [(measurements_arr[i-1][j][0], feature, measurements_arr[i-1][j][1])]
278
+ return _measurements_arr, _image_measurements_arr, _statistics
391
279
 
280
+ def run_on_image_setting(self, workspace, image_name):
281
+ im = workspace.image_set.get_image(image_name, must_be_grayscale=True)
282
+ im_pixel_data = im.pixel_data
283
+ im_mask = im.mask
284
+ subsample_size = self.subsample_size.value
285
+ image_sample_size = self.image_sample_size.value
286
+ element_size = self.element_size.value
392
287
  object_records = [
393
- ObjectRecord(objects_name) for objects_name in self.objects_list.value
288
+ ObjectRecord(objects_name, workspace.object_set.get_objects(objects_name).segmented, im_mask, im_pixel_data) for objects_name in self.objects_list.value
394
289
  ]
395
- #
396
- # Transcribed from the Matlab module: granspectr function
397
- #
398
- # CALCULATES GRANULAR SPECTRUM, ALSO KNOWN AS SIZE DISTRIBUTION,
399
- # GRANULOMETRY, AND PATTERN SPECTRUM, SEE REF.:
400
- # J.Serra, Image Analysis and Mathematical Morphology, Vol. 1. Academic Press, London, 1989
401
- # Maragos,P. "Pattern spectrum and multiscale shape representation", IEEE Transactions on Pattern Analysis and Machine Intelligence, 11, N 7, pp. 701-716, 1989
402
- # L.Vincent "Granulometries and Opening Trees", Fundamenta Informaticae, 41, No. 1-2, pp. 57-90, IOS Press, 2000.
403
- # L.Vincent "Morphological Area Opening and Closing for Grayscale Images", Proc. NATO Shape in Picture Workshop, Driebergen, The Netherlands, pp. 197-208, 1992.
404
- # I.Ravkin, V.Temov "Bit representation techniques and image processing", Applied Informatics, v.14, pp. 41-90, Finances and Statistics, Moskow, 1988 (in Russian)
405
- # THIS IMPLEMENTATION INSTEAD OF OPENING USES EROSION FOLLOWED BY RECONSTRUCTION
406
- #
407
- ng = self.granular_spectrum_length.value
408
- startmean = numpy.mean(pixels[mask])
409
- ero = pixels.copy()
410
- # Mask the test image so that masked pixels will have no effect
411
- # during reconstruction
412
- #
413
- ero[~mask] = 0
414
- currentmean = startmean
415
- startmean = max(startmean, numpy.finfo(float).eps)
416
-
417
- if im.dimensions == 2:
418
- footprint = skimage.morphology.disk(1, dtype=bool)
419
- else:
420
- footprint = skimage.morphology.ball(1, dtype=bool)
421
- statistics = [image_name]
422
- for i in range(1, ng + 1):
423
- prevmean = currentmean
424
- ero_mask = numpy.zeros_like(ero)
425
- ero_mask[mask == True] = ero[mask == True]
426
- ero = skimage.morphology.erosion(ero_mask, footprint=footprint)
427
- rec = skimage.morphology.reconstruction(ero, pixels, footprint=footprint)
428
- currentmean = numpy.mean(rec[mask])
429
- gs = (prevmean - currentmean) * 100 / startmean
430
- statistics += ["%.2f" % gs]
431
- feature = self.granularity_feature(i, image_name)
432
- measurements.add_image_measurement(feature, gs)
433
- #
434
- # Restore the reconstructed image to the shape of the
435
- # original image so we can match against object labels
436
- #
437
- orig_shape = im.pixel_data.shape
438
- if im.dimensions == 2:
439
- i, j = numpy.mgrid[0 : orig_shape[0], 0 : orig_shape[1]].astype(float)
440
- #
441
- # Make sure the mapping only references the index range of
442
- # back_pixels.
443
- #
444
- i *= float(new_shape[0] - 1) / float(orig_shape[0] - 1)
445
- j *= float(new_shape[1] - 1) / float(orig_shape[1] - 1)
446
- rec = scipy.ndimage.map_coordinates(rec, (i, j), order=1)
447
- else:
448
- k, i, j = numpy.mgrid[
449
- 0 : orig_shape[0], 0 : orig_shape[1], 0 : orig_shape[2]
450
- ].astype(float)
451
- k *= float(new_shape[0] - 1) / float(orig_shape[0] - 1)
452
- i *= float(new_shape[1] - 1) / float(orig_shape[1] - 1)
453
- j *= float(new_shape[2] - 1) / float(orig_shape[2] - 1)
454
- rec = scipy.ndimage.map_coordinates(rec, (k, i, j), order=1)
455
- #
456
- # Calculate the means for the objects
457
- #
458
- for object_record in object_records:
459
- assert isinstance(object_record, ObjectRecord)
460
- if object_record.nobjects > 0:
461
- new_mean = fix(
462
- scipy.ndimage.mean(
463
- rec, object_record.labels, object_record.range
464
- )
465
- )
466
- gss = (
467
- (object_record.current_mean - new_mean)
468
- * 100
469
- / object_record.start_mean
470
- )
471
- object_record.current_mean = new_mean
472
- else:
473
- gss = numpy.zeros((0,))
474
- measurements.add_measurement(object_record.name, feature, gss)
290
+ granular_spectrum_length = self.granular_spectrum_length.value
291
+ image_name = image_name
292
+ dimensions = im.dimensions
293
+
294
+ measurements_arr, image_measurements_arr, statistics = measure_granularity(
295
+ im_pixel_data,
296
+ im_mask,
297
+ subsample_size,
298
+ image_sample_size,
299
+ element_size,
300
+ object_records,
301
+ granular_spectrum_length,
302
+ dimensions
303
+ )
304
+ measurements_arr, image_measurements_arr, statistics = self.add_names_to_measurements(measurements_arr, image_measurements_arr, statistics, image_name, granular_spectrum_length)
305
+
306
+ for packed_measurements in measurements_arr:
307
+ workspace.measurements.add_measurement(*packed_measurements)
308
+ for packed_measurements in image_measurements_arr:
309
+ workspace.measurements.add_image_measurement(*packed_measurements)
310
+
475
311
  return statistics
476
312
 
477
313
  def get_measurement_columns(self, pipeline, return_sources=False):
@@ -544,7 +380,7 @@ class MeasureGranularity(Module):
544
380
  return result
545
381
 
546
382
  def granularity_feature(self, length, image_name):
547
- return C_GRANULARITY % (length, image_name)
383
+ return TemplateMeasurementFormat.GRANULARITY % (length, image_name)
548
384
 
549
385
  def upgrade_settings(self, setting_values, variable_revision_number, module_name):
550
386
  if variable_revision_number == 1: