A Segment Selector SegmentEditorEffect for large segmentations

Hi,

We’ve had a need to edit large segmentations, with dozens of segments (sometimes more than a hundred). Selecting segments from the segment list was extremely cumbersome, so we wrote a SegmentEditorEffect which lets user pick segments by clicking on them in the slice views. This raised two questions:

  1. Is it just us, or would others be interested?

  2. While doing this, we noted that when a segment is selected, the segment table is not scrolled to make it visible; and to reach the segment table to fix this, we needed to walk through the Qt element tree, which felt “dirty”:

    editorModule = slicer.util.getModule("SegmentEditor")
    self.editor = slicer.util.getModuleGui(editorModule).editor
    resizable = self.editor.findChild(
        ctk.ctkExpandableWidget, "SegmentsTableResizableFrame"
    )
    segTableView = resizable.findChild(
        slicer.qMRMLSegmentsTableView, "SegmentsTableView"
    )
    self.tableView = segTableView.tableWidget()

Should these be fixed in Slicer itself? That is, would it be accepted if we made the table scroll to selected segment when the selection changes, and/or exposed the table view/widget in a more structured API?

Thanks!

I would be.

Yep, that would be great too!