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.