summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Wrappers/Python/test/run_test.py148
1 files changed, 96 insertions, 52 deletions
diff --git a/Wrappers/Python/test/run_test.py b/Wrappers/Python/test/run_test.py
index 19af0ec..04bbd40 100644
--- a/Wrappers/Python/test/run_test.py
+++ b/Wrappers/Python/test/run_test.py
@@ -9,7 +9,11 @@ def rmse(im1, im2):
return rmse
class TestRegularisers(unittest.TestCase):
- def __init__(self):
+
+ def setUp(self):
+ pass
+
+ def test_cpu_regularisers(self):
filename = os.path.join(".." , ".." , ".." , "data" ,"lena_gray_512.tif")
# read noiseless image
@@ -17,89 +21,129 @@ class TestRegularisers(unittest.TestCase):
Im = np.asarray(Im, dtype='float32')
Im = Im/255
- self.u0 = Im
- self.Im = Im
- self.tolerance = 1e-05
- self.rms_rof_exp = 0.006812507 #expected value for ROF model
- self.rms_fgp_exp = 0.019152347 #expected value for FGP model
+ tolerance = 1e-05
+ rms_rof_exp = 0.006812507 #expected value for ROF model
+ rms_fgp_exp = 0.019152347 #expected value for FGP model
# set parameters for ROF-TV
- self.pars_rof_tv = {'algorithm': ROF_TV, \
- 'input' : self.u0,\
- 'regularisation_parameter':0.04,\
- 'number_of_iterations': 50,\
- 'time_marching_parameter': 0.0025
- }
+ pars_rof_tv = {'algorithm': ROF_TV, \
+ 'input' : Im,\
+ 'regularisation_parameter':0.04,\
+ 'number_of_iterations': 50,\
+ 'time_marching_parameter': 0.0025
+ }
# set parameters for FGP-TV
- self.pars_fgp_tv = {'algorithm' : FGP_TV, \
- 'input' : self.u0,\
- 'regularisation_parameter':0.04, \
- 'number_of_iterations' :50 ,\
- 'tolerance_constant':1e-08,\
- 'methodTV': 0 ,\
- 'nonneg': 0 ,\
- 'printingOut': 0
- }
- def test_cpu_regularisers(self):
+ pars_fgp_tv = {'algorithm' : FGP_TV, \
+ 'input' : Im,\
+ 'regularisation_parameter':0.04, \
+ 'number_of_iterations' :50 ,\
+ 'tolerance_constant':1e-08,\
+ 'methodTV': 0 ,\
+ 'nonneg': 0 ,\
+ 'printingOut': 0
+ }
print ("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
print ("_________testing ROF-TV (2D, CPU)__________")
print ("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
- rof_cpu = ROF_TV(self.pars_rof_tv['input'],
- self.pars_rof_tv['regularisation_parameter'],
- self.pars_rof_tv['number_of_iterations'],
- self.pars_rof_tv['time_marching_parameter'],'cpu')
- rms_rof = rmse(self.Im, rof_cpu)
+ res = True
+ rof_cpu = ROF_TV(pars_rof_tv['input'],
+ pars_rof_tv['regularisation_parameter'],
+ pars_rof_tv['number_of_iterations'],
+ pars_rof_tv['time_marching_parameter'],'cpu')
+ rms_rof = rmse(Im, rof_cpu)
# now compare obtained rms with the expected value
+ self.assertLess(abs(rms_rof-rms_rof_exp) , tolerance)
+ """
if abs(rms_rof-self.rms_rof_exp) > self.tolerance:
raise TypeError('ROF-TV (2D, CPU) test FAILED')
else:
print ("test PASSED")
+ """
print ("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
print ("_________testing FGP-TV (2D, CPU)__________")
print ("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
- fgp_cpu = FGP_TV(self.pars_fgp_tv['input'],
- self.pars_fgp_tv['regularisation_parameter'],
- self.pars_fgp_tv['number_of_iterations'],
- self.pars_fgp_tv['tolerance_constant'],
- self.pars_fgp_tv['methodTV'],
- self.pars_fgp_tv['nonneg'],
- self.pars_fgp_tv['printingOut'],'cpu')
- rms_fgp = rmse(self.Im, fgp_cpu)
+ fgp_cpu = FGP_TV(pars_fgp_tv['input'],
+ pars_fgp_tv['regularisation_parameter'],
+ pars_fgp_tv['number_of_iterations'],
+ pars_fgp_tv['tolerance_constant'],
+ pars_fgp_tv['methodTV'],
+ pars_fgp_tv['nonneg'],
+ pars_fgp_tv['printingOut'],'cpu')
+ rms_fgp = rmse(Im, fgp_cpu)
# now compare obtained rms with the expected value
+ self.assertLess(abs(rms_fgp-rms_fgp_exp) , tolerance)
+ """
if abs(rms_fgp-self.rms_fgp_exp) > self.tolerance:
raise TypeError('FGP-TV (2D, CPU) test FAILED')
else:
print ("test PASSED")
+ """
+ self.assertTrue(res)
def test_gpu_regularisers(self):
+ filename = os.path.join(".." , ".." , ".." , "data" ,"lena_gray_512.tif")
+
+ # read noiseless image
+ Im = plt.imread(filename)
+ Im = np.asarray(Im, dtype='float32')
+
+ Im = Im/255
+ tolerance = 1e-05
+ rms_rof_exp = 0.006812507 #expected value for ROF model
+ rms_fgp_exp = 0.019152347 #expected value for FGP model
+
+ # set parameters for ROF-TV
+ pars_rof_tv = {'algorithm': ROF_TV, \
+ 'input' : Im,\
+ 'regularisation_parameter':0.04,\
+ 'number_of_iterations': 50,\
+ 'time_marching_parameter': 0.0025
+ }
+ # set parameters for FGP-TV
+ pars_fgp_tv = {'algorithm' : FGP_TV, \
+ 'input' : Im,\
+ 'regularisation_parameter':0.04, \
+ 'number_of_iterations' :50 ,\
+ 'tolerance_constant':1e-08,\
+ 'methodTV': 0 ,\
+ 'nonneg': 0 ,\
+ 'printingOut': 0
+ }
print ("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
print ("_________testing ROF-TV (2D, GPU)__________")
print ("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
- rof_gpu = ROF_TV(self.pars_rof_tv['input'],
- self.pars_rof_tv['regularisation_parameter'],
- self.pars_rof_tv['number_of_iterations'],
- self.pars_rof_tv['time_marching_parameter'],'gpu')
- rms_rof = rmse(self.Im, rof_gpu)
+ res = True
+ rof_gpu = ROF_TV(pars_rof_tv['input'],
+ pars_rof_tv['regularisation_parameter'],
+ pars_rof_tv['number_of_iterations'],
+ pars_rof_tv['time_marching_parameter'],'gpu')
+ rms_rof = rmse(Im, rof_gpu)
# now compare obtained rms with the expected value
+ self.assertLess(abs(rms_rof-rms_rof_exp) , tolerance)
+ """
if abs(rms_rof-self.rms_rof_exp) > self.tolerance:
raise TypeError('ROF-TV (2D, GPU) test FAILED')
else:
print ("test PASSED")
+ """
print ("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
print ("_________testing FGP-TV (2D, GPU)__________")
print ("%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
- fgp_gpu = FGP_TV(self.pars_fgp_tv['input'],
- self.pars_fgp_tv['regularisation_parameter'],
- self.pars_fgp_tv['number_of_iterations'],
- self.pars_fgp_tv['tolerance_constant'],
- self.pars_fgp_tv['methodTV'],
- self.pars_fgp_tv['nonneg'],
- self.pars_fgp_tv['printingOut'],'gpu')
- rms_fgp = rmse(self.Im, fgp_gpu)
+ fgp_gpu = FGP_TV(pars_fgp_tv['input'],
+ pars_fgp_tv['regularisation_parameter'],
+ pars_fgp_tv['number_of_iterations'],
+ pars_fgp_tv['tolerance_constant'],
+ pars_fgp_tv['methodTV'],
+ pars_fgp_tv['nonneg'],
+ pars_fgp_tv['printingOut'],'gpu')
+ rms_fgp = rmse(Im, fgp_gpu)
+ # now compare obtained rms with the expected value
+ self.assertLess(abs(rms_fgp-rms_fgp_exp) , tolerance)
+ """
if abs(rms_fgp-self.rms_fgp_exp) > self.tolerance:
raise TypeError('FGP-TV (2D, GPU) test FAILED')
else:
print ("test PASSED")
- # now compare obtained rms with the expected value
- #self.assertLess(...)
-#if __name__ == '__main__':
- #unittest.main() \ No newline at end of file
+ """
+ self.assertTrue(res)
+if __name__ == '__main__':
+ unittest.main() \ No newline at end of file