diff --git a/denoising-plots/.ipynb_checkpoints/Untitled-checkpoint.ipynb b/denoising-plots/.ipynb_checkpoints/Untitled-checkpoint.ipynb deleted file mode 100644 index 2d4751c9dd5597e0bc92c06c2ec65ce0bca0e323..0000000000000000000000000000000000000000 --- a/denoising-plots/.ipynb_checkpoints/Untitled-checkpoint.ipynb +++ /dev/null @@ -1,139 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "id": "f5605c04", - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import scipy\n", - "import matplotlib.pyplot as plt\n", - "import quaternion # load the quaternion module\n", - "import bispy as bsp\n", - "import torch\n", - "import tqdm\n", - "import time\n", - "from sklearn.preprocessing import normalize\n", - "from utils import STIS,optimize_loop,snr_bivariate,param_search,objective_STIS,objective_KReSP,KReSP\n", - "from ray import tune,init\n", - "from tempfile import TemporaryFile\n", - "import pickle\n", - "\n", - "init(num_cpus=13)\n", - "\n", - "## PLOT AN EXAMPLE \n", - "\n", - "np.random.seed(5)\n", - "N = 1024 # length of the signal\n", - "t = np.linspace(0, 2*np.pi/4, N) # time vector\n", - "dt = t[1]-t[0]\n", - "\n", - "# ellipse parameters - AM-FM-PM polarized \n", - "theta1 = np.pi/4 - 2*t\n", - "chi1 = np.pi/16 - t\n", - "phi1 = 0 \n", - "f0 = 25/N/dt \n", - "S0 = bsp.utils.windows.hanning(N)\n", - "\n", - "x_quad = bsp.signals.bivariateAMFM(S0, theta1, chi1, 2*np.pi*f0*t+ phi1)\n", - "x = quaternion.as_float_array(x_quad)[:,:2]\n", - "\n", - "bsp.utils.visual.plot2D(t,x_quad)\n", - "plt.savefig(\"clean_sig.pdf\")\n", - "\n", - "sigma = 0.05\n", - "n = np.zeros([N,4])\n", - "noise_complex = np.random.randn(N,2)\n", - "y = x + noise_complex\n", - "\n", - "uH = np.imag(scipy.signal.hilbert(noise_complex[:,0]))\n", - "vH = np.imag(scipy.signal.hilbert(noise_complex[:,1]))\n", - "n[:,0] = noise_complex[:,0]\n", - "n[:,1] = noise_complex[:,1]\n", - "n[:,2] = uH\n", - "n[:,3] = vH\n", - "n = quaternion.from_float_array(n)\n", - "y_quad = sigma*n + x_quad # Noisy signal\n", - "\n", - "bsp.utils.visual.plot2D(t,y_quad)\n", - "plt.savefig(\"noisy_sig.pdf\")\n", - "n = np.random.randn(N,2)\n", - "y = sigma*n + x # Noisy signal\n", - "\n", - "print(\"sigma: \" + str(sigma) + \" Noise SNR: \"+ str(snr_bivariate(x,y) ) )\n", - "search_space = {\"x\":tune.grid_search([x]),\"t\":tune.grid_search([t]),\"y\":tune.grid_search([y]),\"lambdax\": tune.grid_search((0.1)**np.linspace(5,15,7)), \"lambdaS\": tune.grid_search((0.1)**np.linspace(5,10,7)) , \"beta1\":tune.grid_search((0.10)**np.linspace(-2,2,5)),\"beta2\":tune.grid_search((0.10)**np.linspace(-2,2,5)),\"sigma2\":tune.grid_search([sigma**2])}\n", - "config = param_search(objective_STIS,search_space)\n", - "model = STIS(t,y,lambdax=config[\"lambdax\"],lambdaS=config[\"lambdaS\"],beta1=config[\"beta1\"],beta2=config[\"beta2\"],sigma2=sigma**2,p=2)\n", - "optimizer = torch.optim.Adam(model.parameters(), lr=0.01)\n", - "model = optimize_loop(model,optimizer,numit=1000)\n", - "\n", - "x_stis = quaternion.from_float_array(model.Xquad.detach().numpy())\n", - "bsp.utils.visual.plot2D(t,x_stis)\n", - "plt.savefig(\"denoised_via_all_terms.pdf\")\n", - "\n", - "print(\"sigma: \" + str(sigma) + \" STIS SNR: \"+ str(snr_bivariate(x,model.X.detach().numpy())))\n", - "\n", - "\n", - "# NO STOKES REGULARIZATION \n", - "search_space = {\"x\":tune.grid_search([x]),\"t\":tune.grid_search([t]),\"y\":tune.grid_search([y]),\"lambdax\": tune.grid_search((0.1)**np.linspace(5,15,7)), \"lambdaS\":tune.grid_search([0.0]) , \"beta1\":tune.grid_search([0.0]),\"beta2\":tune.grid_search([0.0]),\"sigma2\":tune.grid_search([sigma**2])}\n", - "config = param_search(objective_STIS,search_space)\n", - "model = STIS(t,y,lambdax=config[\"lambdax\"],lambdaS=config[\"lambdaS\"],beta1=config[\"beta1\"],beta2=config[\"beta2\"],sigma2=sigma**2,p=2)\n", - "optimizer = torch.optim.Adam(model.parameters(), lr=0.01)\n", - "model = optimize_loop(model,optimizer,numit=1000)\n", - "\n", - "print(\"sigma: \" + str(sigma) + \" STIS SNR: \"+ str((snr_bivariate(x,model.X.detach().numpy()))))\n", - "x_stis = quaternion.from_float_array(model.Xquad.detach().numpy())\n", - "bsp.utils.visual.plot2D(t,x_stis)\n", - "plt.savefig(\"denoised_via_no_stokes.pdf\")\n", - "\n", - "# ONLY SMOOTH STOKES\n", - "search_space = {\"x\":tune.grid_search([x]),\"t\":tune.grid_search([t]),\"y\":tune.grid_search([y]),\"lambdax\": tune.grid_search([0.0]), \"lambdaS\": tune.grid_search((0.1)**np.linspace(5,10,7)) , \"beta1\":tune.grid_search((0.1)**np.linspace(-2,2,7)),\"beta2\":tune.grid_search((0.1)**np.linspace(-2,2,5)),\"sigma2\":tune.grid_search([sigma**2])}\n", - "config = param_search(objective_STIS,search_space)\n", - "model = STIS(t,y,lambdax=config[\"lambdax\"],lambdaS=config[\"lambdaS\"],beta1=config[\"beta1\"],beta2=config[\"beta2\"],sigma2=sigma**2,p=2)\n", - "optimizer = torch.optim.Adam(model.parameters(), lr=0.01)\n", - "model = optimize_loop(model,optimizer,numit=1000)\n", - "x_stis = quaternion.from_float_array(model.Xquad.detach().numpy())\n", - "bsp.utils.visual.plot2D(t,x_stis)\n", - "plt.savefig(\"denoised_via_no_signal_smoother.pdf\")\n", - "\n", - "print(\"sigma: \" + str(sigma) + \" STIS SNR: \"+ str((snr_bivariate(x,model.X.detach().numpy()))))\n", - "\n", - "# Kernel regression on normalized \n", - "search_space = {\"x\":tune.grid_search([x]),\"t\":tune.grid_search([t]),\"y\":tune.grid_search([y]),\"alpha\": tune.grid_search((0.1)**np.linspace(5,15,7)),\"lambda_1\": tune.grid_search((0.1)**np.linspace(5,15,7)), \"lambda_s\": tune.grid_search((0.1)**np.linspace(5,10,7)) , \"beta\":tune.grid_search((0.10)**np.linspace(-2,2,7)),\"gamma\":tune.grid_search([0.2]),\"sigma2\":tune.grid_search([sigma**2])}\n", - "config = param_search(objective_KReSP,search_space)\n", - "model = KReSP(t,y,lambda_1=config[\"lambda_1\"],beta=config[\"beta\"],lambda_s=config[\"lambda_s\"],alpha=config[\"alpha\"],gamma=config[\"gamma\"],eps=10**-7,win_width=32,sigma2=sigma**2)\n", - "optimizer = torch.optim.Adam(model.parameters(), lr=0.01)\n", - "model = optimize_loop(model,optimizer,numit=300)\n", - "\n", - "\n", - "print(\"sigma: \" + str(sigma) + \" KReSP SNR: \"+ str(snr_bivariate(x,model.X.detach().numpy())))\n", - "x_kerreg = quaternion.from_float_array(model.Xquad.detach().numpy())\n", - "bsp.utils.visual.plot2D(t,x_kerreg)\n", - "plt.savefig(\"denoised_via_kerreg.pdf\")" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.11.3" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/denoising-plots/.vscode/settings.json b/denoising-plots/.vscode/settings.json deleted file mode 100644 index 9e26dfeeb6e641a33dae4961196235bdb965b21b..0000000000000000000000000000000000000000 --- a/denoising-plots/.vscode/settings.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/denoising-plots/__pycache__/utils.cpython-310.pyc b/denoising-plots/__pycache__/utils.cpython-310.pyc deleted file mode 100644 index e849215aeb954d30eeab762af367b765ff57cd5a..0000000000000000000000000000000000000000 Binary files a/denoising-plots/__pycache__/utils.cpython-310.pyc and /dev/null differ diff --git a/denoising-plots/__pycache__/utils.cpython-311.pyc b/denoising-plots/__pycache__/utils.cpython-311.pyc deleted file mode 100644 index 114ceef33bc818fe6e5258e6e708523aedb6f567..0000000000000000000000000000000000000000 Binary files a/denoising-plots/__pycache__/utils.cpython-311.pyc and /dev/null differ