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