Module sleplet.noise
Methods to handle noise in Fourier or wavelet space.
Functions
def compute_sigma_noise(signal: numpy.ndarray[typing.Any, numpy.dtype[numpy.complex128 | numpy.float64]], snr_in: float, *, denominator: int | None = None) ‑> float
-
Compute the standard deviation of the noise.
Args
signal
- The noised signal.
snr_in
- The parameter controlling the signal-to-noise.
denominator
- Coefficients to use in computing the noise, defaults to all.
Returns
The standard deviation of the noise.
def compute_slepian_mesh_sigma_j(mesh_slepian: MeshSlepian, signal: numpy.ndarray[typing.Any, numpy.dtype[numpy.complex128 | numpy.float64]], psi_j: numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]], snr_in: float) ‑> numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]]
-
Compute \sigma_{j} for wavelets used in denoising the signal.
Args
mesh_slepian
- The Slepian mesh object containing the eigensolutions.
signal
- The noised signal.
psi_j
- The Slepian wavelet coefficients.
snr_in
- The parameter controlling the signal-to-noise ratio.
Returns
The standard deviation of the noise.
def compute_snr(signal: numpy.ndarray[typing.Any, numpy.dtype[numpy.complex128 | numpy.float64]], noise: numpy.ndarray[typing.Any, numpy.dtype[numpy.complex128 | numpy.float64]], signal_type: str) ‑> float
-
Compute the signal to noise ratio.
Args
signal
- The unnoised signal.
noise
- The noised signal.
signal_type
- Specifier to improve logging.
Returns
The signal-to-noise value of the noised signal.
def harmonic_hard_thresholding(L: int, wav_coeffs: numpy.ndarray[typing.Any, numpy.dtype[numpy.complex128]], sigma_j: numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]], n_sigma: int) ‑> numpy.ndarray[typing.Any, numpy.dtype[numpy.complex128]]
-
Perform thresholding in harmonic space.
Args
L
- The spherical harmonic bandlimit.
wav_coeffs
- The harmonic wavelet coefficients.
sigma_j
- The wavelet standard deviation \sigma_{j}.
n_sigma
- The number of \sigma_{j} to threshold.
Returns
The thresholded wavelet coefficients.
def slepian_function_hard_thresholding(L: int, coefficients: numpy.ndarray[typing.Any, numpy.dtype[numpy.complex128 | numpy.float64]], sigma: float, n_sigma: int, slepian: SlepianFunctions) ‑> numpy.ndarray[typing.Any, numpy.dtype[numpy.complex128]]
-
Perform thresholding in Slepian space.
Args
L
- The spherical harmonic bandlimit.
coefficients
- The Slepian coefficients.
sigma
- The standard deviation of the noise \sigma.
n_sigma
- The number of \sigma to threshold.
slepian
- The given Slepian object.
Returns
The thresholded Slepian coefficients.
def slepian_mesh_hard_thresholding(mesh_slepian: MeshSlepian, wav_coeffs: numpy.ndarray[typing.Any, numpy.dtype[numpy.complex128 | numpy.float64]], sigma_j: numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]], n_sigma: int) ‑> numpy.ndarray[typing.Any, numpy.dtype[numpy.complex128 | numpy.float64]]
-
Perform thresholding in Slepian space of the mesh.
Args
mesh_slepian
- The Slepian mesh object containing the eigensolutions.
wav_coeffs
- The Slepian wavelet coefficients of the mesh.
sigma_j
- The wavelet standard deviation \sigma_{j}.
n_sigma
- The number of \sigma to threshold.
Returns
The thresholded wavelet coefficients of the mesh.
def slepian_wavelet_hard_thresholding(L: int, wav_coeffs: numpy.ndarray[typing.Any, numpy.dtype[numpy.complex128 | numpy.float64]], sigma_j: numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]], n_sigma: int, slepian: SlepianFunctions) ‑> numpy.ndarray[typing.Any, numpy.dtype[numpy.complex128 | numpy.float64]]
-
Perform thresholding in Slepian wavelet space.
Args
L
- The spherical harmonic bandlimit.
wav_coeffs
- The Slepian wavelet coefficients
sigma_j
- The wavelet standard deviation \sigma_{j}.
n_sigma
- The number of \sigma_{j} to threshold.
slepian
- The given Slepian object.
Returns
The hard thresholded Slepian wavelet coefficients.