semvec/pypi-packages huggingface dataset:
CSVD 0.1.6
Fast and Scalable Water Removal in MR Spectroscopic Data using Casorati Lanczos Singular Value Decomposition
Requires Python: >=3.6

# CSVD
Fast and Scalable Water Removal in MR Spectroscopic Data using Casorati Lanczos Singular Value Decomposition 

**Example code:**
```python

import numpy as np
import matplotlib.pyplot as plt
from numpy.fft import fft, fftshift

from CSVD import CSVD

t=np.arange(0,1024)*.01
ampl = np.random.normal(1,0.2,(1000,1))
fr = np.random.normal(-15,0.1,(1000,1))
sig1 = ampl * np.exp(-2*t) *np.exp(2*np.pi*fr*t*1j)

ampl2 = np.random.normal(1,0.2,(1000,1))
fr2 = np.random.normal(0,0.1,(1000,1))
sig2 = ampl2 * np.exp(-2*t) *np.exp(2*np.pi*fr2*t*1j)

ampl3 = np.random.normal(1,0.2,(1000,1))
fr3 = np.random.normal(15,0.1,(1000,1))
sig3 = ampl3 * np.exp(-2*t) *np.exp(2*np.pi*fr3*t*1j)

sig = sig1 + sig2 +sig3
noise = np.random.normal(0,1,(sig.shape)) + 1j*np.random.normal(0,1,(sig.shape))
sig = sig + 0.1*noise

csvd = CSVD(sig.T, 0.01)

sig_ = csvd.remove('auto',([-5,-20],[5,-10]),3)
plt.plot(fftshift(fft(sig[0,:])).T)
plt.plot(fftshift(fft(sig_[:,0])).T)
plt.legend(['Orginal signal', 'Water-removed signal'])
plt.savefig('example.jpg')
plt.show()

```
**output:**
![example](/test/example.jpg)


**Acknowledgments**

This project has received funding from the European Union's Horizon 2020 research and innovation program under the Marie Sklodowska-Curie grant agreement No 813120.