def setupLayers(self):
        layers = []
        opLane = self.topLevelOperatorView

        # This code depends on a specific order for the export slots.
        # If those change, update this function!
        selection_names = opLane.SelectionNames.value
        assert selection_names[0:4] == ['Probabilities', 'Simple Segmentation', 'Uncertainty', 'Features'] # see comment above
        
        selection = selection_names[ opLane.InputSelection.value ]

        if selection == 'Probabilities':
            exportedLayers = self._initPredictionLayers(opLane.ImageOnDisk)
            for layer in exportedLayers:
                layer.visible = True
                layer.name = layer.name + "- Exported"
            layers += exportedLayers
            
            previewLayers = self._initPredictionLayers(opLane.ImageToExport)
            for layer in previewLayers:
                layer.visible = False
                layer.name = layer.name + "- Preview"
            layers += previewLayers

        elif selection == "Simple Segmentation":
            exportedLayer = self._initSegmentationlayer(opLane.ImageOnDisk)
            if exportedLayer:
                exportedLayer.visible = True
                exportedLayer.name = exportedLayer.name + " - Exported"
                layers.append( exportedLayer )

            previewLayer = self._initSegmentationlayer(opLane.ImageToExport)
            if previewLayer:
                previewLayer.visible = False
                previewLayer.name = previewLayer.name + " - Preview"
                layers.append( previewLayer )

        elif selection == "Uncertainty":
            if opLane.ImageToExport.ready():
                previewUncertaintySource = LazyflowSource(opLane.ImageToExport)
                previewLayer = AlphaModulatedLayer( previewUncertaintySource,
                                                    tintColor=QColor(0,255,255), # cyan
                                                    range=(0.0, 1.0),
                                                    normalize=(0.0,1.0) )
                previewLayer.opacity = 0.5
                previewLayer.visible = False
                previewLayer.name = "Uncertainty - Preview"
                layers.append(previewLayer)
            if opLane.ImageOnDisk.ready():
                exportedUncertaintySource = LazyflowSource(opLane.ImageOnDisk)
                exportedLayer = AlphaModulatedLayer( exportedUncertaintySource,
                                                     tintColor=QColor(0,255,255), # cyan
                                                     range=(0.0, 1.0),
                                                     normalize=(0.0,1.0) )
                exportedLayer.opacity = 0.5
                exportedLayer.visible = True
                exportedLayer.name = "Uncertainty - Exported"
                layers.append(exportedLayer)

        else: # Features and all other layers.
            if selection != "Features":
                warnings.warn("Not sure how to display '{}' result.  Showing with default layer settings."
                              .format(selection))

            if opLane.ImageToExport.ready():
                previewLayer = self.createStandardLayerFromSlot( opLane.ImageToExport )
                previewLayer.visible = False
                previewLayer.name = "{} - Preview".format( selection )
                previewLayer.set_normalize( 0, None )
                layers.append(previewLayer)
            if opLane.ImageOnDisk.ready():
                exportedLayer = self.createStandardLayerFromSlot( opLane.ImageOnDisk )
                exportedLayer.visible = True
                exportedLayer.name = "{} - Exported".format( selection )
                exportedLayer.set_normalize( 0, None )
                layers.append(exportedLayer)

        # If available, also show the raw data layer
        rawSlot = opLane.FormattedRawData
        if rawSlot.ready():
            rawLayer = self.createStandardLayerFromSlot( rawSlot )
            rawLayer.name = "Raw Data"
            rawLayer.visible = True
            rawLayer.opacity = 1.0
            layers.append( rawLayer )

        return layers 
예제 #2
0
    def setupLayers(self):
        layers = []
        opLane = self.topLevelOperatorView

        # This code depends on a specific order for the export slots.
        # If those change, update this function!
        selection_names = opLane.SelectionNames.value

        # see comment above
        for name, expected in zip(selection_names[0:5], [
                'Probabilities', 'Simple Segmentation', 'Uncertainty',
                'Features', 'Labels'
        ]):
            assert name.startswith(
                expected
            ), "The Selection Names don't match the expected selection names."

        selection = selection_names[opLane.InputSelection.value]

        if selection.startswith('Probabilities'):
            exportedLayers = self._initPredictionLayers(opLane.ImageOnDisk)
            for layer in exportedLayers:
                layer.visible = True
                layer.name = layer.name + "- Exported"
            layers += exportedLayers

            previewLayers = self._initPredictionLayers(opLane.ImageToExport)
            for layer in previewLayers:
                layer.visible = False
                layer.name = layer.name + "- Preview"
            layers += previewLayers
        elif selection.startswith(
                "Simple Segmentation") or selection.startswith("Labels"):
            exportedLayer = self._initColortablelayer(opLane.ImageOnDisk)
            if exportedLayer:
                exportedLayer.visible = True
                exportedLayer.name = selection + " - Exported"
                layers.append(exportedLayer)

            previewLayer = self._initColortablelayer(opLane.ImageToExport)
            if previewLayer:
                previewLayer.visible = False
                previewLayer.name = selection + " - Preview"
                layers.append(previewLayer)
        elif selection.startswith("Uncertainty"):
            if opLane.ImageToExport.ready():
                previewUncertaintySource = LazyflowSource(opLane.ImageToExport)
                previewLayer = AlphaModulatedLayer(
                    previewUncertaintySource,
                    tintColor=QColor(0, 255, 255),  # cyan
                    range=(0.0, 1.0),
                    normalize=(0.0, 1.0))
                previewLayer.opacity = 0.5
                previewLayer.visible = False
                previewLayer.name = "Uncertainty - Preview"
                layers.append(previewLayer)
            if opLane.ImageOnDisk.ready():
                exportedUncertaintySource = LazyflowSource(opLane.ImageOnDisk)
                exportedLayer = AlphaModulatedLayer(
                    exportedUncertaintySource,
                    tintColor=QColor(0, 255, 255),  # cyan
                    range=(0.0, 1.0),
                    normalize=(0.0, 1.0))
                exportedLayer.opacity = 0.5
                exportedLayer.visible = True
                exportedLayer.name = "Uncertainty - Exported"
                layers.append(exportedLayer)

        else:  # Features and all other layers.
            if selection.startswith("Features"):
                warnings.warn(
                    "Not sure how to display '{}' result.  Showing with default layer settings."
                    .format(selection))

            if opLane.ImageToExport.ready():
                previewLayer = self.createStandardLayerFromSlot(
                    opLane.ImageToExport)
                previewLayer.visible = False
                previewLayer.name = "{} - Preview".format(selection)
                previewLayer.set_normalize(0, None)
                layers.append(previewLayer)
            if opLane.ImageOnDisk.ready():
                exportedLayer = self.createStandardLayerFromSlot(
                    opLane.ImageOnDisk)
                exportedLayer.visible = True
                exportedLayer.name = "{} - Exported".format(selection)
                exportedLayer.set_normalize(0, None)
                layers.append(exportedLayer)

        # If available, also show the raw data layer
        rawSlot = opLane.FormattedRawData
        if rawSlot.ready():
            rawLayer = self.createStandardLayerFromSlot(rawSlot)
            rawLayer.name = "Raw Data"
            rawLayer.visible = True
            rawLayer.opacity = 1.0
            layers.append(rawLayer)

        return layers
    def setupLayers(self):
        layers = []
        opLane = self.topLevelOperatorView

        # This code depends on a specific order for the export slots.
        # If those change, update this function!
        selection_names = opLane.SelectionNames.value
        assert selection_names == [
            'Probabilities', 'Simple Segmentation', 'Uncertainty', 'Features'
        ]  # see comment above

        selection = selection_names[opLane.InputSelection.value]

        if selection == 'Probabilities':
            exportedLayers = self._initPredictionLayers(opLane.ImageOnDisk)
            for layer in exportedLayers:
                layer.visible = True
                layer.name = layer.name + "- Exported"
            layers += exportedLayers

            previewLayers = self._initPredictionLayers(opLane.ImageToExport)
            for layer in previewLayers:
                layer.visible = False
                layer.name = layer.name + "- Preview"
            layers += previewLayers
        elif selection == "Simple Segmentation":
            exportedLayer = self._initSegmentationlayer(opLane.ImageOnDisk)
            if exportedLayer:
                exportedLayer.visible = True
                exportedLayer.name = exportedLayer.name + " - Exported"
                layers.append(exportedLayer)

            previewLayer = self._initSegmentationlayer(opLane.ImageToExport)
            if previewLayer:
                previewLayer.visible = False
                previewLayer.name = previewLayer.name + " - Preview"
                layers.append(previewLayer)
        elif selection == "Uncertainty":
            if opLane.ImageToExport.ready():
                previewUncertaintySource = LazyflowSource(opLane.ImageToExport)
                previewLayer = AlphaModulatedLayer(
                    previewUncertaintySource,
                    tintColor=QColor(0, 255, 255),  # cyan
                    range=(0.0, 1.0),
                    normalize=(0.0, 1.0))
                previewLayer.opacity = 0.5
                previewLayer.visible = False
                previewLayer.name = "Uncertainty - Preview"
                layers.append(previewLayer)
            if opLane.ImageOnDisk.ready():
                exportedUncertaintySource = LazyflowSource(opLane.ImageOnDisk)
                exportedLayer = AlphaModulatedLayer(
                    exportedUncertaintySource,
                    tintColor=QColor(0, 255, 255),  # cyan
                    range=(0.0, 1.0),
                    normalize=(0.0, 1.0))
                exportedLayer.opacity = 0.5
                exportedLayer.visible = True
                exportedLayer.name = "Uncertainty - Exported"
                layers.append(exportedLayer)
        elif selection == "Features":
            if opLane.ImageToExport.ready():
                previewLayer = self.createStandardLayerFromSlot(
                    opLane.ImageToExport)
                previewLayer.visible = False
                previewLayer.name = "Features - Preview"
                previewLayer.set_normalize(0, None)
                layers.append(previewLayer)
            if opLane.ImageOnDisk.ready():
                exportedLayer = self.createStandardLayerFromSlot(
                    opLane.ImageOnDisk)
                exportedLayer.visible = True
                exportedLayer.name = "Features - Exported"
                exportedLayer.set_normalize(0, None)
                layers.append(exportedLayer)

        # If available, also show the raw data layer
        rawSlot = opLane.FormattedRawData
        if rawSlot.ready():
            rawLayer = self.createStandardLayerFromSlot(rawSlot)
            rawLayer.name = "Raw Data"
            rawLayer.visible = True
            rawLayer.opacity = 1.0
            layers.append(rawLayer)

        return layers