コード例 #1
0
ファイル: seed_editor_qt_test.py プロジェクト: Trineon/lisa
    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)
コード例 #2
0
    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)
コード例 #3
0
ファイル: dicom2fem.py プロジェクト: galerkin/dicom2fem
    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()
コード例 #4
0
ファイル: lisaWindow.py プロジェクト: Trineon/lisa
    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., ")
コード例 #5
0
ファイル: dicom2fem.py プロジェクト: galerkin/dicom2fem
    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()
コード例 #6
0
ファイル: lisaWindow.py プロジェクト: kunesj/lisa
    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., ')