from bilevel_imaging_toolbox import solvers from bilevel_imaging_toolbox import image_utils from bilevel_imaging_toolbox import plot_utils ### Testing dual rof model # Loading image image = image_utils.load_image('../examples/images/cameraman.png') # Convert it to grayscale image = image_utils.convert_to_grayscale(image) # Add impulse noise to the image n_image = image_utils.add_impulse_noise(image,amount=0.2) # Add gaussian noise to the image #g_image = image_utils.add_gaussian_noise(image,var=0.01) # Parameter Definition # clambda = 0.1 # sigma = 1.9 # tau = 0.9/sigma clambda = 0.15 sigma = 1.9 tau = 0.9/sigma # Call the solver using Forward-Backward #(fb_image,fb_values) = solvers.forward_backward_ROF(n_image,clambda,tau,iters=50) # Call the solver using Chambolle-Pock (cp_image,cp_values) = solvers.chambolle_pock_ROF(n_image,clambda,tau,sigma,iters=200) #(cpg_image,cpg_values) = solvers.chambolle_pock_ROF(g_image,clambda,tau,sigma,iters=200) clambda = 0.6 sigma = 1.9 tau = 0.9/sigma
from bilevel_imaging_toolbox import solvers from bilevel_imaging_toolbox import image_utils from bilevel_imaging_toolbox import plot_utils ### Testing dual rof model # Loading image image = image_utils.load_image('../examples/images/lena.png') # Convert it to grayscale image = image_utils.convert_to_grayscale(image) # Add impulse noise to the image n_image = image_utils.add_impulse_noise(image,amount=0.2) # Plot both images #image_utils.show_collection([image,n_image],["original","gaussian noise"]) # Parameter Definition clambda = 0.9 tau = 1 sigma = 1/tau # Call the solver using Chambolle-Pock (cp_image,cp_values) = solvers.chambolle_pock_TVl1(n_image,clambda,tau,sigma,iters=200) # Plot resulting images image_utils.show_collection([image,n_image,cp_image],["original","s&p","denoised impulse tv-l1"]) plot_utils.plot_collection([cp_values],["CP"])
from bilevel_imaging_toolbox import cuda_solvers from bilevel_imaging_toolbox import solvers from bilevel_imaging_toolbox import image_utils ### Testing dual rof model # Loading image image_path = '../examples/images/Playing_Cards_3.png' image = image_utils.load_image(image_path) # Convert it to grayscale image = image_utils.convert_to_grayscale(image) # Add gaussian noise to the image g_image = image_utils.add_gaussian_noise(image, var=0.02) clambda = 8 tau = 0.25 sigma = 1 / (tau * 8) #Call the solver using Chambolle-Pock #(cp_image,cp_values) = solvers.chambolle_pock_ROF(g_image,clambda,tau,sigma,200) # Call the solver using CUDA Chambolle-Pock (ccp_image, ccp_values) = cuda_solvers.chambolle_pock_ROF_CUDA(g_image, clambda, tau, sigma, 100) image_utils.save_image(ccp_image, 'CUDA_ROF_PC3.png') # Plot resulting images #image_utils.show_collection([image,g_image,fb_image,cp_image],["original","gaussian noise","denoised FB","denoised CP"]) #plot_utils.plot_collection([fb_values,cp_values],["FB","CP"])
from bilevel_imaging_toolbox import cuda_solvers from bilevel_imaging_toolbox import solvers from bilevel_imaging_toolbox import image_utils ### Testing dual rof model # Loading image image = image_utils.load_image('../examples/images/Playing_Cards_3.png') # Convert it to grayscale image = image_utils.convert_to_grayscale(image) # Add gaussian noise to the image #n_image = image_utils.add_impulse_noise(image,amount=0.2) clambda = 0.2 sigma = 1.9 tau = 0.9 / sigma #Call the solver using Chambolle-Pock #(cp_image,cp_values) = solvers.chambolle_pock_ROF(g_image,clambda,tau,sigma,200) # Call the solver using CUDA Chambolle-Pock (ccp_image, ccp_values) = cuda_solvers.chambolle_pock_TVl1_CUDA(image, clambda, tau, sigma, 100) image_utils.save_image(ccp_image, 'CUDA_TVl1_PC3.png') # Plot resulting images #image_utils.show_collection([image,g_image,fb_image,cp_image],["original","gaussian noise","denoised FB","denoised CP"]) #plot_utils.plot_collection([fb_values,cp_values],["FB","CP"])