Example #1
0
    def _getNewYEstimateAtCurrentResolutionLevel(self, X, radiograph,
                                                 currentTooth,
                                                 currentResolutionLevel,
                                                 filter_settings):
        # Pre process image
        img = Filter.process_image(
            deepcopy(radiograph.getImage(deepCopy=True)), filter_settings[0],
            filter_settings[1], filter_settings[2])
        derivate_img = Filter.laplacian(img)
        # derivate_img = Filter.histogramEql(Filter.process_image(deepcopy(img), filter_settings[0], filter_settings[1], filter_settings[2]))
        # derivate_img = Filter.process_image(deepcopy(derivate_img), median_kernel=3, bilateral_kernel=5)
        #cv2.imshow("Test", derivate_img)
        #cv2.waitKey(0)

        # Get the correct model
        multiResModel = self.completeStatisticalModel.getGrayLevelMultiResolutionModel(
            deepCopy=True)
        singleResModel = multiResModel.getGrayLevelSignleResModelByResolutionLevelIndex(
            currentResolutionLevel)
        toothModel = singleResModel.getGrayLevelToothModelByToothIndex(
            currentTooth, currentResolutionLevel)

        # Init X and Y
        Y = np.zeros((40, 2))
        X = X.getLandmarks()

        counter = 0
        for i in range(40):
            Y[i], is_close = self._getYPointEstimateFromGivenModelPoint(
                toothModel, i, X, currentResolutionLevel, currentTooth, img,
                derivate_img)
            if is_close:
                counter += 1

        return Y, counter / 40
Example #2
0
 def filterTest(self):
     radiograph = self.dataHandler.getRadiographs(deepCopy=True)[0]
     blurred_img = Filter.process_image(deepcopy(radiograph.getImage()),
                                        median_kernel=3,
                                        bilateral_kernel=10)
     cv2.imshow("BlurredImage", blurred_img)
     clahe = cv2.equalizeHist(blurred_img)
     cv2.imshow("Clahe", clahe)
     img_1 = Filter.laplacian(blurred_img)
     cv2.imshow("Img1", img_1)
    def trainGrayLevelModelForAllPointsAllExamples(self, k, resolutionLevel, filter_settings):
        """
        calcualtes the gray-level vectors for all point of all teeth in all provided examples.
        """
        radiographs = self.completeDataHandler.getRadiographs(deepCopy=True)

        g_all = list()
        for radiograph in radiographs:
            
            # Scale image to current resolution level
            for i in range(resolutionLevel):
                radiograph.downScale()

            # Pre process image
            img = Filter.process_image(deepcopy(radiograph.getImage(deepCopy=True)), filter_settings[0], filter_settings[1], filter_settings[2])
            derivate_img = Filter.laplacian(img)
            # derivate_img = Filter.histogramEql(Filter.process_image(deepcopy(img), filter_settings[0], filter_settings[1], filter_settings[2]))
            # derivate_img = Filter.process_image(deepcopy(derivate_img), median_kernel=3, bilateral_kernel=5)
            
            g_ex = self.trainGrayLevelModelForAllPointsOneExample(img, derivate_img, radiograph, k)
            g_all.append(g_ex)
        
        return np.array(g_all)