lib.gradient module¶
GRADIENT CLASSES
This module contains classses for defining PSF deconvolution specific gradients.
| Author: | Samuel Farrens <samuel.farrens@gmail.com> |
|---|---|
| Version: | 1.0 |
| Date: | 19/07/2017 |
-
class
lib.gradient.GradKnownPSF(data, psf, psf_type='fixed')[source]¶ Bases:
lib.gradient.GradPSFGradient class for a known PSF
This class calculates the gradient when the PSF is known
Parameters: - data (np.ndarray) – Input data array, an array of 2D observed images (i.e. with noise)
- psf (np.ndarray) – PSF, a single 2D PSF or an array of 2D PSFs
- psf_type (str {'fixed', 'obj_var'}) – PSF type (defualt is ‘fixed’)
Notes
The properties of GradPSF are inherited in this class
-
class
lib.gradient.GradNone(data, psf, psf_type='fixed')[source]¶ Bases:
lib.gradient.GradPSFNo gradient class
This is a dummy class that returns an array of zeroes for the gradient
Parameters: - data (np.ndarray) – Input data array, an array of 2D observed images (i.e. with noise)
- psf (np.ndarray) – PSF, a single 2D PSF or an array of 2D PSFs
- psf_type (str {'fixed', 'obj_var'}) – PSF type (defualt is ‘fixed’)
-
class
lib.gradient.GradPSF(data, psf, psf_type='fixed')[source]¶ Bases:
sf_tools.math.matrix.PowerMethodGradient class for PSF convolution
This class defines the operators for a fixed or object variant PSF
Parameters: - data (np.ndarray) – Input data array, an array of 2D observed images (i.e. with noise)
- psf (np.ndarray) – PSF, a single 2D PSF or an array of 2D PSFs
- psf_type (str {'fixed', 'obj_var'}) – PSF type (defualt is ‘fixed’)
Notes
The properties of PowerMethod are inherited in this class
-
H_op(x)[source]¶ H matrix operation
This method calculates the action of the matrix H on the input data, in this case the convolution of the the input data with the PSF
Parameters: x (np.ndarray) – Input data array, an array of recovered 2D images Returns: Return type: np.ndarray result
-
Ht_op(x)[source]¶ Ht matrix operation
This method calculates the action of the transpose of the matrix H on the input data, in this case the convolution of the the input data with the rotated PSF
Parameters: x (np.ndarray) – Input data array, an array of recovered 2D images Returns: Return type: np.ndarray result
-
class
lib.gradient.GradShape(data, psf, psf_type='fixed', lambda_reg=1)[source]¶ Bases:
lib.gradient.GradPSFGradient class for shape constraint
This class calculates the gradient including shape constraint
Parameters: - data (np.ndarray) – Input data array, an array of 2D observed images (i.e. with noise)
- psf (np.ndarray) – PSF, a single 2D PSF or an array of 2D PSFs
- psf_type (str {'fixed', 'obj_var'}) – PSF type (defualt is ‘fixed’)
- lambda_reg (float) – Regularisation control parameter
Notes
The properties of GradPSF are inherited in this class
-
class
lib.gradient.GradUnknownPSF(data, psf, prox, psf_type='fixed', beta_reg=1, lambda_reg=1)[source]¶ Bases:
lib.gradient.GradPSFGradient class for a unknown PSF
This class calculates the gradient when the PSF is not fully known
Parameters: - data (np.ndarray) – Input data array, an array of 2D observed images (i.e. with noise)
- psf (np.ndarray) – PSF, a single 2D PSF or an array of 2D PSFs
- psf_type (str {'fixed', 'obj_var'}) – PSF type (defualt is ‘fixed’)
- prox (class) – Proximity operator for PSF update
- beta_reg (float) – Gradient step size
- lambda_reg (float) – Regularisation control parameter
Notes
The properties of GradPSF are inherited in this class