lsst.scarlet.lite gae0086650b+585e252eca
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | List of all members
lsst.scarlet.lite.observation.Observation Class Reference
Inheritance diagram for lsst.scarlet.lite.observation.Observation:
lsst.scarlet.lite.models.fit_psf.FittedPsfObservation

Public Member Functions

 __init__ (self, np.ndarray|Image images, np.ndarray|Image variance, np.ndarray|Image weights, np.ndarray psfs, np.ndarray|None model_psf=None, np.ndarray|None noise_rms=None, Box|None bbox=None, tuple|None bands=None, int padding=3, str convolution_mode="fft")
 
tuple bands (self)
 
Box bbox (self)
 
Image convolve (self, Image image, str|None mode=None, bool grad=False)
 
float log_likelihood (self, Image model)
 
tuple[int, int, int] shape (self)
 
int n_bands (self)
 
npt.DTypeLike dtype (self)
 
tuple[int, int, int, int] convolution_bounds (self)
 

Static Public Member Functions

Observation empty (tuple[Any] bands, np.ndarray psfs, np.ndarray model_psf, Box bbox, npt.DTypeLike dtype)
 

Public Attributes

 images
 
 variance
 
 weights
 
 psfs
 
 mode
 
 noise_rms
 
 model_psf
 
 padding
 
 diff_kernel
 
 grad_kernel
 

Protected Attributes

 _convolution_bounds
 

Detailed Description

A single observation

This class contains all of the observed images and derived
properties, like PSFs, variance map, and weight maps,
required for most optimizers.
This includes methods to match a scarlet model PSF to the oberved PSF
in each band.

Notes
-----
This is effectively a combination of the `Observation` and
`Renderer` class from scarlet main, greatly simplified due
to the assumptions that the observations are all resampled
onto the same pixel grid and that the `images` contain all
of the information for all of the model bands.

Parameters
----------
images:
    (bands, y, x) array of observed images.
variance:
    (bands, y, x) array of variance for each image pixel.
weights:
    (bands, y, x) array of weights to use when calculate the
    likelihood of each pixel.
psfs:
    (bands, y, x) array of the PSF image in each band.
model_psf:
    (bands, y, x) array of the model PSF image in each band.
    If `model_psf` is `None` then convolution is performed,
    which should only be done when the observation is a
    PSF matched coadd, and the scarlet model has the same PSF.
noise_rms:
    Per-band average noise RMS. If `noise_rms` is `None` then the mean
    of the sqrt of the variance is used.
bbox:
    The bounding box containing the model. If `bbox` is `None` then
    a `Box` is created that is the shape of `images` with an origin
    at `(0, 0)`.
padding:
    Padding to use when performing an FFT convolution.
convolution_mode:
    The method of convolution. This should be either "fft" or "real".

Constructor & Destructor Documentation

◆ __init__()

lsst.scarlet.lite.observation.Observation.__init__ ( self,
np.ndarray | Image images,
np.ndarray | Image variance,
np.ndarray | Image weights,
np.ndarray psfs,
np.ndarray | None model_psf = None,
np.ndarray | None noise_rms = None,
Box | None bbox = None,
tuple | None bands = None,
int padding = 3,
str convolution_mode = "fft" )

Member Function Documentation

◆ bands()

tuple lsst.scarlet.lite.observation.Observation.bands ( self)
The bands in the observations.

◆ bbox()

Box lsst.scarlet.lite.observation.Observation.bbox ( self)
The bounding box for the full observation.

◆ convolution_bounds()

tuple[int, int, int, int] lsst.scarlet.lite.observation.Observation.convolution_bounds ( self)
Build the slices needed for convolution in real space

◆ convolve()

Image lsst.scarlet.lite.observation.Observation.convolve ( self,
Image image,
str | None mode = None,
bool grad = False )
Convolve the model into the observed seeing in each band.

Parameters
----------
image:
    The 3D image to convolve.
mode:
    The convolution mode to use.
    This should be "real" or "fft" or `None`,
    where `None` will use the default `convolution_mode`
    specified during init.
grad:
    Whether this is a backward gradient convolution
    (`grad==True`) or a pure convolution with the PSF.

Returns
-------
result:
    The convolved image.

Reimplemented in lsst.scarlet.lite.models.fit_psf.FittedPsfObservation.

◆ dtype()

npt.DTypeLike lsst.scarlet.lite.observation.Observation.dtype ( self)
The dtype of the observation is the dtype of the images

◆ log_likelihood()

float lsst.scarlet.lite.observation.Observation.log_likelihood ( self,
Image model )
Calculate the log likelihood of the given model

Parameters
----------
model:
    Model to compare with the observed images.

Returns
-------
result:
    The log-likelihood of the given model.

◆ n_bands()

int lsst.scarlet.lite.observation.Observation.n_bands ( self)
The number of bands in the observation

◆ shape()

tuple[int, int, int] lsst.scarlet.lite.observation.Observation.shape ( self)
The shape of the images, variance, etc.

The documentation for this class was generated from the following file: