CellProfiler-nightly 5.0.0.dev554__tar.gz → 5.0.0.dev562__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.dev554 → cellprofiler_nightly-5.0.0.dev562}/CellProfiler_nightly.egg-info/PKG-INFO +1 -1
  2. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/PKG-INFO +1 -1
  3. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/_version.py +3 -3
  4. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measureobjectskeleton.py +47 -428
  5. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/CellProfiler_nightly.egg-info/SOURCES.txt +0 -0
  6. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/CellProfiler_nightly.egg-info/dependency_links.txt +0 -0
  7. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/CellProfiler_nightly.egg-info/entry_points.txt +0 -0
  8. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/CellProfiler_nightly.egg-info/requires.txt +0 -0
  9. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/CellProfiler_nightly.egg-info/top_level.txt +0 -0
  10. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/LICENSE +0 -0
  11. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/README.md +0 -0
  12. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/__init__.py +0 -0
  13. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/__main__.py +0 -0
  14. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/examples/ExampleFly/ExampleFly.cppipe +0 -0
  15. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/examples/ExampleFly/images/01_POS002_D.TIF +0 -0
  16. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/examples/ExampleFly/images/01_POS002_F.TIF +0 -0
  17. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/examples/ExampleFly/images/01_POS002_R.TIF +0 -0
  18. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/examples/ExampleFly/images/01_POS076_D.TIF +0 -0
  19. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/examples/ExampleFly/images/01_POS076_F.TIF +0 -0
  20. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/examples/ExampleFly/images/01_POS076_R.TIF +0 -0
  21. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/examples/ExampleFly/images/01_POS218_D.TIF +0 -0
  22. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/examples/ExampleFly/images/01_POS218_F.TIF +0 -0
  23. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/examples/ExampleFly/images/01_POS218_R.TIF +0 -0
  24. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/display_image_tools.rst +0 -0
  25. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/display_interactive_navigation.rst +0 -0
  26. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/display_menu_bar.rst +0 -0
  27. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/legacy_matlab_image.rst +0 -0
  28. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/navigation_edit_menu.rst +0 -0
  29. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/navigation_file_menu.rst +0 -0
  30. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/navigation_test_menu.rst +0 -0
  31. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/navigation_window_menu.rst +0 -0
  32. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/other_3d_identify.rst +0 -0
  33. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/other_batch.rst +0 -0
  34. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/other_logging.rst +0 -0
  35. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/other_omero.rst +0 -0
  36. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/other_plugins.rst +0 -0
  37. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/other_shell.rst +0 -0
  38. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/other_troubleshooting.rst +0 -0
  39. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/other_widget_inspector.rst +0 -0
  40. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/output_measurements.rst +0 -0
  41. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/output_plateviewer.rst +0 -0
  42. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/output_spreadsheets.rst +0 -0
  43. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/pipelines_building.rst +0 -0
  44. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/pipelines_running.rst +0 -0
  45. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/projects_configure_images.rst +0 -0
  46. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/projects_image_ordering.rst +0 -0
  47. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/projects_image_sequences.rst +0 -0
  48. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/projects_introduction.rst +0 -0
  49. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/projects_selecting_images.rst +0 -0
  50. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/help/why_use_cellprofiler.rst +0 -0
  51. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler-favicon-120.png +0 -0
  52. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler-favicon-128.png +0 -0
  53. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler-favicon-144.png +0 -0
  54. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler-favicon-152.png +0 -0
  55. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler-favicon-195.png +0 -0
  56. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler-favicon-228.png +0 -0
  57. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler-favicon-32.png +0 -0
  58. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler-favicon-57.png +0 -0
  59. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler-favicon-72.png +0 -0
  60. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler-favicon-96.png +0 -0
  61. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler-favicon.ico +0 -0
  62. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler.ai +0 -0
  63. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler.icns +0 -0
  64. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler.ico +0 -0
  65. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler.png +0 -0
  66. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler.svg +0 -0
  67. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/icons/CellProfiler_square.svg +0 -0
  68. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Align.png +0 -0
  69. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/ApplyThreshold.png +0 -0
  70. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/CollapseTree.png +0 -0
  71. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/ColorToGray.png +0 -0
  72. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/CorrectIlluminationApply.png +0 -0
  73. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/CorrectIlluminationCalculate.png +0 -0
  74. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Crop.png +0 -0
  75. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/ExpandOrShrinkObjects.png +0 -0
  76. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/ExpandTree.png +0 -0
  77. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/GrayToColor.png +0 -0
  78. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Groups_ExampleDisplayTable.png +0 -0
  79. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_ANALYZED.png +0 -0
  80. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_ANALYZE_16.png +0 -0
  81. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_ANALYZE_24.png +0 -0
  82. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_CLOSED_EYE.png +0 -0
  83. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_DISABLED.png +0 -0
  84. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_ERROR.png +0 -0
  85. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_EYE.png +0 -0
  86. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_GO.png +0 -0
  87. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_GO_DIM.png +0 -0
  88. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_IMAGE.png +0 -0
  89. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_MEASURE.png +0 -0
  90. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_OK.png +0 -0
  91. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_PAUSE.png +0 -0
  92. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_RUN.png +0 -0
  93. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_SLIDER.png +0 -0
  94. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_SLIDER_ACTIVE.png +0 -0
  95. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_STOP.png +0 -0
  96. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_TEST.png +0 -0
  97. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_UNAVAILABLE.png +0 -0
  98. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_UPDATE.png +0 -0
  99. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_USE_INPUT.png +0 -0
  100. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_USE_OUTPUT.png +0 -0
  101. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_USE_SOURCE.png +0 -0
  102. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IMG_WARN.png +0 -0
  103. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IdentifyPrimaryObjects_IntensityDeclumping.png +0 -0
  104. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IdentifyPrimaryObjects_ShapeDeclumping.png +0 -0
  105. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IdentifySecondaryObjects.png +0 -0
  106. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/IdentifyTertiaryObjects.png +0 -0
  107. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Images_FilelistPanel.png +0 -0
  108. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Images_FilelistPanel_Blank.png +0 -0
  109. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Images_FilelistPanel_Filled.png +0 -0
  110. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Images_UsingRules.png +0 -0
  111. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/MeasureGranularity_example.png +0 -0
  112. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/MeasureImageAreaOccupied.png +0 -0
  113. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/MeasureObjectIntensityDistribution_Edges_Centers.png +0 -0
  114. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/MeasureObjectIntensityDistribution_Magnitude_Phase.png +0 -0
  115. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/MeasureObjectSizeShape_Eccentricity.png +0 -0
  116. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/MeasureTexture.png +0 -0
  117. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Measure_texture_3D_correspondences_1.png +0 -0
  118. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Measure_texture_3D_correspondences_1_highres.png +0 -0
  119. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Measure_texture_3D_correspondences_2.png +0 -0
  120. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Measure_texture_3D_correspondences_2_highres.png +0 -0
  121. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Metadata_ExampleDisplayTable.png +0 -0
  122. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/NamesAndTypes_ExampleDisplayTable.png +0 -0
  123. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/Tile.png +0 -0
  124. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/UnmixColors.png +0 -0
  125. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/check.png +0 -0
  126. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/color.png +0 -0
  127. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/cp_panel_schematic.png +0 -0
  128. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/dapi.png +0 -0
  129. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/delete.png +0 -0
  130. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/downarrow.png +0 -0
  131. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/eye-close.png +0 -0
  132. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/eye-open.png +0 -0
  133. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/ffwd.png +0 -0
  134. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/ffwddisabled.png +0 -0
  135. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/filter.png +0 -0
  136. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/folder_browse.png +0 -0
  137. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/folder_create.png +0 -0
  138. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/gear.png +0 -0
  139. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/gfp.png +0 -0
  140. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/icon_copyrights.txt +0 -0
  141. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/illumination_function.png +0 -0
  142. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/image_to_object_dataflow.png +0 -0
  143. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/image_to_object_dataflow.psd +0 -0
  144. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/mask.png +0 -0
  145. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/microscope-color_16.png +0 -0
  146. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/microscope-icon_16.png +0 -0
  147. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/microscope-icon_32.png +0 -0
  148. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/microscopes_16.png +0 -0
  149. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/module_add.png +0 -0
  150. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/module_help.png +0 -0
  151. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/module_movedown.png +0 -0
  152. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/module_moveup.png +0 -0
  153. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/module_remove.png +0 -0
  154. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/monochrome.png +0 -0
  155. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/movie_16.png +0 -0
  156. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/next.png +0 -0
  157. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/objects.png +0 -0
  158. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/pause.png +0 -0
  159. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/pausedisabled.png +0 -0
  160. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/play.png +0 -0
  161. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/playdisabled.png +0 -0
  162. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/previous.png +0 -0
  163. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/remove-sign.png +0 -0
  164. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/rewind.png +0 -0
  165. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/rewinddisabled.png +0 -0
  166. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/splash-black-text-alpha.png +0 -0
  167. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/splash-white-text-alpha.png +0 -0
  168. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/splash.png +0 -0
  169. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/status_pause.png +0 -0
  170. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/status_save.png +0 -0
  171. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/status_stop.png +0 -0
  172. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/stop.png +0 -0
  173. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/stopdisabled.png +0 -0
  174. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/structuringelement.png +0 -0
  175. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/thumb-down.png +0 -0
  176. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/thumb-up.png +0 -0
  177. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/unchecked.png +0 -0
  178. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/wantpony.wav +0 -0
  179. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/welcome_examples.png +0 -0
  180. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/welcome_forum.png +0 -0
  181. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/welcome_help.png +0 -0
  182. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/welcome_manual.png +0 -0
  183. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/welcome_new.png +0 -0
  184. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/welcome_pipeline.png +0 -0
  185. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/welcome_screen_help.png +0 -0
  186. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/welcome_start.png +0 -0
  187. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/welcome_tutorial.png +0 -0
  188. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/welcomescreen_forum.png +0 -0
  189. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/welcomescreen_manual.png +0 -0
  190. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/welcomescreen_tutorials.png +0 -0
  191. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/window_back.png +0 -0
  192. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/window_filesave.png +0 -0
  193. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/window_forward.png +0 -0
  194. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/window_home.png +0 -0
  195. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/window_pan.png +0 -0
  196. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/data/images/window_zoom_to_rect.png +0 -0
  197. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/__init__.py +0 -0
  198. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/_tree_checkbox_dialog.py +0 -0
  199. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/_welcome_frame.py +0 -0
  200. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/_workspace_model.py +0 -0
  201. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/addmoduleframe.py +0 -0
  202. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/app.py +0 -0
  203. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/artist.py +0 -0
  204. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/checkupdate.py +0 -0
  205. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/constants/__init__.py +0 -0
  206. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/constants/figure.py +0 -0
  207. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/constants/module_view.py +0 -0
  208. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/constants/preferences_dialog.py +0 -0
  209. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/constants/preferences_view.py +0 -0
  210. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/constants/workspace_view.py +0 -0
  211. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/cpframe.py +0 -0
  212. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/dialog.py +0 -0
  213. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/editobjectsdlg.py +0 -0
  214. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/errordialog.py +0 -0
  215. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/figure/__init__.py +0 -0
  216. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/figure/_figure.py +0 -0
  217. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/figure/_navigation_toolbar.py +0 -0
  218. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/figure/_outline_artist.py +0 -0
  219. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/gridrenderers.py +0 -0
  220. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/help/__init__.py +0 -0
  221. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/help/content.py +0 -0
  222. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/help/menu.py +0 -0
  223. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/help/search.py +0 -0
  224. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/__init__.py +0 -0
  225. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/configure_images_help.html +0 -0
  226. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/exporting_results_help.html +0 -0
  227. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/getting_started.html +0 -0
  228. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/htmlwindow.py +0 -0
  229. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/identify_features_help.html +0 -0
  230. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/in_app_help.html +0 -0
  231. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/making_measurements_help.html +0 -0
  232. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/running_pipeline_help.html +0 -0
  233. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/selecting_images_help.html +0 -0
  234. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/test_mode_help.html +0 -0
  235. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/utils.py +0 -0
  236. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/html/welcome.html +0 -0
  237. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/htmldialog.py +0 -0
  238. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/imagesetctrl.py +0 -0
  239. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/menu.py +0 -0
  240. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/metadatactrl.py +0 -0
  241. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/module_view/__init__.py +0 -0
  242. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/module_view/_binary_matrix_controller.py +0 -0
  243. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/module_view/_data_type_controller.py +0 -0
  244. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/module_view/_file_collection_display_controller.py +0 -0
  245. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/module_view/_filter_panel_controller.py +0 -0
  246. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/module_view/_joiner_controller.py +0 -0
  247. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/module_view/_module_sizer.py +0 -0
  248. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/module_view/_module_view.py +0 -0
  249. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/module_view/_setting_edited_event.py +0 -0
  250. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/module_view/_table_controller.py +0 -0
  251. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/module_view/_validation_request_controller.py +0 -0
  252. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/moduleview.py +0 -0
  253. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/namesubscriber.py +0 -0
  254. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/omerologin.py +0 -0
  255. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/parametersampleframe.py +0 -0
  256. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/pathlist.py +0 -0
  257. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/pipeline.py +0 -0
  258. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/pipelinecontroller.py +0 -0
  259. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/pipelinelistview.py +0 -0
  260. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/plateviewer.py +0 -0
  261. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/plugins_menu.py +0 -0
  262. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/preferences_dialog/__init__.py +0 -0
  263. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/preferences_dialog/_integer_preference.py +0 -0
  264. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/preferences_dialog/_preferences_dialog.py +0 -0
  265. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/preferences_view/__init__.py +0 -0
  266. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/preferences_view/_preferences_view.py +0 -0
  267. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/preferences_view/_progress_watcher.py +0 -0
  268. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/readers_dialog/__init__.py +0 -0
  269. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/readers_dialog/_readers_dialog.py +0 -0
  270. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/regexp_editor.py +0 -0
  271. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/tools.py +0 -0
  272. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/utilities/__init__.py +0 -0
  273. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/utilities/figure.py +0 -0
  274. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/utilities/icon.py +0 -0
  275. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/utilities/module_view.py +0 -0
  276. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/utilities/preferences_dialog.py +0 -0
  277. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/utilities/preferences_view.py +0 -0
  278. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/utilities/workspace_view.py +0 -0
  279. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/workspace_view/__init__.py +0 -0
  280. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/workspace_view/_workspace_view.py +0 -0
  281. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/workspace_view/_workspace_view_figure.py +0 -0
  282. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/workspace_view/_workspace_view_image_row.py +0 -0
  283. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/workspace_view/_workspace_view_mask_row.py +0 -0
  284. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/workspace_view/_workspace_view_measurement_row.py +0 -0
  285. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/workspace_view/_workspace_view_objects_row.py +0 -0
  286. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/gui/workspace_view/_workspace_view_row.py +0 -0
  287. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/icons/__init__.py +0 -0
  288. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/knime_bridge.py +0 -0
  289. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/misc.py +0 -0
  290. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/UntangleWorms.xsd +0 -0
  291. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/__init__.py +0 -0
  292. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/_help.py +0 -0
  293. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/calculatemath.py +0 -0
  294. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/calculatestatistics.py +0 -0
  295. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/classifyobjects.py +0 -0
  296. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/closing.py +0 -0
  297. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/colortogray.py +0 -0
  298. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/combineobjects.py +0 -0
  299. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/convertimagetoobjects.py +0 -0
  300. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/convertobjectstoimage.py +0 -0
  301. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/correctilluminationapply.py +0 -0
  302. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/correctilluminationcalculate.py +0 -0
  303. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/createbatchfiles.py +0 -0
  304. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/crop.py +0 -0
  305. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/definegrid.py +0 -0
  306. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/dilateimage.py +0 -0
  307. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/dilateobjects.py +0 -0
  308. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/displaydataonimage.py +0 -0
  309. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/displaydensityplot.py +0 -0
  310. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/displayhistogram.py +0 -0
  311. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/displayplatemap.py +0 -0
  312. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/displayscatterplot.py +0 -0
  313. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/editobjectsmanually.py +0 -0
  314. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/enhanceedges.py +0 -0
  315. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/enhanceorsuppressfeatures.py +0 -0
  316. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/erodeimage.py +0 -0
  317. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/erodeobjects.py +0 -0
  318. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/expandorshrinkobjects.py +0 -0
  319. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/exporttodatabase.py +0 -0
  320. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/exporttospreadsheet.py +0 -0
  321. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/fillobjects.py +0 -0
  322. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/filterobjects.py +0 -0
  323. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/findmaxima.py +0 -0
  324. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/flagimage.py +0 -0
  325. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/flipandrotate.py +0 -0
  326. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/gaussianfilter.py +0 -0
  327. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/graytocolor.py +0 -0
  328. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/identifydeadworms.py +0 -0
  329. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/identifyobjectsingrid.py +0 -0
  330. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/identifyobjectsmanually.py +0 -0
  331. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/identifyprimaryobjects.py +0 -0
  332. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/identifysecondaryobjects.py +0 -0
  333. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/identifytertiaryobjects.py +0 -0
  334. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/imagemath.py +0 -0
  335. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/invertforprinting.py +0 -0
  336. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/labelimages.py +0 -0
  337. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/makeprojection.py +0 -0
  338. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/maskimage.py +0 -0
  339. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/maskobjects.py +0 -0
  340. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/matchtemplate.py +0 -0
  341. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measurecolocalization.py +0 -0
  342. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measuregranularity.py +0 -0
  343. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measureimageareaoccupied.py +0 -0
  344. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measureimageintensity.py +0 -0
  345. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measureimageoverlap.py +0 -0
  346. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measureimagequality.py +0 -0
  347. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measureimageskeleton.py +0 -0
  348. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measureobjectintensity.py +0 -0
  349. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measureobjectintensitydistribution.py +0 -0
  350. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measureobjectneighbors.py +0 -0
  351. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measureobjectoverlap.py +0 -0
  352. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measureobjectsizeshape.py +0 -0
  353. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/measuretexture.py +0 -0
  354. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/medialaxis.py +0 -0
  355. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/medianfilter.py +0 -0
  356. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/morph.py +0 -0
  357. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/morphologicalskeleton.py +0 -0
  358. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/opening.py +0 -0
  359. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/overlayobjects.py +0 -0
  360. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/overlayoutlines.py +0 -0
  361. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/plugins/__init__.py +0 -0
  362. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/plugins/imagetemplate.py +0 -0
  363. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/plugins/measurementtemplate.py +0 -0
  364. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/plugins/segmentationtemplatewithdependencies.py +0 -0
  365. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/reducenoise.py +0 -0
  366. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/relateobjects.py +0 -0
  367. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/removeholes.py +0 -0
  368. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/rescaleintensity.py +0 -0
  369. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/resize.py +0 -0
  370. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/resizeobjects.py +0 -0
  371. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/runimagejmacro.py +0 -0
  372. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/savecroppedobjects.py +0 -0
  373. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/saveimages.py +0 -0
  374. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/shrinktoobjectcenters.py +0 -0
  375. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/smooth.py +0 -0
  376. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/splitormergeobjects.py +0 -0
  377. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/straightenworms.py +0 -0
  378. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/threshold.py +0 -0
  379. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/tile.py +0 -0
  380. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/trackobjects.py +0 -0
  381. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/unmixcolors.py +0 -0
  382. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/untangleworms.py +0 -0
  383. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/modules/watershed.py +0 -0
  384. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/utilities/__init__.py +0 -0
  385. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/utilities/morphology.py +0 -0
  386. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/cellprofiler/utilities/rules.py +0 -0
  387. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/environment.yml +0 -0
  388. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/pyproject.toml +0 -0
  389. {cellprofiler_nightly-5.0.0.dev554 → cellprofiler_nightly-5.0.0.dev562}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CellProfiler-nightly
3
- Version: 5.0.0.dev554
3
+ Version: 5.0.0.dev562
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.dev554
3
+ Version: 5.0.0.dev562
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.dev554'
32
- __version_tuple__ = version_tuple = (5, 0, 0, 'dev554')
31
+ __version__ = version = '5.0.0.dev562'
32
+ __version_tuple__ = version_tuple = (5, 0, 0, 'dev562')
33
33
 
34
- __commit_id__ = commit_id = 'g7151f72c8'
34
+ __commit_id__ = commit_id = 'g9d892da07'
@@ -60,11 +60,7 @@ Measurements made by this module
60
60
  """
61
61
 
62
62
  import os
63
-
64
- import centrosome.cpmorphology
65
- import centrosome.propagate as propagate
66
63
  import numpy
67
- import scipy.ndimage
68
64
  from cellprofiler_core.constants.measurement import COLTYPE_FLOAT
69
65
  from cellprofiler_core.constants.measurement import COLTYPE_INTEGER
70
66
  from cellprofiler_core.image import Image
@@ -82,31 +78,8 @@ from cellprofiler_core.setting.text import ImageName, Directory
82
78
  from cellprofiler_core.setting.text import Integer
83
79
  from cellprofiler_core.setting.text import Text
84
80
  from cellprofiler_core.utilities.core.object import size_similarly
85
- from centrosome.cpmorphology import fixup_scipy_ndimage_result as fix
86
- from scipy.ndimage import grey_dilation, grey_erosion
87
-
88
- """The measurement category"""
89
- C_OBJSKELETON = "ObjectSkeleton"
90
-
91
- """The trunk count feature"""
92
- F_NUMBER_TRUNKS = "NumberTrunks"
93
-
94
- """The branch feature"""
95
- F_NUMBER_NON_TRUNK_BRANCHES = "NumberNonTrunkBranches"
96
-
97
- """The endpoint feature"""
98
- F_NUMBER_BRANCH_ENDS = "NumberBranchEnds"
99
-
100
- """The neurite length feature"""
101
- F_TOTAL_OBJSKELETON_LENGTH = "TotalObjectSkeletonLength"
102
-
103
- F_ALL = [
104
- F_NUMBER_TRUNKS,
105
- F_NUMBER_NON_TRUNK_BRANCHES,
106
- F_NUMBER_BRANCH_ENDS,
107
- F_TOTAL_OBJSKELETON_LENGTH,
108
- ]
109
-
81
+ from cellprofiler_library.opts.measureobjectskeleton import SkeletonMeasurements, C_OBJSKELETON, F_ALL, edge_file_columns, vertex_file_columns
82
+ from cellprofiler_library.modules._measureobjectskeleton import measure_object_skeleton
110
83
 
111
84
  class MeasureObjectSkeleton(Module):
112
85
  module_name = "MeasureObjectSkeleton"
@@ -312,26 +285,6 @@ The file has the following columns:
312
285
  vertex_path = os.path.abspath(os.path.join(path, vertex_file))
313
286
  return edge_path, vertex_path
314
287
 
315
- VF_IMAGE_NUMBER = "image_number"
316
- VF_VERTEX_NUMBER = "vertex_number"
317
- VF_I = "i"
318
- VF_J = "j"
319
- VF_LABELS = "labels"
320
- VF_KIND = "kind"
321
- vertex_file_columns = (
322
- VF_IMAGE_NUMBER,
323
- VF_VERTEX_NUMBER,
324
- VF_I,
325
- VF_J,
326
- VF_LABELS,
327
- VF_KIND,
328
- )
329
- EF_IMAGE_NUMBER = "image_number"
330
- EF_V1 = "v1"
331
- EF_V2 = "v2"
332
- EF_LENGTH = "length"
333
- EF_TOTAL_INTENSITY = "total_intensity"
334
- edge_file_columns = (EF_IMAGE_NUMBER, EF_V1, EF_V2, EF_LENGTH, EF_TOTAL_INTENSITY)
335
288
 
336
289
  def prepare_run(self, workspace):
337
290
  """Initialize graph files"""
@@ -347,8 +300,8 @@ The file has the following columns:
347
300
  vertex_files.add(vertex_path)
348
301
 
349
302
  for file_path, header in (
350
- (edge_path, self.edge_file_columns),
351
- (vertex_path, self.vertex_file_columns),
303
+ (edge_path, edge_file_columns),
304
+ (vertex_path, vertex_file_columns),
352
305
  ):
353
306
  if os.path.exists(file_path):
354
307
  import wx
@@ -368,6 +321,8 @@ The file has the following columns:
368
321
  header = ",".join(header)
369
322
  fd.write(header + "\n")
370
323
  return True
324
+
325
+
371
326
 
372
327
  def run(self, workspace):
373
328
  """Run the module on the image set"""
@@ -376,7 +331,6 @@ The file has the following columns:
376
331
  seed_objects = workspace.object_set.get_objects(seed_objects_name)
377
332
  labels = seed_objects.segmented
378
333
  labels_count = numpy.max(labels)
379
- label_range = numpy.arange(labels_count, dtype=numpy.int32) + 1
380
334
 
381
335
  skeleton_image = workspace.image_set.get_image(
382
336
  skeleton_name, must_be_binary=True
@@ -389,211 +343,75 @@ The file has the following columns:
389
343
  except:
390
344
  labels, m1 = size_similarly(skeleton, labels)
391
345
  labels[~m1] = 0
392
- #
393
- # The following code makes a ring around the seed objects with
394
- # the skeleton trunks sticking out of it.
395
- #
396
- # Create a new skeleton with holes at the seed objects
397
- # First combine the seed objects with the skeleton so
398
- # that the skeleton trunks come out of the seed objects.
399
- #
400
- # Erode the labels once so that all of the trunk branchpoints
401
- # will be within the labels
402
- #
403
- #
404
- # Dilate the objects, then subtract them to make a ring
405
- #
406
- my_disk = centrosome.cpmorphology.strel_disk(1.5).astype(int)
407
- dilated_labels = grey_dilation(labels, footprint=my_disk)
408
- seed_mask = dilated_labels > 0
409
- combined_skel = skeleton | seed_mask
410
-
411
- closed_labels = grey_erosion(dilated_labels, footprint=my_disk)
412
- seed_center = closed_labels > 0
413
- combined_skel = combined_skel & (~seed_center)
414
- #
415
- # Fill in single holes (but not a one-pixel hole made by
416
- # a one-pixel image)
417
- #
418
- if self.wants_to_fill_holes:
419
-
420
- def size_fn(area, is_object):
421
- return (~is_object) and (area <= self.maximum_hole_size.value)
422
-
423
- combined_skel = centrosome.cpmorphology.fill_labeled_holes(
424
- combined_skel, ~seed_center, size_fn
425
- )
426
- #
427
- # Reskeletonize to make true branchpoints at the ring boundaries
428
- #
429
- combined_skel = centrosome.cpmorphology.skeletonize(combined_skel)
430
- #
431
- # The skeleton outside of the labels
432
- #
433
- outside_skel = combined_skel & (dilated_labels == 0)
434
- #
435
- # Associate all skeleton points with seed objects
436
- #
437
- dlabels, distance_map = propagate.propagate(
438
- numpy.zeros(labels.shape), dilated_labels, combined_skel, 1
439
- )
440
- #
441
- # Get rid of any branchpoints not connected to seeds
442
- #
443
- combined_skel[dlabels == 0] = False
444
- #
445
- # Find the branchpoints
446
- #
447
- branch_points = centrosome.cpmorphology.branchpoints(combined_skel)
448
- #
449
- # Odd case: when four branches meet like this, branchpoints are not
450
- # assigned because they are arbitrary. So assign them.
451
- #
452
- # . .
453
- # B.
454
- # .B
455
- # . .
456
- #
457
- odd_case = (
458
- combined_skel[:-1, :-1]
459
- & combined_skel[1:, :-1]
460
- & combined_skel[:-1, 1:]
461
- & combined_skel[1, 1]
462
- )
463
- branch_points[:-1, :-1][odd_case] = True
464
- branch_points[1:, 1:][odd_case] = True
465
- #
466
- # Find the branching counts for the trunks (# of extra branches
467
- # emanating from a point other than the line it might be on).
468
- #
469
- branching_counts = centrosome.cpmorphology.branchings(combined_skel)
470
- branching_counts = numpy.array([0, 0, 0, 1, 2])[branching_counts]
471
- #
472
- # Only take branches within 1 of the outside skeleton
473
- #
474
- dilated_skel = scipy.ndimage.binary_dilation(
475
- outside_skel, centrosome.cpmorphology.eight_connect
346
+ max_hole_size = self.maximum_hole_size.value
347
+ fill_small_holes = self.wants_to_fill_holes.value
348
+ intensity_image = None
349
+ if self.wants_objskeleton_graph:
350
+ intensity_image = workspace.image_set.get_image(self.intensity_image_name.value, must_be_grayscale=True)
351
+
352
+ lib_res = measure_object_skeleton(
353
+ seed_objects_name,
354
+ skeleton_name,
355
+ skeleton,
356
+ labels,
357
+ labels_count,
358
+ fill_small_holes,
359
+ max_hole_size,
360
+ self.wants_objskeleton_graph.value,
361
+ intensity_image.pixel_data if intensity_image else None,
362
+ self.wants_branchpoint_image.value
476
363
  )
477
- branching_counts[~dilated_skel] = 0
478
- #
479
- # Find the endpoints
480
- #
481
- end_points = centrosome.cpmorphology.endpoints(combined_skel)
482
- #
483
- # We use two ranges for classification here:
484
- # * anything within one pixel of the dilated image is a trunk
485
- # * anything outside of that range is a branch
486
- #
487
- nearby_labels = dlabels.copy()
488
- nearby_labels[distance_map > 1.5] = 0
489
-
490
- outside_labels = dlabels.copy()
491
- outside_labels[nearby_labels > 0] = 0
492
- #
493
- # The trunks are the branchpoints that lie within one pixel of
494
- # the dilated image.
495
- #
496
- if labels_count > 0:
497
- trunk_counts = fix(
498
- scipy.ndimage.sum(branching_counts, nearby_labels, label_range)
499
- ).astype(int)
500
- else:
501
- trunk_counts = numpy.zeros((0,), int)
502
- #
503
- # The branches are the branchpoints that lie outside the seed objects
504
- #
505
- if labels_count > 0:
506
- branch_counts = fix(
507
- scipy.ndimage.sum(branch_points, outside_labels, label_range)
508
- )
364
+ # rare case of not conditioning on self.show_window for display results here
365
+ # since we might need them even if/when show_window is False
366
+ if self.wants_branchpoint_image or self.wants_objskeleton_graph:
367
+ lib_measurements, lib_display = lib_res
509
368
  else:
510
- branch_counts = numpy.zeros((0,), int)
511
- #
512
- # Save the endpoints
513
- #
514
- if labels_count > 0:
515
- end_counts = fix(scipy.ndimage.sum(end_points, outside_labels, label_range))
516
- else:
517
- end_counts = numpy.zeros((0,), int)
518
- #
519
- # Calculate the distances
520
- #
521
- total_distance = centrosome.cpmorphology.skeleton_length(
522
- dlabels * outside_skel, label_range
523
- )
369
+ lib_measurements = lib_res
524
370
  #
525
371
  # Save measurements
526
372
  #
527
373
  m = workspace.measurements
528
374
  assert isinstance(m, Measurements)
529
- feature = "_".join((C_OBJSKELETON, F_NUMBER_TRUNKS, skeleton_name))
530
- m.add_measurement(seed_objects_name, feature, trunk_counts)
531
- feature = "_".join((C_OBJSKELETON, F_NUMBER_NON_TRUNK_BRANCHES, skeleton_name))
532
- m.add_measurement(seed_objects_name, feature, branch_counts)
533
- feature = "_".join((C_OBJSKELETON, F_NUMBER_BRANCH_ENDS, skeleton_name))
534
- m.add_measurement(seed_objects_name, feature, end_counts)
535
- feature = "_".join((C_OBJSKELETON, F_TOTAL_OBJSKELETON_LENGTH, skeleton_name))
536
- m[seed_objects_name, feature] = total_distance
375
+
376
+ for object_name, features in lib_measurements.objects.items():
377
+ for feature_name, values in features.items():
378
+ m.add_measurement(object_name, feature_name, values)
379
+
380
+ for feature_name, value in lib_measurements.image.items():
381
+ m.add_image_measurement(feature_name, value)
537
382
  #
538
383
  # Collect the graph information
539
384
  #
540
385
  if self.wants_objskeleton_graph:
541
- trunk_mask = (branching_counts > 0) & (nearby_labels != 0)
542
- intensity_image = workspace.image_set.get_image(
543
- self.intensity_image_name.value
544
- )
545
- edge_graph, vertex_graph = self.make_objskeleton_graph(
546
- combined_skel,
547
- dlabels,
548
- trunk_mask,
549
- branch_points & ~trunk_mask,
550
- end_points,
551
- intensity_image.pixel_data,
552
- )
553
-
554
- image_number = workspace.measurements.image_set_number
555
-
556
386
  edge_path, vertex_path = self.get_graph_file_paths(m, m.image_number)
557
387
  workspace.interaction_request(
558
388
  self,
559
389
  m.image_number,
560
390
  edge_path,
561
- edge_graph,
391
+ lib_display.edge_graph,
562
392
  vertex_path,
563
- vertex_graph,
393
+ lib_display.vertex_graph,
564
394
  headless_ok=True,
565
395
  )
566
396
 
567
397
  if self.show_window:
568
- workspace.display_data.edge_graph = edge_graph
569
- workspace.display_data.vertex_graph = vertex_graph
398
+ workspace.display_data.edge_graph = lib_display.edge_graph
399
+ workspace.display_data.vertex_graph = lib_display.vertex_graph
570
400
  workspace.display_data.intensity_image = intensity_image.pixel_data
571
401
  #
572
402
  # Make the display image
573
403
  #
574
- if self.show_window or self.wants_branchpoint_image:
575
- branchpoint_image = numpy.zeros((skeleton.shape[0], skeleton.shape[1], 3))
576
- trunk_mask = (branching_counts > 0) & (nearby_labels != 0)
577
- branch_mask = branch_points & (outside_labels != 0)
578
- end_mask = end_points & (outside_labels != 0)
579
- branchpoint_image[outside_skel, :] = 1
580
- branchpoint_image[trunk_mask | branch_mask | end_mask, :] = 0
581
- branchpoint_image[trunk_mask, 0] = 1
582
- branchpoint_image[branch_mask, 1] = 1
583
- branchpoint_image[end_mask, 2] = 1
584
- branchpoint_image[dilated_labels != 0, :] *= 0.875
585
- branchpoint_image[dilated_labels != 0, :] += 0.1
586
- if self.show_window:
587
- workspace.display_data.branchpoint_image = branchpoint_image
588
- if self.wants_branchpoint_image:
589
- bi = Image(branchpoint_image, parent_image=skeleton_image)
590
- workspace.image_set.add(self.branchpoint_image_name.value, bi)
404
+ if self.show_window:
405
+ workspace.display_data.branchpoint_image = lib_display.branchpoint_image
406
+ if self.wants_branchpoint_image:
407
+ bi = Image(lib_display.branchpoint_image, parent_image=skeleton_image)
408
+ workspace.image_set.add(self.branchpoint_image_name.value, bi)
591
409
 
592
410
  def handle_interaction(
593
411
  self, image_number, edge_path, edge_graph, vertex_path, vertex_graph
594
412
  ):
595
413
  columns = tuple(
596
- [vertex_graph[f].tolist() for f in self.vertex_file_columns[2:]]
414
+ [vertex_graph[f].tolist() for f in vertex_file_columns[2:]]
597
415
  )
598
416
  with open(vertex_path, "at") as fd:
599
417
  for vertex_number, fields in enumerate(zip(*columns)):
@@ -602,7 +420,7 @@ The file has the following columns:
602
420
  + ("%d,%d,%d,%s\n" % fields)
603
421
  )
604
422
 
605
- columns = tuple([edge_graph[f].tolist() for f in self.edge_file_columns[1:]])
423
+ columns = tuple([edge_graph[f].tolist() for f in edge_file_columns[1:]])
606
424
  with open(edge_path, "at") as fd:
607
425
  line_format = "%d,%%d,%%d,%%d,%%.4f\n" % image_number
608
426
  for fields in zip(*columns):
@@ -654,7 +472,7 @@ The file has the following columns:
654
472
  self.seed_objects_name.value,
655
473
  "_".join((C_OBJSKELETON, feature, self.image_name.value)),
656
474
  COLTYPE_FLOAT
657
- if feature == F_TOTAL_OBJSKELETON_LENGTH
475
+ if feature == SkeletonMeasurements.TOTAL_OBJSKELETON_LENGTH
658
476
  else COLTYPE_INTEGER,
659
477
  )
660
478
  for feature in F_ALL
@@ -722,202 +540,3 @@ The file has the following columns:
722
540
  ]
723
541
  variable_revision_number = 3
724
542
  return setting_values, variable_revision_number
725
-
726
- def make_objskeleton_graph(
727
- self, skeleton, skeleton_labels, trunks, branchpoints, endpoints, image
728
- ):
729
- """Make a table that captures the graph relationship of the skeleton
730
-
731
- skeleton - binary skeleton image + outline of seed objects
732
- skeleton_labels - labels matrix of skeleton
733
- trunks - binary image with trunk points as 1
734
- branchpoints - binary image with branchpoints as 1
735
- endpoints - binary image with endpoints as 1
736
- image - image for intensity measurement
737
-
738
- returns two tables.
739
- Table 1: edge table
740
- The edge table is a numpy record array with the following named
741
- columns in the following order:
742
- v1: index into vertex table of first vertex of edge
743
- v2: index into vertex table of second vertex of edge
744
- length: # of intermediate pixels + 2 (for two vertices)
745
- total_intensity: sum of intensities along the edge
746
-
747
- Table 2: vertex table
748
- The vertex table is a numpy record array:
749
- i: I coordinate of the vertex
750
- j: J coordinate of the vertex
751
- label: the vertex's label
752
- kind: kind of vertex = "T" for trunk, "B" for branchpoint or "E" for endpoint.
753
- """
754
- i, j = numpy.mgrid[0 : skeleton.shape[0], 0 : skeleton.shape[1]]
755
- #
756
- # Give each point of interest a unique number
757
- #
758
- points_of_interest = trunks | branchpoints | endpoints
759
- number_of_points = numpy.sum(points_of_interest)
760
- #
761
- # Make up the vertex table
762
- #
763
- tbe = numpy.zeros(points_of_interest.shape, "|S1")
764
- tbe[trunks] = "T"
765
- tbe[branchpoints] = "B"
766
- tbe[endpoints] = "E"
767
- i_idx = i[points_of_interest]
768
- j_idx = j[points_of_interest]
769
- poe_labels = skeleton_labels[points_of_interest]
770
- tbe = tbe[points_of_interest]
771
- vertex_table = {
772
- self.VF_I: i_idx,
773
- self.VF_J: j_idx,
774
- self.VF_LABELS: poe_labels,
775
- self.VF_KIND: tbe,
776
- }
777
- #
778
- # First, break the skeleton by removing the branchpoints, endpoints
779
- # and trunks
780
- #
781
- broken_skeleton = skeleton & (~points_of_interest)
782
- #
783
- # Label the broken skeleton: this labels each edge differently
784
- #
785
- edge_labels, nlabels = centrosome.cpmorphology.label_skeleton(skeleton)
786
- #
787
- # Reindex after removing the points of interest
788
- #
789
- edge_labels[points_of_interest] = 0
790
- if nlabels > 0:
791
- indexer = numpy.arange(nlabels + 1)
792
- unique_labels = numpy.sort(numpy.unique(edge_labels))
793
- nlabels = len(unique_labels) - 1
794
- indexer[unique_labels] = numpy.arange(len(unique_labels))
795
- edge_labels = indexer[edge_labels]
796
- #
797
- # find magnitudes and lengths for all edges
798
- #
799
- magnitudes = fix(
800
- scipy.ndimage.sum(
801
- image, edge_labels, numpy.arange(1, nlabels + 1, dtype=numpy.int32)
802
- )
803
- )
804
- lengths = fix(
805
- scipy.ndimage.sum(
806
- numpy.ones(edge_labels.shape),
807
- edge_labels,
808
- numpy.arange(1, nlabels + 1, dtype=numpy.int32),
809
- )
810
- ).astype(int)
811
- else:
812
- magnitudes = numpy.zeros(0)
813
- lengths = numpy.zeros(0, int)
814
- #
815
- # combine the edge labels and indexes of points of interest with padding
816
- #
817
- edge_mask = edge_labels != 0
818
- all_labels = numpy.zeros(numpy.array(edge_labels.shape) + 2, int)
819
- all_labels[1:-1, 1:-1][edge_mask] = edge_labels[edge_mask] + number_of_points
820
- all_labels[i_idx + 1, j_idx + 1] = numpy.arange(1, number_of_points + 1)
821
- #
822
- # Collect all 8 neighbors for each point of interest
823
- #
824
- p1 = numpy.zeros(0, int)
825
- p2 = numpy.zeros(0, int)
826
- for i_off, j_off in (
827
- (0, 0),
828
- (0, 1),
829
- (0, 2),
830
- (1, 0),
831
- (1, 2),
832
- (2, 0),
833
- (2, 1),
834
- (2, 2),
835
- ):
836
- p1 = numpy.hstack((p1, numpy.arange(1, number_of_points + 1)))
837
- p2 = numpy.hstack((p2, all_labels[i_idx + i_off, j_idx + j_off]))
838
- #
839
- # Get rid of zeros which are background
840
- #
841
- p1 = p1[p2 != 0]
842
- p2 = p2[p2 != 0]
843
- #
844
- # Find point_of_interest -> point_of_interest connections.
845
- #
846
- p1_poi = p1[(p2 <= number_of_points) & (p1 < p2)]
847
- p2_poi = p2[(p2 <= number_of_points) & (p1 < p2)]
848
- #
849
- # Make sure matches are labeled the same
850
- #
851
- same_labels = (
852
- skeleton_labels[i_idx[p1_poi - 1], j_idx[p1_poi - 1]]
853
- == skeleton_labels[i_idx[p2_poi - 1], j_idx[p2_poi - 1]]
854
- )
855
- p1_poi = p1_poi[same_labels]
856
- p2_poi = p2_poi[same_labels]
857
- #
858
- # Find point_of_interest -> edge
859
- #
860
- p1_edge = p1[p2 > number_of_points]
861
- edge = p2[p2 > number_of_points]
862
- #
863
- # Now, each value that p2_edge takes forms a group and all
864
- # p1_edge whose p2_edge are connected together by the edge.
865
- # Possibly they touch each other without the edge, but we will
866
- # take the minimum distance connecting each pair to throw out
867
- # the edge.
868
- #
869
- edge, p1_edge, p2_edge = centrosome.cpmorphology.pairwise_permutations(
870
- edge, p1_edge
871
- )
872
- indexer = edge - number_of_points - 1
873
- lengths = lengths[indexer]
874
- magnitudes = magnitudes[indexer]
875
- #
876
- # OK, now we make the edge table. First poi<->poi. Length = 2,
877
- # magnitude = magnitude at each point
878
- #
879
- poi_length = numpy.ones(len(p1_poi)) * 2
880
- poi_magnitude = (
881
- image[i_idx[p1_poi - 1], j_idx[p1_poi - 1]]
882
- + image[i_idx[p2_poi - 1], j_idx[p2_poi - 1]]
883
- )
884
- #
885
- # Now the edges...
886
- #
887
- poi_edge_length = lengths + 2
888
- poi_edge_magnitude = (
889
- image[i_idx[p1_edge - 1], j_idx[p1_edge - 1]]
890
- + image[i_idx[p2_edge - 1], j_idx[p2_edge - 1]]
891
- + magnitudes
892
- )
893
- #
894
- # Put together the columns
895
- #
896
- v1 = numpy.hstack((p1_poi, p1_edge))
897
- v2 = numpy.hstack((p2_poi, p2_edge))
898
- lengths = numpy.hstack((poi_length, poi_edge_length))
899
- magnitudes = numpy.hstack((poi_magnitude, poi_edge_magnitude))
900
- #
901
- # Sort by p1, p2 and length in order to pick the shortest length
902
- #
903
- indexer = numpy.lexsort((lengths, v1, v2))
904
- v1 = v1[indexer]
905
- v2 = v2[indexer]
906
- lengths = lengths[indexer]
907
- magnitudes = magnitudes[indexer]
908
- if len(v1) > 0:
909
- to_keep = numpy.hstack(([True], (v1[1:] != v1[:-1]) | (v2[1:] != v2[:-1])))
910
- v1 = v1[to_keep]
911
- v2 = v2[to_keep]
912
- lengths = lengths[to_keep]
913
- magnitudes = magnitudes[to_keep]
914
- #
915
- # Put it all together into a table
916
- #
917
- edge_table = {
918
- self.EF_V1: v1,
919
- self.EF_V2: v2,
920
- self.EF_LENGTH: lengths,
921
- self.EF_TOTAL_INTENSITY: magnitudes,
922
- }
923
- return edge_table, vertex_table