Ejemplo n.º 1
0
    def test_applyMask(self):
        expected = self.setup.getExpectedOutputMatrix(self._testMethodName)
        dft_image = self.setup.getInputMatrix('chaplin_dft.npy')
        mask = self.setup.getInputMatrix('mask.npy')

        self.actual = util.applyMask(dft_image, mask)
        self.assertTrue(self.setup.matrixEqual(expected, self.actual))
Ejemplo n.º 2
0
    def test_getImage(self):
        expected = self.setup.getExpectedOutput(self._testMethodName)
        input = self.setup.getInputMatrix('chaplin_dft.npy')

        self.actual = util.getImage(input)

        self.assertTrue(self.setup.imagesEqual(expected, self.actual))
Ejemplo n.º 3
0
    def test_getImage_from_noisy_dft(self):
        expected = self.setup.getExpectedOutput(self._testMethodName)
        input = self.setup.getInputMatrix('noisy_dft.npy')

        self.actual = util.getImage(input)
        #cv2.imshow("image",self.actual)
        #cv2.waitKey(0)
        self.assertTrue(self.setup.imagesEqual(expected, self.actual))
# Use this file as you wish to generate the images needed to answer the report
import src.project.Utilities as util
import src.project.ImageSynthesisNoise as isn
import cv2
import numpy as np

# image = util.loadImage('images/brain.png')
matrix = util.loadMatrix('images/noisyimage.npy')
rows, cols = matrix.shape
mask = isn.gaussianLowpassFilter((rows, cols), cutoff=40)
im = np.multiply(matrix, mask)
im = util.post_process_images(util.getImage(im))

# im = np.abs(matrix)
# im = util.post_process_images(im)
# rows, cols = image.shape

util.displayImage(im)

# mask = isn.butterworthLowpassFilter((rows, cols), cutoff=40, order=7)
# mask = isn.gaussianHighpassFilter((rows, cols), cutoff=150)

# shift_fft = util.getDFT(image)
# filtered_image_fft = np.multiply(mask, shift_fft)
# filtered_image = util.post_process_images(util.getImage(filtered_image_fft))

# util.saveImage('butterworthLowpassFilter.png', filtered_image)
# print(util.signalToNoise(filtered_image))

# util.displayImage(filtered_image)
Ejemplo n.º 5
0
 def getInputImage(self, imagename):
     return util.loadImage(self.pathInput + imagename)
Ejemplo n.º 6
0
 def getExpectedOutput(self, testname):
     self.testname = testname
     return util.loadImage(self.pathExpectOutput + self.testname + '.png')
Ejemplo n.º 7
0
# Use this file as you wish to generate the images needed to answer the report

import src.project.Utilities as util
import numpy as np
import src.project.SelectiveImageAcquisition as sia

image = util.loadImage('images/brain.png')
rows, cols = image.shape
print(image.shape)
# code for cardiac cartesian
# mask = sia.cartesianPattern((rows, cols), 0.7)
mask = sia.circlePattern((rows, cols), 90)

shift_fft = util.getDFT(image)
filtered_image_fft = np.multiply(mask, shift_fft)
filtered_image = util.post_process_images(util.getImage(filtered_image_fft))

util.displayImage(filtered_image)

Ejemplo n.º 8
0
# Use this file as you wish to generate the images needed to answer the report

import src.project.Utilities as util
import src.project.ImageSynthesisNoise as isn

heart = "images/cardiac.jpg"
brain = "images/brain.png"
matrix = "images/noisyimage.npy"

##############  Utilities   ###################
img = util.loadImage(heart)
img2 = util.loadImage(brain)
img3 = util.loadMatrix(matrix)
# util.displayImage(img)
# util.displayImage(img2)
#util.displayImage(img)
h = img.shape[0]
w = img.shape[1]
h1 = img2.shape[0]
w1 = img2.shape[1]

w2 = img3.shape[1]
h2 = img3.shape[0]

print(h2)
print(w2)

mask_size = (h, w)
mask_size2 = (h1, w1)

#img_copy = util.getDFT(img2)
Ejemplo n.º 9
0
    def test_getDFT(self):
        expected = self.setup.getExpectedOutputMatrix(self._testMethodName)
        input = self.setup.getInputImage('chaplin.png')

        self.actual = util.getDFT(input)
        self.assertTrue(self.setup.matrixEqual(expected, self.actual))
Ejemplo n.º 10
0
 def test_loadImage_jpg(self):
     expected = self.setup.getExpectedOutput(self._testMethodName)
     self.actual = util.loadImage("resources/inputs/test_loadImage.jpg")
     self.assertTrue(self.setup.imagesEqual(expected, self.actual))
import cv2
import numpy as np

import src.project.SelectiveImageAcquisition as aqc
import src.project.Utilities as util

cardiac = util.loadImage("images/cardiac.jpg")
normal_cardiac = util.normalizeImage(cardiac)
dft_cardiac = util.getDFT(normal_cardiac)
write_dft = util.writableDFT(dft_cardiac)
util.saveMatrix("Cardiac_DFT.jpg", write_dft)
height, width = cardiac.shape
cardiac_size = np.array([height, width])

brain = util.loadImage("images/brain.png")
normal_brain = util.normalizeImage(brain)
dft_brain = util.getDFT(normal_brain)
#util.saveMatrix("Brain_DFT.jpg", dft_brain)
height, width = brain.shape
brain_size = np.array([height, width])

p1mask = aqc.bandPattern(cardiac_size, 15, 128, 35)
p1fmask = util.post_process_image(p1mask)
util.saveImage("p1fmask.jpg", p1fmask)
p1applied = util.applyMask(dft_cardiac, p1mask)
p1image = util.getImage(p1applied)
p1fimage = util.post_process_image(p1image)
util.saveImage('p1_Masked_Image.jpg', p1fimage)

p2mask1 = aqc.bandPattern(cardiac_size, 15, 128, 10)
p2applied1 = util.applyMask(dft_cardiac, p2mask1)
# Use this file as you wish to generate the images needed to answer the report

import src.project.Utilities as util
import src.project.SelectiveImageAcquisition as sia
import cv2

heart = "images/cardiac.jpg"
brain = "images/brain.png"

##############  Utilities   ###################
img2 = util.loadImage(heart)
img = util.loadImage(brain)
#util.displayImage(img)
h = img2.shape[0]
w = img2.shape[1]
h1 = img.shape[0]
w1 = img.shape[1]

mask_size = (h, w)
mask_size2 = (h1, w1)

# #######    Part 1&2    #############
# angle = 35
# img_copy = util.getDFT(img)
# mask = sia.bandPattern(mask_size, 10, 50, angle)
# util.displayImage(mask)
#
# mask1 = sia.bandPattern(mask_size, 10, 50, 100)
# mask2 = sia.bandPattern(mask_size, 100, 50, angle)
# mask3 = sia.bandPattern(mask_size, 10, 100, angle)
# mask4 = sia.bandPattern(mask_size, 150, 75, 265)
Ejemplo n.º 13
0
import cv2
import numpy as np

import src.project.ImageSynthesisNoise as noise
import src.project.SelectiveImageAcquisition as aqc
import src.project.Utilities as util

cardiac = util.loadImage("images/cardiac.jpg")
normal_cardiac = util.normalizeImage(cardiac)
dft_cardiac = util.getDFT(normal_cardiac)
height, width = cardiac.shape
cardiac_size = np.array([height, width])

brain = util.loadImage("images/brain.png")
normal_brain = util.normalizeImage(brain)
dft_brain = util.getDFT(normal_brain)
height, width = brain.shape
brain_size = np.array([height, width])

cutoff = np.array([5, 20, 45, 60])
order = np.array([1, 2, 3, 4])
for i in cutoff:
    for j in order:
        p6mask = noise.butterworthLowpassFilter(brain_size, i, j)
        p6applied = util.applyMask(dft_brain, p6mask)
        p6image = util.getImage(p6applied)
        p6fimage = util.post_process_image(p6image)
        filename = "p6_Masked_Image_" + str(i) + "_" + str(j) + ".jpg"
        snr_p6 = util.signalToNoise(brain, p6fimage)
        print(filename, snr_p6)
        util.saveImage(filename, p6fimage)