Exemple #1
0
 def test_08(self):
     lmbda = 3
     opt = tvl1.TVL1Denoise.Options({'MaxMainIter': 20})
     b = tvl1.TVL1Denoise(self.D, lmbda, opt)
     b.solve()
     opt['Y0'] = b.Y
     try:
         c = tvl1.TVL1Denoise(self.D, lmbda, opt)
         c.solve()
     except Exception as e:
         print(e)
         assert 0
Exemple #2
0
 def test_01(self):
     lmbda = 3
     try:
         b = tvl1.TVL1Denoise(self.D, lmbda)
         b.solve()
     except Exception as e:
         print(e)
         assert 0
Exemple #3
0
 def test_01(self):
     lmbda = 3
     opt = tvl1.TVL1Denoise.Options({
         'Verbose': False,
         'gEvalY': False,
         'MaxMainIter': 250
     })
     b = tvl1.TVL1Denoise(self.D, lmbda, opt, axes=(0, 1, 2))
     X = b.solve()
     assert cp.abs(b.itstat[-1].ObjFun - 6219.6209699337605) < 1e-6
     assert sm.mse(self.U, X) < 1e-6
Exemple #4
0
 def test_01(self):
     lmbda = 3
     opt = tvl1.TVL1Denoise.Options({
         'Verbose': False,
         'gEvalY': False,
         'MaxMainIter': 250
     })
     b = tvl1.TVL1Denoise(self.D, lmbda, opt)
     X = b.solve()
     assert cp.abs(b.itstat[-1].ObjFun - 447.78101756451662) < 1e-6
     assert sm.mse(self.U, X) < 1e-6
Exemple #5
0
 def test_05(self):
     lmbda = 3
     dt = cp.float64
     opt = tvl1.TVL1Denoise.Options({
         'Verbose': False,
         'MaxMainIter': 20,
         'AutoRho': {
             'Enabled': True
         },
         'DataType': dt
     })
     b = tvl1.TVL1Denoise(self.D, lmbda, opt=opt)
     b.solve()
     assert b.X.dtype == dt
     assert b.Y.dtype == dt
     assert b.U.dtype == dt


"""
Create solver object and solve, returning the the denoised image ``imgr``.
"""

if not cupy_enabled():
    print('CuPy/GPU device not available: running without GPU acceleration\n')
else:
    id = select_device_by_load()
    info = gpu_info()
    if info:
        print('Running on GPU %d (%s)\n' % (id, info[id].name))

b = tvl1.TVL1Denoise(np2cp(imgn), lmbda, opt)
imgr = cp2np(b.solve())


"""
Display solve time and denoising performance.
"""

print("TVL1Denoise solve time: %5.2f s" % b.timer.elapsed('solve'))
print("Noisy image PSNR:    %5.2f dB" % metric.psnr(img, imgn))
print("Denoised image PSNR: %5.2f dB" % metric.psnr(img, imgr))


"""
Display reference, corrupted, and denoised images.
"""