def saveIsland(self,xy): # # change the label values based on the parameter node # self.undoRedo.saveState() labelLogic = self.sliceLogic.GetLabelLayer() xyToIJK = labelLogic.GetXYToIJKTransform().GetMatrix() ijk = xyToIJK.MultiplyPoint( xy + (0, 1) )[:3] ijk = map(lambda v: int(round(v)), ijk) connectivity = slicer.vtkImageConnectivity() connectivity.SetFunctionToSaveIsland() connectivity.SetInput( self.getScopedLabelInput() ) connectivity.SetOutput( self.getScopedLabelOutput() ) connectivity.SetSeed( ijk ) # TODO: $this setProgressFilter $connectivity "Save Island" connectivity.Update() self.applyScopedLabel()
def saveIsland(self, xy): # # change the label values based on the parameter node # labelLogic = self.sliceLogic.GetLabelLayer() xyToIJK = labelLogic.GetXYToIJKTransform().GetMatrix() ijk = xyToIJK.MultiplyPoint(xy + (0, 1))[:3] ijk = map(lambda v: int(round(v)), ijk) connectivity = slicer.vtkImageConnectivity() connectivity.SetFunctionToSaveIsland() connectivity.SetInput(self.getScopedLabelInput()) connectivity.SetOutput(self.getScopedLabelOutput()) connectivity.SetSeed(ijk) # TODO: $this setProgressFilter $connectivity "Save Island" connectivity.Update() self.applyScopedLabel() connectivity.SetOutput(None)
def changeIsland(self,xy): # # change the label values based on the parameter node # labelLogic = self.sliceLogic.GetLabelLayer() xyToIJK = labelLogic.GetXYToIJKTransform() ijk = xyToIJK.TransformDoublePoint( xy + (0,) ) ijk = map(lambda v: int(round(v)), ijk) connectivity = slicer.vtkImageConnectivity() connectivity.SetFunctionToChangeIsland() connectivity.SetInput( self.getScopedLabelInput() ) connectivity.SetOutput( self.getScopedLabelOutput() ) connectivity.SetOutputLabel( self.editUtil.getLabel() ) connectivity.SetSeed( ijk ) # TODO: $this setProgressFilter $connectivity "Change Island" connectivity.Update() self.applyScopedLabel() connectivity.SetOutput( None )
def saveIsland(self, xy): # # change the label values based on the parameter node # labelLogic = self.sliceLogic.GetLabelLayer() xyToIJK = labelLogic.GetXYToIJKTransform() ijk = xyToIJK.TransformDoublePoint(xy + (0, )) ijk = map(lambda v: int(round(v)), ijk) connectivity = slicer.vtkImageConnectivity() connectivity.SetFunctionToSaveIsland() if vtk.VTK_MAJOR_VERSION <= 5: connectivity.SetInput(self.getScopedLabelInput()) else: connectivity.SetInputData(self.getScopedLabelInput()) connectivity.SetOutput(self.getScopedLabelOutput()) connectivity.SetSeed(ijk) # TODO: $this setProgressFilter $connectivity "Save Island" connectivity.Update() self.applyScopedLabel() connectivity.SetOutput(None)