def test_data_editor(self): """ Funkce provádí změnu vstupních dat - data3d """ #pyed = sed3.sed3(self.data3d, contour = oseg.segmentation) #pyed.show() try: from pysegbase.seed_editor_qt import QTSeedEditor except: logger.warning("Deprecated of pyseg_base as submodule") from seed_editor_qt import QTSeedEditor from PyQt4.QtGui import QApplication import numpy as np im3d = np.random.rand(15,15,15) print ("Select pixels for deletion (it will be setted to 0)") #, QMainWindow app = QApplication(sys.argv) pyed = QTSeedEditor(im3d, mode='draw') pyed.exec_() deletemask = pyed.getSeeds() print ("If it is ok, press 'Return'. If it is wrong, click into image and press 'Return'") # rewrite input data im3d [deletemask != 0] = 0 pyed = QTSeedEditor(im3d) app.exec_() sds = pyed.getSeeds() # if usere select pixel, there will be 1 or 2 in sds self.assertLess(np.max(sds), 1)
def test_data_editor(self): """ Funkce provádí změnu vstupních dat - data3d """ #pyed = sed3.sed3(self.data3d, contour = oseg.segmentation) #pyed.show() try: from pysegbase.seed_editor_qt import QTSeedEditor except: logger.warning("Deprecated of pyseg_base as submodule") from seed_editor_qt import QTSeedEditor from PyQt4.QtGui import QApplication import numpy as np im3d = np.random.rand(15, 15, 15) print("Select pixels for deletion (it will be setted to 0)") #, QMainWindow app = QApplication(sys.argv) pyed = QTSeedEditor(im3d, mode='draw') pyed.exec_() deletemask = pyed.getSeeds() print( "If it is ok, press 'Return'. If it is wrong, click into image and press 'Return'" ) # rewrite input data im3d[deletemask != 0] = 0 pyed = QTSeedEditor(im3d) app.exec_() sds = pyed.getSeeds() # if usere select pixel, there will be 1 or 2 in sds self.assertLess(np.max(sds), 1)
def manualSeg(self): if self.dcm_3Ddata is None: self.statusBar().showMessage('No DICOM data!') return pyed = QTSeedEditor(self.dcm_3Ddata, seeds=self.segmentation_data, mode='draw', voxelSize=self.voxel_sizemm) pyed.exec_() self.segmentation_data = pyed.getSeeds() self.checkSegData()
def manualSeg(self): oseg = self.oseg # rint 'ms d3d ', oseg.data3d.shape # rint 'ms seg ', oseg.segmentation.shape # rint 'crinfo ', oseg.crinfo if oseg.data3d is None: self.statusBar().showMessage("No DICOM data!") return sgm = oseg.segmentation.astype(np.uint8) pyed = QTSeedEditor(oseg.data3d, seeds=sgm, mode="draw", voxelSize=oseg.voxelsize_mm, volume_unit="ml") pyed.exec_() oseg.segmentation = pyed.getSeeds() self.oseg.processing_time = datetime.datetime.now() - self.oseg.time_start self.checkSegData("manual seg., ")
def autoSeg(self): if self.dcm_3Ddata is None: self.statusBar().showMessage('No DICOM data!') return igc = pycut.ImageGraphCut(self.dcm_3Ddata, voxelsize=self.voxel_sizemm) pyed = QTSeedEditor(self.dcm_3Ddata, seeds=self.segmentation_seeds, modeFun=igc.interactivity_loop, voxelSize=self.voxel_sizemm) pyed.exec_() self.segmentation_data = pyed.getContours() self.segmentation_seeds = pyed.getSeeds() self.checkSegData()
def btnManualSeg(self): oseg = self.oseg # rint 'ms d3d ', oseg.data3d.shape # rint 'ms seg ', oseg.segmentation.shape # rint 'crinfo ', oseg.crinfo if oseg.data3d is None: self.statusBar().showMessage('No DICOM data!') return sgm = oseg.segmentation.astype(np.uint8) pyed = QTSeedEditor(oseg.data3d, seeds=sgm, mode='draw', voxelSize=oseg.voxelsize_mm, volume_unit='ml') pyed.exec_() oseg.segmentation = pyed.getSeeds() self.oseg.processing_time = \ datetime.datetime.now() - self.oseg.time_start self.checkSegData('manual seg., ')