Skip to content

Feature: Usability improvements in regarding cell masks #91

@yulewu

Description

@yulewu

Currently, the mask painter only supports either outline or filled display modes for each class. However, it would be beneficial to have the option to display borders on top of filled masks. This would allow users to better distinguish adjacent cells of the same class and improve overall visibility.

Also, the filled masks' opacity is currently fixed and not rendered at 100%. Allowing users to adjust the opacity of filled masks would provide greater flexibility in visualizing the underlying image data while still benefiting from the color-coding of the masks.

Sometimes it even better for the filled masks to be fully opaque, when the user is only interested in the spatial distribution of a particular class and not the image data. In this case, the option to set filled masks to 100% opacity would be particularly useful.

As well, it would be great to set opacity to 0% (fully transparent) for some classes, effectively rendering them as outlines only. This would allow users to have a clear view of the image data while still being able to identify the boundaries of cells in that class.

Involved plugins

  • Mask Painter: this is where the UI controls for outline/fill and opacity would be implemented, as well as the logic to apply these settings to the cell masks.
  • Cell Gallery: the gallery should reflect the same outline/fill and opacity settings as the main viewer to maintain consistency in how classes are represented across the UI.
  • Batch Export: when exporting images with masks, the export pipeline should also respect the outline/fill and opacity settings to ensure that exported images match what users see in the viewer.
  • ROI manager: if ROIs are colored based on cell classes, the ROI manager should also apply the same outline/fill and opacity settings to maintain visual consistency.

UI suggestions

  • Add a toggle for "Show borders on filled masks" in the Mask Painter UI. When enabled, this would render a thin border around filled masks, using the current color for the masks.
  • Add a field for "Filled mask opacity" in the Mask Painter UI per class, allowing users to set the opacity level for filled masks. When set to 0%, filled masks would become fully transparent, effectively rendering them as outlines only. When set to 100%, filled masks would be fully opaque.
  • Add a global opacity field in the Mask Painter UI that allows users to adjust the opacity of all filled masks with the global value simultaneously, while still respecting individual class settings. This would provide an easy way to quickly adjust visibility without having to change each class individually.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions