module documentation

Module containing small mathematical functions that are useful in lots of contexts

## Helpers for deconvolution routines ##

Working Definitions:
components
The pixel values of the underlying "real" image, i.e., our 'hypothetical' image
model
A "guess" as to what the underlying "real" image should be. Should be either a physically informed model (e.g., a synthetic image of Neptune) or the pixel values expected from an empty field (e.g., RMS noise values).
estimate
Our current estimate of the dirty_img (observation), is a convolution between the PSF and the components
dirty_img
The observation we are trying to deconvolve
psf
The (or an estimate of) the point spread function that transforms the underlying "real" image into the dirty_img (observation)
error
The estimate of the error on the value of each pixel in the dirty_img (observation). Should either be an RMS value, or a pixel map of values. Make the error for a pixel large if you want the solution to relax to the model values.
Useful Concepts:
entropy
A measure of how much extra information you have to add to a model. More information = more negative value.
Function entropy_adj Undocumented
Function entropy_pos Undocumented
Function entropy_pos_neg Undocumented
Function entropy_rel Undocumented
Function generalised_least_squares Undocumented
Function generalised_least_squares_mat Undocumented
Function generalised_least_squares_preconv Undocumented
Function logistic_function Undocumented
Function regularised_least_squares Undocumented
Variable Number Undocumented
def entropy_adj(components: np.ndarray, model: np.ndarray | float | int, error: np.ndarray | float | int = 1):

Undocumented

def entropy_pos(components: np.ndarray, model: np.ndarray | float | int) -> np.ndarray:

Undocumented

def entropy_pos_neg(components: np.ndarray, error: np.ndarray | float | int) -> np.ndarray:

Undocumented

def entropy_rel(components: np.ndarray, model: np.ndarray | float | int) -> np.ndarray:

Undocumented

def generalised_least_squares(components: np.ndarray, dirty_img: np.ndarray, cov_mat: np.ndarray | float | int, response: np.ndarray) -> np.ndarray:

Undocumented

def generalised_least_squares_mat(components: np.matrix, dirty_img: np.matrix, cov_mat: np.matrix, response: np.matrix) -> np.matrix:

Undocumented

def generalised_least_squares_preconv(estimate: np.ndarray, dirty_img: np.ndarray, cov_mat: np.ndarray | float | int) -> np.ndarray:

Undocumented

def logistic_function(x: Number | np.ndarray, left_limit: Number = 0, right_limit: Number = 1, transition_scale: Number = 1, centre: Number = 0) -> Number | np.ndarray:

Undocumented

def regularised_least_squares(components: np.ndarray, dirty_img: np.ndarray, error: np.ndarray | float | int, alpha: np.ndarray | float | int, response: np.ndarray, model: np.ndarray | float | int | None = None, regularising_func: Callable[[np.ndarray, (np.ndarray | float | int)], np.ndarray] = entropy_adj) -> np.ndarray:

Undocumented

Number =

Undocumented