CellProfiler-nightly 5.0.0.dev738__tar.gz → 5.0.0.dev780__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 (394) hide show
  1. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/CellProfiler_nightly.egg-info/PKG-INFO +1 -1
  2. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/CellProfiler_nightly.egg-info/SOURCES.txt +2 -0
  3. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/CellProfiler_nightly.egg-info/scm_file_list.json +2 -0
  4. cellprofiler_nightly-5.0.0.dev780/CellProfiler_nightly.egg-info/scm_version.json +8 -0
  5. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/PKG-INFO +1 -1
  6. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/_version.py +3 -3
  7. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/addmoduleframe.py +3 -1
  8. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/app.py +14 -3
  9. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/cpframe.py +35 -1
  10. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/dialog.py +2 -2
  11. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/errordialog.py +1 -1
  12. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/module_view/_module_view.py +178 -1
  13. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/pipelinecontroller.py +6 -5
  14. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/pipelinelistview.py +8 -2
  15. cellprofiler_nightly-5.0.0.dev780/cellprofiler/gui/plugins_dialog/_plugins_dialog.py +333 -0
  16. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measureobjectsizeshape.py +12 -11
  17. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/splitormergeobjects.py +103 -280
  18. cellprofiler_nightly-5.0.0.dev780/cellprofiler/utilities/__init__.py +0 -0
  19. cellprofiler_nightly-5.0.0.dev738/CellProfiler_nightly.egg-info/scm_version.json +0 -8
  20. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/CellProfiler_nightly.egg-info/dependency_links.txt +0 -0
  21. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/CellProfiler_nightly.egg-info/entry_points.txt +0 -0
  22. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/CellProfiler_nightly.egg-info/requires.txt +0 -0
  23. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/CellProfiler_nightly.egg-info/top_level.txt +0 -0
  24. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/LICENSE +0 -0
  25. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/README.md +0 -0
  26. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/__init__.py +0 -0
  27. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/__main__.py +0 -0
  28. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/examples/ExampleFly/ExampleFly.cppipe +0 -0
  29. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/examples/ExampleFly/images/01_POS002_D.TIF +0 -0
  30. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/examples/ExampleFly/images/01_POS002_F.TIF +0 -0
  31. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/examples/ExampleFly/images/01_POS002_R.TIF +0 -0
  32. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/examples/ExampleFly/images/01_POS076_D.TIF +0 -0
  33. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/examples/ExampleFly/images/01_POS076_F.TIF +0 -0
  34. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/examples/ExampleFly/images/01_POS076_R.TIF +0 -0
  35. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/examples/ExampleFly/images/01_POS218_D.TIF +0 -0
  36. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/examples/ExampleFly/images/01_POS218_F.TIF +0 -0
  37. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/examples/ExampleFly/images/01_POS218_R.TIF +0 -0
  38. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/display_image_tools.rst +0 -0
  39. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/display_interactive_navigation.rst +0 -0
  40. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/display_menu_bar.rst +0 -0
  41. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/legacy_matlab_image.rst +0 -0
  42. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/navigation_edit_menu.rst +0 -0
  43. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/navigation_file_menu.rst +0 -0
  44. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/navigation_test_menu.rst +0 -0
  45. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/navigation_window_menu.rst +0 -0
  46. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/other_3d_identify.rst +0 -0
  47. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/other_batch.rst +0 -0
  48. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/other_logging.rst +0 -0
  49. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/other_omero.rst +0 -0
  50. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/other_plugins.rst +0 -0
  51. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/other_shell.rst +0 -0
  52. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/other_troubleshooting.rst +0 -0
  53. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/other_widget_inspector.rst +0 -0
  54. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/output_measurements.rst +0 -0
  55. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/output_plateviewer.rst +0 -0
  56. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/output_spreadsheets.rst +0 -0
  57. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/pipelines_building.rst +0 -0
  58. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/pipelines_running.rst +0 -0
  59. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/projects_configure_images.rst +0 -0
  60. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/projects_image_ordering.rst +0 -0
  61. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/projects_image_sequences.rst +0 -0
  62. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/projects_introduction.rst +0 -0
  63. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/projects_selecting_images.rst +0 -0
  64. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/help/why_use_cellprofiler.rst +0 -0
  65. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler-favicon-120.png +0 -0
  66. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler-favicon-128.png +0 -0
  67. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler-favicon-144.png +0 -0
  68. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler-favicon-152.png +0 -0
  69. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler-favicon-195.png +0 -0
  70. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler-favicon-228.png +0 -0
  71. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler-favicon-32.png +0 -0
  72. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler-favicon-57.png +0 -0
  73. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler-favicon-72.png +0 -0
  74. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler-favicon-96.png +0 -0
  75. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler-favicon.ico +0 -0
  76. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler.ai +0 -0
  77. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler.icns +0 -0
  78. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler.ico +0 -0
  79. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler.png +0 -0
  80. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler.svg +0 -0
  81. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/icons/CellProfiler_square.svg +0 -0
  82. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Align.png +0 -0
  83. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/ApplyThreshold.png +0 -0
  84. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/CollapseTree.png +0 -0
  85. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/ColorToGray.png +0 -0
  86. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/CorrectIlluminationApply.png +0 -0
  87. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/CorrectIlluminationCalculate.png +0 -0
  88. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Crop.png +0 -0
  89. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/ExpandOrShrinkObjects.png +0 -0
  90. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/ExpandTree.png +0 -0
  91. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/GrayToColor.png +0 -0
  92. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Groups_ExampleDisplayTable.png +0 -0
  93. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_ANALYZED.png +0 -0
  94. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_ANALYZE_16.png +0 -0
  95. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_ANALYZE_24.png +0 -0
  96. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_CLOSED_EYE.png +0 -0
  97. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_DISABLED.png +0 -0
  98. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_ERROR.png +0 -0
  99. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_EYE.png +0 -0
  100. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_GO.png +0 -0
  101. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_GO_DIM.png +0 -0
  102. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_IMAGE.png +0 -0
  103. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_MEASURE.png +0 -0
  104. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_OK.png +0 -0
  105. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_PAUSE.png +0 -0
  106. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_RUN.png +0 -0
  107. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_SLIDER.png +0 -0
  108. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_SLIDER_ACTIVE.png +0 -0
  109. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_STOP.png +0 -0
  110. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_TEST.png +0 -0
  111. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_UNAVAILABLE.png +0 -0
  112. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_UPDATE.png +0 -0
  113. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_USE_INPUT.png +0 -0
  114. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_USE_OUTPUT.png +0 -0
  115. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_USE_SOURCE.png +0 -0
  116. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IMG_WARN.png +0 -0
  117. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IdentifyPrimaryObjects_IntensityDeclumping.png +0 -0
  118. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IdentifyPrimaryObjects_ShapeDeclumping.png +0 -0
  119. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IdentifySecondaryObjects.png +0 -0
  120. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/IdentifyTertiaryObjects.png +0 -0
  121. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Images_FilelistPanel.png +0 -0
  122. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Images_FilelistPanel_Blank.png +0 -0
  123. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Images_FilelistPanel_Filled.png +0 -0
  124. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Images_UsingRules.png +0 -0
  125. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/MeasureGranularity_example.png +0 -0
  126. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/MeasureImageAreaOccupied.png +0 -0
  127. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/MeasureObjectIntensityDistribution_Edges_Centers.png +0 -0
  128. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/MeasureObjectIntensityDistribution_Magnitude_Phase.png +0 -0
  129. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/MeasureObjectSizeShape_Eccentricity.png +0 -0
  130. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/MeasureTexture.png +0 -0
  131. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Measure_texture_3D_correspondences_1.png +0 -0
  132. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Measure_texture_3D_correspondences_1_highres.png +0 -0
  133. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Measure_texture_3D_correspondences_2.png +0 -0
  134. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Measure_texture_3D_correspondences_2_highres.png +0 -0
  135. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Metadata_ExampleDisplayTable.png +0 -0
  136. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/NamesAndTypes_ExampleDisplayTable.png +0 -0
  137. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/Tile.png +0 -0
  138. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/UnmixColors.png +0 -0
  139. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/check.png +0 -0
  140. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/color.png +0 -0
  141. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/cp_panel_schematic.png +0 -0
  142. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/dapi.png +0 -0
  143. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/delete.png +0 -0
  144. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/downarrow.png +0 -0
  145. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/eye-close.png +0 -0
  146. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/eye-open.png +0 -0
  147. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/ffwd.png +0 -0
  148. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/ffwddisabled.png +0 -0
  149. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/filter.png +0 -0
  150. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/folder_browse.png +0 -0
  151. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/folder_create.png +0 -0
  152. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/gear.png +0 -0
  153. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/gfp.png +0 -0
  154. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/icon_copyrights.txt +0 -0
  155. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/illumination_function.png +0 -0
  156. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/image_to_object_dataflow.png +0 -0
  157. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/image_to_object_dataflow.psd +0 -0
  158. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/mask.png +0 -0
  159. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/microscope-color_16.png +0 -0
  160. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/microscope-icon_16.png +0 -0
  161. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/microscope-icon_32.png +0 -0
  162. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/microscopes_16.png +0 -0
  163. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/module_add.png +0 -0
  164. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/module_help.png +0 -0
  165. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/module_movedown.png +0 -0
  166. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/module_moveup.png +0 -0
  167. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/module_remove.png +0 -0
  168. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/monochrome.png +0 -0
  169. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/movie_16.png +0 -0
  170. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/next.png +0 -0
  171. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/objects.png +0 -0
  172. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/pause.png +0 -0
  173. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/pausedisabled.png +0 -0
  174. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/play.png +0 -0
  175. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/playdisabled.png +0 -0
  176. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/previous.png +0 -0
  177. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/remove-sign.png +0 -0
  178. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/rewind.png +0 -0
  179. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/rewinddisabled.png +0 -0
  180. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/splash-black-text-alpha.png +0 -0
  181. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/splash-white-text-alpha.png +0 -0
  182. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/splash.png +0 -0
  183. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/status_pause.png +0 -0
  184. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/status_save.png +0 -0
  185. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/status_stop.png +0 -0
  186. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/stop.png +0 -0
  187. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/stopdisabled.png +0 -0
  188. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/structuringelement.png +0 -0
  189. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/thumb-down.png +0 -0
  190. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/thumb-up.png +0 -0
  191. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/unchecked.png +0 -0
  192. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/wantpony.wav +0 -0
  193. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/welcome_examples.png +0 -0
  194. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/welcome_forum.png +0 -0
  195. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/welcome_help.png +0 -0
  196. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/welcome_manual.png +0 -0
  197. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/welcome_new.png +0 -0
  198. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/welcome_pipeline.png +0 -0
  199. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/welcome_screen_help.png +0 -0
  200. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/welcome_start.png +0 -0
  201. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/welcome_tutorial.png +0 -0
  202. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/welcomescreen_forum.png +0 -0
  203. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/welcomescreen_manual.png +0 -0
  204. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/welcomescreen_tutorials.png +0 -0
  205. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/window_back.png +0 -0
  206. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/window_filesave.png +0 -0
  207. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/window_forward.png +0 -0
  208. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/window_home.png +0 -0
  209. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/window_pan.png +0 -0
  210. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/data/images/window_zoom_to_rect.png +0 -0
  211. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/__init__.py +0 -0
  212. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/_tree_checkbox_dialog.py +0 -0
  213. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/_welcome_frame.py +0 -0
  214. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/_workspace_model.py +0 -0
  215. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/artist.py +0 -0
  216. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/checkupdate.py +0 -0
  217. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/constants/__init__.py +0 -0
  218. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/constants/figure.py +0 -0
  219. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/constants/module_view.py +0 -0
  220. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/constants/preferences_dialog.py +0 -0
  221. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/constants/preferences_view.py +0 -0
  222. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/constants/workspace_view.py +0 -0
  223. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/editobjectsdlg.py +0 -0
  224. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/figure/__init__.py +0 -0
  225. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/figure/_figure.py +0 -0
  226. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/figure/_navigation_toolbar.py +0 -0
  227. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/figure/_outline_artist.py +0 -0
  228. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/gridrenderers.py +0 -0
  229. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/help/__init__.py +0 -0
  230. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/help/content.py +0 -0
  231. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/help/menu.py +0 -0
  232. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/help/search.py +0 -0
  233. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/__init__.py +0 -0
  234. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/configure_images_help.html +0 -0
  235. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/exporting_results_help.html +0 -0
  236. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/getting_started.html +0 -0
  237. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/htmlwindow.py +0 -0
  238. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/identify_features_help.html +0 -0
  239. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/in_app_help.html +0 -0
  240. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/making_measurements_help.html +0 -0
  241. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/running_pipeline_help.html +0 -0
  242. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/selecting_images_help.html +0 -0
  243. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/test_mode_help.html +0 -0
  244. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/utils.py +0 -0
  245. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/html/welcome.html +0 -0
  246. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/htmldialog.py +0 -0
  247. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/imagesetctrl.py +0 -0
  248. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/menu.py +0 -0
  249. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/metadatactrl.py +0 -0
  250. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/module_view/__init__.py +0 -0
  251. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/module_view/_binary_matrix_controller.py +0 -0
  252. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/module_view/_data_type_controller.py +0 -0
  253. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/module_view/_file_collection_display_controller.py +0 -0
  254. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/module_view/_filter_panel_controller.py +0 -0
  255. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/module_view/_joiner_controller.py +0 -0
  256. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/module_view/_module_sizer.py +0 -0
  257. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/module_view/_setting_edited_event.py +0 -0
  258. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/module_view/_table_controller.py +0 -0
  259. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/module_view/_validation_request_controller.py +0 -0
  260. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/moduleview.py +0 -0
  261. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/namesubscriber.py +0 -0
  262. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/omerologin.py +0 -0
  263. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/parametersampleframe.py +0 -0
  264. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/pathlist.py +0 -0
  265. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/pipeline.py +0 -0
  266. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/plateviewer.py +0 -0
  267. {cellprofiler_nightly-5.0.0.dev738/cellprofiler/gui/preferences_dialog → cellprofiler_nightly-5.0.0.dev780/cellprofiler/gui/plugins_dialog}/__init__.py +0 -0
  268. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/plugins_menu.py +0 -0
  269. {cellprofiler_nightly-5.0.0.dev738/cellprofiler/gui/readers_dialog → cellprofiler_nightly-5.0.0.dev780/cellprofiler/gui/preferences_dialog}/__init__.py +0 -0
  270. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/preferences_dialog/_integer_preference.py +0 -0
  271. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/preferences_dialog/_preferences_dialog.py +0 -0
  272. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/preferences_view/__init__.py +0 -0
  273. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/preferences_view/_preferences_view.py +0 -0
  274. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/preferences_view/_progress_watcher.py +0 -0
  275. {cellprofiler_nightly-5.0.0.dev738/cellprofiler/gui/utilities → cellprofiler_nightly-5.0.0.dev780/cellprofiler/gui/readers_dialog}/__init__.py +0 -0
  276. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/readers_dialog/_readers_dialog.py +0 -0
  277. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/regexp_editor.py +0 -0
  278. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/tools.py +0 -0
  279. {cellprofiler_nightly-5.0.0.dev738/cellprofiler → cellprofiler_nightly-5.0.0.dev780/cellprofiler/gui}/utilities/__init__.py +0 -0
  280. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/utilities/figure.py +0 -0
  281. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/utilities/icon.py +0 -0
  282. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/utilities/module_view.py +0 -0
  283. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/utilities/preferences_dialog.py +0 -0
  284. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/utilities/preferences_view.py +0 -0
  285. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/utilities/workspace_view.py +0 -0
  286. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/workspace_view/__init__.py +0 -0
  287. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/workspace_view/_workspace_view.py +0 -0
  288. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/workspace_view/_workspace_view_figure.py +0 -0
  289. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/workspace_view/_workspace_view_image_row.py +0 -0
  290. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/workspace_view/_workspace_view_mask_row.py +0 -0
  291. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/workspace_view/_workspace_view_measurement_row.py +0 -0
  292. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/workspace_view/_workspace_view_objects_row.py +0 -0
  293. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/gui/workspace_view/_workspace_view_row.py +0 -0
  294. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/icons/__init__.py +0 -0
  295. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/knime_bridge.py +0 -0
  296. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/misc.py +0 -0
  297. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/UntangleWorms.xsd +0 -0
  298. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/__init__.py +0 -0
  299. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/_help.py +0 -0
  300. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/calculatemath.py +0 -0
  301. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/calculatestatistics.py +0 -0
  302. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/classifyobjects.py +0 -0
  303. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/closing.py +0 -0
  304. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/colortogray.py +0 -0
  305. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/combineobjects.py +0 -0
  306. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/convertimagetoobjects.py +0 -0
  307. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/convertobjectstoimage.py +0 -0
  308. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/correctilluminationapply.py +0 -0
  309. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/correctilluminationcalculate.py +0 -0
  310. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/createbatchfiles.py +0 -0
  311. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/crop.py +0 -0
  312. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/definegrid.py +0 -0
  313. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/dilateimage.py +0 -0
  314. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/dilateobjects.py +0 -0
  315. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/displaydataonimage.py +0 -0
  316. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/displaydensityplot.py +0 -0
  317. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/displayhistogram.py +0 -0
  318. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/displayplatemap.py +0 -0
  319. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/displayscatterplot.py +0 -0
  320. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/editobjectsmanually.py +0 -0
  321. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/enhanceedges.py +0 -0
  322. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/enhanceorsuppressfeatures.py +0 -0
  323. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/erodeimage.py +0 -0
  324. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/erodeobjects.py +0 -0
  325. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/expandorshrinkobjects.py +0 -0
  326. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/exporttodatabase.py +0 -0
  327. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/exporttospreadsheet.py +0 -0
  328. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/fillobjects.py +0 -0
  329. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/filterobjects.py +0 -0
  330. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/findmaxima.py +0 -0
  331. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/flagimage.py +0 -0
  332. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/flipandrotate.py +0 -0
  333. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/gaussianfilter.py +0 -0
  334. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/graytocolor.py +0 -0
  335. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/identifydeadworms.py +0 -0
  336. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/identifyobjectsingrid.py +0 -0
  337. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/identifyobjectsmanually.py +0 -0
  338. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/identifyprimaryobjects.py +0 -0
  339. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/identifysecondaryobjects.py +0 -0
  340. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/identifytertiaryobjects.py +0 -0
  341. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/imagemath.py +0 -0
  342. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/invertforprinting.py +0 -0
  343. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/labelimages.py +0 -0
  344. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/makeprojection.py +0 -0
  345. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/maskimage.py +0 -0
  346. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/maskobjects.py +0 -0
  347. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/matchtemplate.py +0 -0
  348. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measurecolocalization.py +0 -0
  349. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measuregranularity.py +0 -0
  350. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measureimageareaoccupied.py +0 -0
  351. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measureimageintensity.py +0 -0
  352. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measureimageoverlap.py +0 -0
  353. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measureimagequality.py +0 -0
  354. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measureimageskeleton.py +0 -0
  355. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measureobjectintensity.py +0 -0
  356. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measureobjectintensitydistribution.py +0 -0
  357. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measureobjectneighbors.py +0 -0
  358. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measureobjectoverlap.py +0 -0
  359. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measureobjectskeleton.py +0 -0
  360. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/measuretexture.py +0 -0
  361. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/medialaxis.py +0 -0
  362. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/medianfilter.py +0 -0
  363. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/morph.py +0 -0
  364. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/morphologicalskeleton.py +0 -0
  365. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/opening.py +0 -0
  366. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/overlayobjects.py +0 -0
  367. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/overlayoutlines.py +0 -0
  368. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/plugins/__init__.py +0 -0
  369. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/plugins/imagetemplate.py +0 -0
  370. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/plugins/measurementtemplate.py +0 -0
  371. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/plugins/segmentationtemplatewithdependencies.py +0 -0
  372. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/reducenoise.py +0 -0
  373. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/relateobjects.py +0 -0
  374. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/removeholes.py +0 -0
  375. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/rescaleintensity.py +0 -0
  376. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/resize.py +0 -0
  377. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/resizeobjects.py +0 -0
  378. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/runimagejmacro.py +0 -0
  379. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/savecroppedobjects.py +0 -0
  380. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/saveimages.py +0 -0
  381. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/shrinktoobjectcenters.py +0 -0
  382. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/smooth.py +0 -0
  383. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/straightenworms.py +0 -0
  384. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/threshold.py +0 -0
  385. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/tile.py +0 -0
  386. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/trackobjects.py +0 -0
  387. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/unmixcolors.py +0 -0
  388. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/untangleworms.py +0 -0
  389. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/modules/watershed.py +0 -0
  390. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/utilities/morphology.py +0 -0
  391. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/cellprofiler/utilities/rules.py +0 -0
  392. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/environment.yml +0 -0
  393. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/pyproject.toml +0 -0
  394. {cellprofiler_nightly-5.0.0.dev738 → cellprofiler_nightly-5.0.0.dev780}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CellProfiler-nightly
3
- Version: 5.0.0.dev738
3
+ Version: 5.0.0.dev780
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>
@@ -265,6 +265,8 @@ cellprofiler/gui/module_view/_module_view.py
265
265
  cellprofiler/gui/module_view/_setting_edited_event.py
266
266
  cellprofiler/gui/module_view/_table_controller.py
267
267
  cellprofiler/gui/module_view/_validation_request_controller.py
268
+ cellprofiler/gui/plugins_dialog/__init__.py
269
+ cellprofiler/gui/plugins_dialog/_plugins_dialog.py
268
270
  cellprofiler/gui/preferences_dialog/__init__.py
269
271
  cellprofiler/gui/preferences_dialog/_integer_preference.py
270
272
  cellprofiler/gui/preferences_dialog/_preferences_dialog.py
@@ -251,6 +251,8 @@
251
251
  "cellprofiler/gui/pipelinecontroller.py",
252
252
  "cellprofiler/gui/pipelinelistview.py",
253
253
  "cellprofiler/gui/plateviewer.py",
254
+ "cellprofiler/gui/plugins_dialog/__init__.py",
255
+ "cellprofiler/gui/plugins_dialog/_plugins_dialog.py",
254
256
  "cellprofiler/gui/plugins_menu.py",
255
257
  "cellprofiler/gui/preferences_dialog/__init__.py",
256
258
  "cellprofiler/gui/preferences_dialog/_integer_preference.py",
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "5.0.0.dev0",
3
+ "distance": 780,
4
+ "node": "g47767c21273bea8ddb5735133de994866802bd75",
5
+ "dirty": true,
6
+ "branch": "main",
7
+ "node_date": "2026-10-16"
8
+ }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: CellProfiler-nightly
3
- Version: 5.0.0.dev738
3
+ Version: 5.0.0.dev780
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>
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '5.0.0.dev738'
22
- __version_tuple__ = version_tuple = (5, 0, 0, 'dev738')
21
+ __version__ = version = '5.0.0.dev780'
22
+ __version_tuple__ = version_tuple = (5, 0, 0, 'dev780')
23
23
 
24
- __commit_id__ = commit_id = 'g03f79f7e2'
24
+ __commit_id__ = commit_id = 'g47767c212'
@@ -8,6 +8,7 @@ from cellprofiler_core.utilities.core.modules import (
8
8
  instantiate_module,
9
9
  get_module_class,
10
10
  )
11
+ from cellprofiler_core.utilities.core.plugins import get_module_display_name
11
12
 
12
13
  import cellprofiler.gui
13
14
  import cellprofiler.gui.cpframe
@@ -166,11 +167,12 @@ class AddModuleFrame(wx.Frame):
166
167
  if isinstance(module.category, str)
167
168
  else list(module.category)
168
169
  ) + ["All"]
170
+ display_name = get_module_display_name(module)
169
171
  for category in categories:
170
172
  if category not in self.__module_files:
171
173
  self.__module_files.insert(-2, category)
172
174
  self.__module_dict[category] = {}
173
- self.__module_dict[category][module.module_name] = loader
175
+ self.__module_dict[category][display_name] = loader
174
176
  except Exception as e:
175
177
  import traceback
176
178
  import logging
@@ -6,6 +6,7 @@ import sys
6
6
  import sentry_sdk
7
7
  import wx
8
8
  import wx.lib.inspection
9
+ from cellprofiler_core.preferences import APP_NAME
9
10
  from cellprofiler_core.preferences import get_telemetry_prompt
10
11
  from cellprofiler_core.preferences import get_telemetry
11
12
  from cellprofiler_core.preferences import set_telemetry
@@ -70,9 +71,19 @@ class App(wx.App):
70
71
 
71
72
  # wx.lib.inspection.InspectionTool().Show()
72
73
 
73
- self.SetAppName("CellProfiler{0:s}".format(cellprofiler_version))
74
-
75
- self.frame = CPFrame(None, -1, "CellProfiler")
74
+ # WARN: APP_NAME also names the user data directory
75
+ # (cellprofiler_core.preferences.get_user_data_directory), where the
76
+ # official plugins live, and the user config directory
77
+ # (cellprofiler_core.preferences.get_user_config_directory), where the
78
+ # config file lives.
79
+ # Be careful changing this, as it will change the config file location,
80
+ # and where official plugins live.
81
+ self.SetAppName(APP_NAME)
82
+ self.SetAppDisplayName("{0:s} {1:s}".format(APP_NAME, cellprofiler_version))
83
+ # useful for Linux - e.g. window manager's "class hint"
84
+ self.SetClassName(APP_NAME)
85
+
86
+ self.frame = CPFrame(None, -1, APP_NAME)
76
87
 
77
88
  self.frame.start(self.workspace_path, self.pipeline_path)
78
89
 
@@ -40,6 +40,7 @@ from .pipelinecontroller import PipelineController
40
40
  from .pipelinelistview import PipelineListView
41
41
  from .preferences_dialog._preferences_dialog import PreferencesDialog
42
42
  from .readers_dialog._readers_dialog import ReadersDialog
43
+ from .plugins_dialog._plugins_dialog import PluginsDialog
43
44
  from .preferences_view import PreferencesView
44
45
  from .utilities.module_view import stop_validation_queue_thread
45
46
 
@@ -119,6 +120,7 @@ ID_FIND_USAGES = wx.NewId()
119
120
 
120
121
  ID_OPTIONS_PREFERENCES = wx.ID_PREFERENCES
121
122
  ID_OPTIONS_READERS = wx.NewId()
123
+ ID_FILE_PLUGINS = wx.NewId()
122
124
  ID_CHECK_NEW_VERSION = wx.NewId()
123
125
 
124
126
  ID_DEBUG_TOGGLE = wx.NewId()
@@ -212,6 +214,7 @@ class CPFrame(wx.Frame):
212
214
  #
213
215
  # right_win
214
216
  # Notes window
217
+ # plugin_warning_panel (conditional)
215
218
  # path_module_imageset_panel
216
219
  # path_list_sash
217
220
  # group_box
@@ -227,6 +230,13 @@ class CPFrame(wx.Frame):
227
230
  self.__notes_panel = wx.Panel(self.__right_win)
228
231
  self.__right_win.GetSizer().Add(self.__notes_panel, 0, wx.EXPAND | wx.ALL)
229
232
  self.__right_win.GetSizer().AddSpacer(4)
233
+ self.__plugin_warning_panel = wx.Panel(
234
+ self.__right_win, name="plugin_warning_panel"
235
+ )
236
+ self.__right_win.GetSizer().Add(
237
+ self.__plugin_warning_panel, 0, wx.EXPAND | wx.LEFT | wx.RIGHT
238
+ )
239
+ self.__right_win.GetSizer().AddSpacer(4)
230
240
  self.__path_module_imageset_panel = wx.Panel(self.__right_win, name="path_module_imageset_panel")
231
241
  self.__right_win.GetSizer().Add(
232
242
  self.__path_module_imageset_panel, 1, wx.EXPAND | wx.ALL
@@ -450,6 +460,18 @@ class CPFrame(wx.Frame):
450
460
  right_sizer = self.__right_win.GetSizer()
451
461
  assert isinstance(right_sizer, wx.Sizer)
452
462
  right_sizer.Show(self.__notes_panel, show)
463
+ # whether plugin_warning_panel itself should be shown is
464
+ # per-module (most modules don't get a warning at all) and is
465
+ # governed entirely by ModuleView.set_selection()/clear_selection(),
466
+ # which runs independently of this method and may well have
467
+ # already run *before* this call (e.g. __on_pipeline_loaded()
468
+ # selects the first module, then calls show_module_ui(True)) - so
469
+ # only ever force it off here (nothing selected => definitely no
470
+ # warning either), never force it on, or this would clobber
471
+ # whatever ModuleView correctly decided for the actual selected
472
+ # module with a blank, unstyled panel.
473
+ if not show:
474
+ right_sizer.Show(self.__plugin_warning_panel, False)
453
475
  right_sizer.Show(self.__path_module_imageset_panel, show)
454
476
  self.__right_win.Layout()
455
477
  if show:
@@ -557,7 +579,7 @@ class CPFrame(wx.Frame):
557
579
  wx.GetApp().ExitMainLoop()
558
580
 
559
581
  def __set_properties(self):
560
- self.SetTitle("CellProfiler %s" % cellprofiler_version)
582
+ self.SetTitle(wx.GetApp().GetAppDisplayName())
561
583
  self.SetSize((1024, 600))
562
584
 
563
585
  def enable_edit_commands(self, ids):
@@ -686,6 +708,11 @@ class CPFrame(wx.Frame):
686
708
  "&Preferences...",
687
709
  "Set global application preferences",
688
710
  )
711
+ self.__menu_file.Append(
712
+ ID_FILE_PLUGINS,
713
+ "&Plugins...",
714
+ "Manage CellProfiler plugins",
715
+ )
689
716
 
690
717
  self.recent_files = wx.Menu()
691
718
  self.recent_pipeline_files = wx.Menu()
@@ -915,6 +942,7 @@ class CPFrame(wx.Frame):
915
942
  self.Bind(wx.EVT_MENU, self.__on_readers, id=ID_OPTIONS_READERS)
916
943
 
917
944
  self.Bind(wx.EVT_MENU, self.__on_preferences, id=ID_OPTIONS_PREFERENCES)
945
+ self.Bind(wx.EVT_MENU, self.__on_plugins, id=ID_FILE_PLUGINS)
918
946
  self.Bind(wx.EVT_MENU, self.__on_close_all, id=ID_WINDOW_CLOSE_ALL)
919
947
  self.Bind(wx.EVT_MENU, self.__debug_pdb, id=ID_DEBUG_PDB)
920
948
  self.Bind(wx.EVT_MENU, self.__on_debug_help, id=ID_DEBUG_HELP)
@@ -1071,6 +1099,11 @@ class CPFrame(wx.Frame):
1071
1099
  dlg = PreferencesDialog()
1072
1100
  dlg.Show()
1073
1101
 
1102
+ @staticmethod
1103
+ def __on_plugins(event):
1104
+ dlg = PluginsDialog()
1105
+ dlg.Show()
1106
+
1074
1107
  def __on_close_all(self, event):
1075
1108
  close_all(self)
1076
1109
 
@@ -1300,6 +1333,7 @@ class CPFrame(wx.Frame):
1300
1333
  self.__workspace,
1301
1334
  frame=self,
1302
1335
  notes_panel=self.__notes_panel,
1336
+ plugin_warning_panel=self.__plugin_warning_panel,
1303
1337
  )
1304
1338
  self.__pipeline_controller.attach_to_module_view(self.__module_view)
1305
1339
  self.__pipeline_list_view.attach_to_module_view(self.__module_view)
@@ -10,10 +10,10 @@ class AboutDialogInfo(wx.adv.AboutDialogInfo):
10
10
  super(AboutDialogInfo, self).__init__()
11
11
 
12
12
  self.SetCopyright(
13
- "Copyright © 2003 - 2021 Broad Institute, Inc.\nAll rights reserved."
13
+ "Copyright © 2003 - 2026 Broad Institute, Inc.\nAll rights reserved."
14
14
  )
15
15
 
16
- self.SetName("CellProfiler")
16
+ self.SetName(wx.GetApp().GetAppName())
17
17
  self.SetVersion(cellprofiler_version)
18
18
  self.SetIcon(get_cp_icon(100))
19
19
 
@@ -445,7 +445,7 @@ def display_error_message(parent, message, title, buttons=None, size=(300, 200))
445
445
  sizer.Add(
446
446
  wx.StaticBitmap(dlg, bitmap=icon),
447
447
  0,
448
- wx.ALIGN_CENTER_HORIZONTAL | wx.ALIGN_TOP | wx.ALL,
448
+ wx.ALIGN_TOP | wx.ALL,
449
449
  10,
450
450
  )
451
451
  sizer.AddSpacer(10)
@@ -1,3 +1,4 @@
1
+ import html
1
2
  import logging
2
3
  import os
3
4
  import stat
@@ -7,6 +8,7 @@ import matplotlib.cm
7
8
  import numpy
8
9
  import wx
9
10
  import wx.grid
11
+ import wx.html
10
12
  import wx.lib.colourselect
11
13
  import wx.lib.resizewidget
12
14
  import wx.lib.scrolledpanel
@@ -24,6 +26,8 @@ from cellprofiler_core.preferences import get_default_colormap
24
26
  from cellprofiler_core.preferences import get_default_image_directory
25
27
  from cellprofiler_core.preferences import get_default_output_directory
26
28
  from cellprofiler_core.preferences import get_error_color
29
+ from cellprofiler_core.utilities.core.plugins import get_plugin_warning_text
30
+ from cellprofiler_core.utilities.core.plugins import OFFICIAL_PLUGINS_URL
27
31
  from cellprofiler_core.setting import Binary, PathListDisplay, Setting
28
32
  from cellprofiler_core.setting import BinaryMatrix
29
33
  from cellprofiler_core.setting import Color
@@ -113,6 +117,42 @@ from ..utilities.module_view import y_control_name
113
117
  LOGGER = logging.getLogger(__name__)
114
118
 
115
119
 
120
+ def _wx_colour_to_hex(colour):
121
+ return "#%02x%02x%02x" % (colour.Red(), colour.Green(), colour.Blue())
122
+
123
+
124
+ def _plugin_warning_text_and_link_colours():
125
+ if wx.SystemSettings.GetAppearance().IsDark():
126
+ return wx.Colour(255, 255, 255), wx.Colour(100, 170, 255)
127
+ return wx.Colour(0, 0, 0), wx.Colour(0, 0, 238)
128
+
129
+
130
+ def _plugin_warning_html(text, background_colour, text_colour, link_colour):
131
+ """HTML-escape `text` (a get_plugin_warning_text() result), turn its
132
+ embedded OFFICIAL_PLUGINS_URL into a real, clickable `<a href>` link, and set
133
+ its colors explicitly via legacy `<body bgcolor=/text=/link=>`
134
+ attributes.
135
+
136
+ wx.html.HtmlWindow's own default rendering (white page, black text, web
137
+ blue links) ignores `SetBackgroundColour()`/`SetForegroundColour()`
138
+ entirely - those only affect what `GetBackgroundColour()` etc. report
139
+ back, not what's actually painted. The only way to make the rendered
140
+ page itself match CellProfiler's current (possibly dark) theme is to
141
+ say so directly in the HTML.
142
+ """
143
+ escaped = html.escape(text)
144
+ escaped_url = html.escape(OFFICIAL_PLUGINS_URL)
145
+ linked = escaped.replace(
146
+ escaped_url, f'<a href="{OFFICIAL_PLUGINS_URL}">{escaped_url}</a>'
147
+ )
148
+ body_attrs = (
149
+ f'bgcolor="{_wx_colour_to_hex(background_colour)}" '
150
+ f'text="{_wx_colour_to_hex(text_colour)}" '
151
+ f'link="{_wx_colour_to_hex(link_colour)}"'
152
+ )
153
+ return f"<html><body {body_attrs}>{linked}</body></html>"
154
+
155
+
116
156
  class ModuleView:
117
157
  """The module view implements a view on CellProfiler.Module
118
158
 
@@ -122,18 +162,30 @@ class ModuleView:
122
162
  gives the ui for editing the setting.
123
163
  """
124
164
 
125
- def __init__(self, top_panel, workspace, frame=None, notes_panel=None):
165
+ def __init__(
166
+ self,
167
+ top_panel,
168
+ workspace,
169
+ frame=None,
170
+ notes_panel=None,
171
+ plugin_warning_panel=None,
172
+ ):
126
173
  """Constructor
127
174
 
128
175
  module_panel - the top-level panel used by the view
129
176
  workspace - the current workspace
130
177
  notes_panel - panel in which to construct the notes GUI
178
+ plugin_warning_panel - panel (a sibling of notes_panel, not a
179
+ child of it, so it shares the exact same plain background as
180
+ its neighbors - see make_plugin_warning_gui) in which to build
181
+ the plugin safety/trust warning banner
131
182
  """
132
183
  pipeline = workspace.pipeline
133
184
  self.__workspace = workspace
134
185
  self.__module = None
135
186
  self.refresh_pending = False
136
187
  self.notes_panel = notes_panel
188
+ self.plugin_warning_panel = plugin_warning_panel
137
189
  self.__frame = frame
138
190
  self.top_panel = top_panel
139
191
  background_color = get_background_color()
@@ -164,6 +216,8 @@ class ModuleView:
164
216
  self.module_panel.Bind(wx.EVT_CHILD_FOCUS, self.skip_event)
165
217
  if notes_panel is not None:
166
218
  self.make_notes_gui()
219
+ if plugin_warning_panel is not None:
220
+ self.make_plugin_warning_gui()
167
221
 
168
222
  self.__pipeline = pipeline
169
223
  self.__listeners = []
@@ -212,6 +266,8 @@ class ModuleView:
212
266
  self.__sizer.Reset(0)
213
267
  if self.notes_panel is not None:
214
268
  self.notes_panel.Hide()
269
+ if self.plugin_warning_panel is not None:
270
+ self.__set_plugin_warning(None)
215
271
 
216
272
  def get_module_settings_label(self):
217
273
  if self.__module is None:
@@ -298,6 +354,8 @@ class ModuleView:
298
354
  self.module_notes_control.SetValue(
299
355
  "\n".join([str(note) for note in self.__module.notes])
300
356
  )
357
+ if self.plugin_warning_panel is not None:
358
+ self.__set_plugin_warning(get_plugin_warning_text(self.__module))
301
359
 
302
360
  #################################
303
361
  #
@@ -641,6 +699,125 @@ class ModuleView:
641
699
 
642
700
  self.notes_panel.Bind(wx.EVT_TEXT, on_notes_changed, self.module_notes_control)
643
701
 
702
+ def make_plugin_warning_gui(self):
703
+ """Build the plugin safety/trust warning banner inside
704
+ plugin_warning_panel - a sibling of notes_panel,
705
+ sitting between the Notes box and the Settings controls
706
+
707
+ A bound EVT_PAINT handler draws just a WARNING_COLOR border stroke
708
+ on top, since none of wx's built-in border styles (BORDER_SIMPLE,
709
+ BORDER_THEME, etc.) expose a way to set a custom border color. The
710
+ text itself renders via an HtmlClickableWindow, so the URL in the
711
+ message is a real, clickable link.
712
+ """
713
+ from cellprofiler.gui.html.htmlwindow import HtmlClickableWindow
714
+
715
+ self.__PLUGIN_WARNING_BORDER_WIDTH = 2
716
+ self.__plugin_warning_full_text = None
717
+ self.__plugin_warning_resizing = False
718
+ plugin_warning_sizer = wx.BoxSizer(wx.VERTICAL)
719
+ self.plugin_warning_panel.SetSizer(plugin_warning_sizer)
720
+ self.__plugin_warning_html = HtmlClickableWindow(
721
+ self.plugin_warning_panel, -1, style=wx.html.HW_SCROLLBAR_NEVER
722
+ )
723
+ margin = self.__PLUGIN_WARNING_BORDER_WIDTH + 5
724
+ plugin_warning_sizer.Add(self.__plugin_warning_html, 0, wx.EXPAND | wx.ALL, margin)
725
+ self.plugin_warning_panel.Hide()
726
+ self.plugin_warning_panel.Bind(wx.EVT_PAINT, self.__on_plugin_warning_paint)
727
+ self.plugin_warning_panel.Bind(wx.EVT_SIZE, self.__on_plugin_warning_panel_size)
728
+ # Toggling the OS light/dark appearance *without restarting
729
+ # CellProfiler* leaves wx.SystemSettings' cached colors/appearance
730
+ # stale until wx is actually notified of the change - querying them
731
+ # again later, e.g. on the next module selection, can still return
732
+ # the old value. Re-render right when that notification arrives,
733
+ # rather than waiting for some unrelated later event to happen to
734
+ # re-query a still-possibly-stale cache.
735
+ self.plugin_warning_panel.Bind(
736
+ wx.EVT_SYS_COLOUR_CHANGED, self.__on_system_colour_changed
737
+ )
738
+
739
+ def __on_system_colour_changed(self, event):
740
+ event.Skip()
741
+ if self.__plugin_warning_full_text:
742
+ self.__set_plugin_warning(self.__plugin_warning_full_text)
743
+
744
+ def __on_plugin_warning_paint(self, event):
745
+ # Deliberately does not touch the background at all - that's left
746
+ # to wx's normal default painting, so it keeps showing whatever
747
+ # color this panel actually inherits from its real parent.
748
+ dc = wx.PaintDC(self.plugin_warning_panel)
749
+ border_width = self.__PLUGIN_WARNING_BORDER_WIDTH
750
+ dc.SetPen(wx.Pen(WARNING_COLOR, border_width))
751
+ dc.SetBrush(wx.TRANSPARENT_BRUSH)
752
+ width, height = self.plugin_warning_panel.GetClientSize()
753
+ inset = border_width // 2
754
+ dc.DrawRectangle(
755
+ inset, inset, max(width - border_width, 0), max(height - border_width, 0)
756
+ )
757
+
758
+ def __on_plugin_warning_panel_size(self, event):
759
+ event.Skip()
760
+ # HtmlWindow reflows its already-set page to its new width on its
761
+ # own on resize (no need to call SetPage() again) - just re-measure
762
+ # the now-current content height and tell the sizer about it.
763
+ self.__resize_plugin_warning_to_content()
764
+
765
+ def __resize_plugin_warning_to_content(self):
766
+ if not self.__plugin_warning_full_text:
767
+ return
768
+ # Re-entrancy guard: SetMinSize()/Layout() below can themselves
769
+ # trigger another EVT_SIZE on this same panel (e.g. if a scrollbar
770
+ # or sibling's space changes as a result) - without this, that
771
+ # recurses until RecursionError.
772
+ if self.__plugin_warning_resizing:
773
+ return
774
+ self.__plugin_warning_resizing = True
775
+ try:
776
+ control = self.__plugin_warning_html
777
+ width = control.GetClientSize()[0]
778
+ if width <= 0:
779
+ return
780
+ height = control.GetInternalRepresentation().GetHeight()
781
+ if control.GetMinSize() == (width, height):
782
+ return
783
+ control.SetMinSize((width, height))
784
+ self.plugin_warning_panel.GetParent().Layout()
785
+ finally:
786
+ self.__plugin_warning_resizing = False
787
+
788
+ def __set_plugin_warning(self, text):
789
+ self.__plugin_warning_full_text = text
790
+ if text:
791
+ self.plugin_warning_panel.Show()
792
+ # Layout *before* rendering, so the panel's width reflects its
793
+ # current real size rather than whatever (possibly stale/unset)
794
+ # size it had before this selection - then layout again after,
795
+ # since the content's height changes with width.
796
+ self.plugin_warning_panel.GetParent().Layout()
797
+ margin = self.__PLUGIN_WARNING_BORDER_WIDTH + 5
798
+ width = max(
799
+ self.plugin_warning_panel.GetClientSize()[0] - 2 * margin, 20
800
+ )
801
+ control = self.__plugin_warning_html
802
+ control.SetSize((width, 1))
803
+ background_colour = self.plugin_warning_panel.GetBackgroundColour()
804
+ text_colour, link_colour = _plugin_warning_text_and_link_colours()
805
+ control.SetPage(
806
+ _plugin_warning_html(text, background_colour, text_colour, link_colour)
807
+ )
808
+ # Also set these on the control itself: SetPage() resets them to
809
+ # wx.html.HtmlWindow's own defaults, and while the HTML's own
810
+ # bgcolor/text/link attributes above are what actually get
811
+ # painted, keeping GetBackgroundColour() in sync avoids a
812
+ # mismatched flash/edge at the control's own boundary.
813
+ control.SetBackgroundColour(background_colour)
814
+ control.SetForegroundColour(text_colour)
815
+ self.__resize_plugin_warning_to_content()
816
+ self.plugin_warning_panel.GetParent().Layout()
817
+ else:
818
+ self.plugin_warning_panel.Hide()
819
+ self.plugin_warning_panel.GetParent().Layout()
820
+
644
821
  def make_binary_control(self, v, control_name, control):
645
822
  """Make a checkbox control for a Binary setting"""
646
823
  if not control:
@@ -1678,20 +1678,21 @@ class PipelineController(object):
1678
1678
 
1679
1679
  def set_title(self):
1680
1680
  """Set the title of the parent frame"""
1681
+ displayname = wx.GetApp().GetAppDisplayName()
1681
1682
  pathname = get_current_workspace_path()
1682
1683
  if pathname is None:
1683
- self.__frame.Title = "CellProfiler %s" % cellprofiler_version
1684
+ self.__frame.Title = displayname
1684
1685
  return
1685
1686
  path, filename = os.path.split(pathname)
1686
1687
  if self.__dirty_workspace:
1687
- self.__frame.Title = "CellProfiler %s: %s* (%s)" % (
1688
- cellprofiler_version,
1688
+ self.__frame.Title = "%s: %s* (%s)" % (
1689
+ displayname,
1689
1690
  filename,
1690
1691
  path,
1691
1692
  )
1692
1693
  else:
1693
- self.__frame.Title = "CellProfiler %s: %s (%s)" % (
1694
- cellprofiler_version,
1694
+ self.__frame.Title = "%s: %s (%s)" % (
1695
+ displayname,
1695
1696
  filename,
1696
1697
  path,
1697
1698
  )
@@ -30,6 +30,7 @@ from cellprofiler_core.setting.text import Name
30
30
  from cellprofiler_core.setting.subscriber import ImageListSubscriber
31
31
  from cellprofiler_core.setting.subscriber import LabelListSubscriber
32
32
  from cellprofiler_core.setting import Measurement
33
+ from cellprofiler_core.utilities.core.plugins import get_module_display_name
33
34
 
34
35
  import cellprofiler.gui
35
36
  import cellprofiler.gui.figure
@@ -1247,6 +1248,11 @@ class PipelineListCtrl(wx.ScrolledWindow):
1247
1248
  """The module name of the item's module"""
1248
1249
  return self.module.module_name
1249
1250
 
1251
+ @property
1252
+ def display_name(self):
1253
+ """The module name of the item's module, decorated if it's a plugin"""
1254
+ return get_module_display_name(self.module)
1255
+
1250
1256
  def set_state(self, state, state_mask):
1251
1257
  """Set the item's state
1252
1258
 
@@ -1653,7 +1659,7 @@ class PipelineListCtrl(wx.ScrolledWindow):
1653
1659
  x0 = self.column_width * 3 + self.slider_width + self.text_gap
1654
1660
  max_width = 0
1655
1661
  for i, item in enumerate(self.items):
1656
- width, height, _, _ = self.GetFullTextExtent(item.module_name)
1662
+ width, height, _, _ = self.GetFullTextExtent(item.display_name)
1657
1663
  max_width = max(width, max_width)
1658
1664
  total_width = x0 + max_width + self.border * 2 + self.gap + self.text_gap
1659
1665
  height = max((len(self.items) - 1) * self.line_height, 0)
@@ -1824,7 +1830,7 @@ class PipelineListCtrl(wx.ScrolledWindow):
1824
1830
  dc.SetTextForeground(item_text_color)
1825
1831
 
1826
1832
  dc.DrawText(
1827
- item.module_name,
1833
+ item.display_name,
1828
1834
  rectangle.GetLeft() + self.text_gap,
1829
1835
  rectangle.GetTop(),
1830
1836
  )