Public Member Functions | |
| __init__ (self, Sequence[Source] sources, Observation observation, dict|None metadata=None) | |
| Image | get_model (self, bool convolve=False, bool use_flux=False) |
| float | log_likelihood (self) |
| Blend | fit_spectra (self, bool clip=False) |
| tuple[int, float] | fit (self, int max_iter, float e_rel=1e-4, int min_iter=15, int resize=10) |
| parameterize (self, Callable parameterization) | |
| None | conserve_flux (self, bool mask_footprint=True, Image|None weight_image=None) |
| ScarletBlendData | to_data (self) |
| Blend | __getitem__ (self, Any indices) |
| Blend | __copy__ (self) |
| Blend | __deepcopy__ (self, dict[int, Any] memo) |
Public Member Functions inherited from lsst.scarlet.lite.blend.BlendBase | |
| tuple[int, int, int] | shape (self) |
| Box | bbox (self) |
| list[Component] | components (self) |
| Self | __getitem__ (self, Any indices) |
| Self | __copy__ (self) |
| Self | __deepcopy__ (self, dict[int, Any] memo) |
| Self | copy (self, bool deep=False) |
Public Attributes | |
| observation = observation | |
| int | it = 0 |
| list | loss = [] |
Protected Member Functions | |
| tuple[Image, np.ndarray] | _grad_log_likelihood (self) |
Additional Inherited Members | |
Static Public Attributes inherited from lsst.scarlet.lite.blend.BlendBase | |
| Sequence | sources [SourceBase] |
| dict | metadata | None |
A single blend.
This class holds all of the sources and observation that are to be fit,
as well as performing fitting and joint initialization of the
spectral components (when applicable).
Parameters
----------
sources:
The sources to fit.
observation:
The observation that contains the images,
PSF, etc. that are being fit.
metadata:
Additional metadata to store with the blend.
| Blend lsst.scarlet.lite.blend.Blend.__copy__ | ( | self | ) |
Create a copy of this blend.
Returns
-------
blend : Blend
A new blend that is a copy of this one.
| Blend lsst.scarlet.lite.blend.Blend.__deepcopy__ | ( | self, | |
| dict[int, Any] | memo ) |
Create a deep copy of this blend.
Parameters
----------
memo : dict[int, Any]
A memoization dictionary used by `copy.deepcopy`.
Returns
-------
blend : Blend
A new blend that is a deep copy of this one.
| Blend lsst.scarlet.lite.blend.Blend.__getitem__ | ( | self, | |
| Any | indices ) |
Get a sub-blend corresponding to the given indices.
Parameters
----------
indices :
The indices to use to slice the blend.
Returns
-------
blend :
A new `Blend` instance containing only data from the
specified bands in the specified order.
Raises
------
IndexError :
If the indices contain bands not included in the original
blend or a bounding box is given.
|
protected |
Gradient of the likelihood wrt the unconvolved model
Returns
-------
result:
The gradient of the likelihood wrt the model
model_data:
The convol model data used to calculate the gradient.
This can be useful for debugging but is not used in
production.
Reimplemented in lsst.scarlet.lite.models.fit_psf.FittedPsfBlend.
| None lsst.scarlet.lite.blend.Blend.conserve_flux | ( | self, | |
| bool | mask_footprint = True, | ||
| Image | None | weight_image = None ) |
Use the source models as templates to re-distribute flux
from the data
The source models are used as approximations to the data,
which redistribute the flux in the data according to the
ratio of the models for each source.
There is no return value for this function,
instead it adds (or modifies) a ``flux_weighted_image``
attribute to each the sources with the flux attributed to
that source.
Parameters
----------
blend:
The blend that is being fit
mask_footprint:
Whether or not to apply a mask for pixels with zero weight.
weight_image:
The weight image to use for the redistribution.
If `None` then the observation image is used.
| tuple[int, float] lsst.scarlet.lite.blend.Blend.fit | ( | self, | |
| int | max_iter, | ||
| float | e_rel = 1e-4, | ||
| int | min_iter = 15, | ||
| int | resize = 10 ) |
Fit all of the parameters
Parameters
----------
max_iter:
The maximum number of iterations
e_rel:
The relative error to use for determining convergence.
min_iter:
The minimum number of iterations.
resize:
Number of iterations before attempting to resize the
resizable components. If `resize` is `None` then
no resizing is ever attempted.
Returns
-------
it:
Number of iterations.
loss:
Loss for the last solution
Reimplemented in lsst.scarlet.lite.models.fit_psf.FittedPsfBlend.
| Blend lsst.scarlet.lite.blend.Blend.fit_spectra | ( | self, | |
| bool | clip = False ) |
Fit all of the spectra given their current morphologies with a
linear least squares algorithm.
Parameters
----------
clip:
Whether or not to clip components that were not
assigned any flux during the fit.
Returns
-------
blend:
The blend with updated components is returned.
| Image lsst.scarlet.lite.blend.Blend.get_model | ( | self, | |
| bool | convolve = False, | ||
| bool | use_flux = False ) |
Generate a model of the entire blend.
Parameters
----------
convolve:
Whether to convolve the model with the observed PSF in each band.
use_flux:
Whether to use the re-distributed flux associated with the sources
instead of the component models.
Returns
-------
model:
The model created by combining all of the source models.
Reimplemented from lsst.scarlet.lite.blend.BlendBase.
| float lsst.scarlet.lite.blend.Blend.log_likelihood | ( | self | ) |
The current log-likelihood This is calculated on the fly to ensure that it is always up to date with the current model parameters.
| lsst.scarlet.lite.blend.Blend.parameterize | ( | self, | |
| Callable | parameterization ) |
Convert the component parameter arrays into Parameter instances
Parameters
----------
parameterization:
A function to use to convert parameters of a given type into
a `Parameter` in place. It should take a single argument that
is the `Component` or `Source` that is to be parameterized.
Reimplemented in lsst.scarlet.lite.models.fit_psf.FittedPsfBlend.
| ScarletBlendData lsst.scarlet.lite.blend.Blend.to_data | ( | self | ) |
Convert the Blend into a persistable data object
Parameters
----------
blend :
The blend that is being persisted.
Returns
-------
blend_data :
The data model for a single blend.
Reimplemented from lsst.scarlet.lite.blend.BlendBase.