def on_activation(self): if self.ilastik.project is None: return self._initContent() self._initConnects() self.interactionLog = [] self.defaultSegmentor = False #initially add 'Raw Data' overlay ovs = self.ilastik._activeImage.module[self.__class__.moduleName].getOverlayRefs() if "Raw Data" in self.ilastik._activeImage.overlayMgr.keys(): raw = self.ilastik._activeImage.overlayMgr["Raw Data"] if raw is not None: ovs.append(raw.getRef()) self.ilastik.labelWidget.interactionLog = self.interactionLog self.ilastik.labelWidget._history.volumeEditor = self.ilastik.labelWidget self.overlayWidget = OverlayWidget(self.ilastik.labelWidget, self.ilastik.project.dataMgr) self.ilastik.labelWidget.setOverlayWidget(self.overlayWidget) if self.parent.project.dataMgr.Interactive_Segmentation.segmentor is None: segmentors = self.parent.project.dataMgr.Interactive_Segmentation.segmentorClasses for i, seg in enumerate(segmentors): if seg.name == "Supervoxel Segmentation": self.parent.project.dataMgr.Interactive_Segmentation.segmentor = seg() ui = self.parent.project.dataMgr.Interactive_Segmentation.segmentor.getInlineSettingsWidget(self.inlineSettings.childWidget, view='default') self.inlineSettings.changeWidget(ui) self.defaultSegmentor = True break #Finally, initialize the core module s = self.ilastik._activeImage.Interactive_Segmentation self.connect(s, QtCore.SIGNAL('overlaysChanged()'), self.on_overlaysChanged) self.connect(s, QtCore.SIGNAL('doneOverlaysAvailable()'), self.on_doneOverlaysAvailable) self.connect(s, QtCore.SIGNAL('weightsSetup()'), self.on_setupWeights) self.connect(s, QtCore.SIGNAL('newSegmentation()'), self.on_newSegmentation) self.connect(s, QtCore.SIGNAL('numColorsNeeded(int)'), self.on_numColorsNeeded) self.connect(s, QtCore.SIGNAL('saveAsPossible(bool)'), lambda b: self.btnSaveAs.setEnabled(b)) self.connect(s, QtCore.SIGNAL('savePossible(bool)'), lambda b: self.btnSave.setEnabled(b)) self.connect(s, QtCore.SIGNAL('seedsAvailable(bool)'), lambda b: self.btnSegment.setEnabled(b)) s.init() #add 'Seeds' overlay self.seedOverlay = OverlayItem(s.seedLabelsVolume._data, color = 0, alpha = 1.0, colorTable = s.seedLabelsVolume.getColorTab(), autoAdd = True, autoVisible = True, linkColorTable = True) self.ilastik._activeImage.overlayMgr["Segmentation/Seeds"] = self.seedOverlay self.seedWidget = SeedListWidget(self.ilastik.project.dataMgr.Interactive_Segmentation.seedMgr, s.seedLabelsVolume, self.ilastik.labelWidget, self.seedOverlay) self.ilastik.labelWidget.setLabelWidget(self.seedWidget) self.seedOverlay.displayable3D = True self.seedOverlay.backgroundClasses = set([0]) self.seedOverlay.smooth3D = False