LSST Applications g0603fd7c41+501e3db9f9,g0aad566f14+23d8574c86,g0dd44d6229+a1a4c8b791,g2079a07aa2+86d27d4dc4,g2305ad1205+a62672bbc1,g2bbee38e9b+047b288a59,g337abbeb29+047b288a59,g33d1c0ed96+047b288a59,g3a166c0a6a+047b288a59,g3d1719c13e+23d8574c86,g487adcacf7+cb7fd919b2,g4be5004598+23d8574c86,g50ff169b8f+96c6868917,g52b1c1532d+585e252eca,g591dd9f2cf+4a9e435310,g63cd9335cc+585e252eca,g858d7b2824+23d8574c86,g88963caddf+0cb8e002cc,g99cad8db69+43388bcaec,g9ddcbc5298+9a081db1e4,ga1e77700b3+a912195c07,gae0086650b+585e252eca,gb0e22166c9+60f28cb32d,gb2522980b2+793639e996,gb3a676b8dc+b4feba26a1,gb4b16eec92+63f8520565,gba4ed39666+c2a2e4ac27,gbb8dafda3b+a5d255a82e,gc120e1dc64+d820f8acdb,gc28159a63d+047b288a59,gc3e9b769f7+f4f1cc6b50,gcf0d15dbbd+a1a4c8b791,gdaeeff99f8+f9a426f77a,gdb0af172c8+b6d5496702,ge79ae78c31+047b288a59,w.2024.19
LSST Data Management Base Package
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Protected Attributes | List of all members
lsst.scarlet.lite.models.parametric.EllipticalParametricComponent Class Reference
Inheritance diagram for lsst.scarlet.lite.models.parametric.EllipticalParametricComponent:
lsst.scarlet.lite.models.parametric.ParametricComponent lsst.scarlet.lite.component.Component

Public Member Functions

 __init__ (self, tuple bands, Box bbox, Parameter|np.ndarray spectrum, Parameter|np.ndarray morph_params, Callable morph_func, Callable morph_grad, Callable morph_prox, Callable|np.ndarray morph_step, Callable|None prox_spectrum=None, float floor=1e-20)
 
float semi_major (self)
 
float semi_minor (self)
 
float theta (self)
 
np.ndarray ellipse_params (self)
 
np.ndarray radial_params (self)
 
EllipseFrame frame (self)
 
Callable morph_prox (self)
 
Callable morph_grad (self)
 
 update (self, int it, np.ndarray input_grad)
 

Public Attributes

 ellipse_params
 

Protected Attributes

 _bbox
 

Detailed Description

A radial density/surface brightness profile with elliptical symmetry

Parameters
----------
bands:
    The bands used in the model.
bbox:
    The bounding box that holds this component model.
spectrum:
    The spectrum of the component.
morph_params:
    The parameters passed to `morph_func` to
    generate the morphology in image space.
morph_func:
    The function to generate the morphology
    based on `morphParams`.
morph_grad:
    The function to calculate the gradient of the
    likelihood wrt the morphological parameters.
morph_prox:
    The proximal operator for the morphology parameters.
prox_spectrum:
    Proximal operator for the spectrum.
    If `prox_spectrum` is `None` then the default proximal
    operator `self.prox_spectrum` is used.
floor:
    The minimum value of the spectrum, used to prevent
    divergences in the gradients.

Definition at line 838 of file parametric.py.

Constructor & Destructor Documentation

◆ __init__()

lsst.scarlet.lite.models.parametric.EllipticalParametricComponent.__init__ ( self,
tuple bands,
Box bbox,
Parameter | np.ndarray spectrum,
Parameter | np.ndarray morph_params,
Callable morph_func,
Callable morph_grad,
Callable morph_prox,
Callable | np.ndarray morph_step,
Callable | None prox_spectrum = None,
float floor = 1e-20 )

Reimplemented from lsst.scarlet.lite.models.parametric.ParametricComponent.

Definition at line 869 of file parametric.py.

881 ):
882 super().__init__(
883 bands=bands,
884 bbox=bbox,
885 spectrum=spectrum,
886 morph_params=morph_params,
887 morph_func=morph_func,
888 morph_grad=morph_grad,
889 morph_prox=morph_prox,
890 morph_step=morph_step,
891 prox_spectrum=prox_spectrum,
892 floor=floor,
893 )
894

Member Function Documentation

◆ ellipse_params()

np.ndarray lsst.scarlet.lite.models.parametric.EllipticalParametricComponent.ellipse_params ( self)
The parameters used to generate the scaled radius

Definition at line 913 of file parametric.py.

913 def ellipse_params(self) -> np.ndarray:
914 """The parameters used to generate the scaled radius"""
915 return self._params.x[:5]
916

◆ frame()

EllipseFrame lsst.scarlet.lite.models.parametric.EllipticalParametricComponent.frame ( self)
The `EllipseFrame` that parameterizes the model

Reimplemented from lsst.scarlet.lite.models.parametric.ParametricComponent.

Definition at line 923 of file parametric.py.

923 def frame(self) -> EllipseFrame:
924 """The `EllipseFrame` that parameterizes the model"""
925 return EllipseFrame(*self.ellipse_params, self._bbox) # type: ignore
926

◆ morph_grad()

Callable lsst.scarlet.lite.models.parametric.EllipticalParametricComponent.morph_grad ( self)
The function that calculates the gradient of the
morphological model

Definition at line 933 of file parametric.py.

933 def morph_grad(self) -> Callable:
934 """The function that calculates the gradient of the
935 morphological model
936 """
937 return self._morph_grad
938

◆ morph_prox()

Callable lsst.scarlet.lite.models.parametric.EllipticalParametricComponent.morph_prox ( self)
The function used to constrain the morphological model

Definition at line 928 of file parametric.py.

928 def morph_prox(self) -> Callable:
929 """The function used to constrain the morphological model"""
930 return self._morph_prox
931

◆ radial_params()

np.ndarray lsst.scarlet.lite.models.parametric.EllipticalParametricComponent.radial_params ( self)
The parameters used to model the radial function

Reimplemented from lsst.scarlet.lite.models.parametric.ParametricComponent.

Definition at line 918 of file parametric.py.

918 def radial_params(self) -> np.ndarray:
919 """The parameters used to model the radial function"""
920 return self._params.x[5:]
921

◆ semi_major()

float lsst.scarlet.lite.models.parametric.EllipticalParametricComponent.semi_major ( self)
The length of the semi-major axis of the model

Definition at line 896 of file parametric.py.

896 def semi_major(self) -> float:
897 """The length of the semi-major axis of the model"""
898 return self._params.x[2]
899

◆ semi_minor()

float lsst.scarlet.lite.models.parametric.EllipticalParametricComponent.semi_minor ( self)
The length of the semi-minor axis of the model

Definition at line 901 of file parametric.py.

901 def semi_minor(self) -> float:
902 """The length of the semi-minor axis of the model"""
903 return self._params.x[3]
904

◆ theta()

float lsst.scarlet.lite.models.parametric.EllipticalParametricComponent.theta ( self)
The counter-clockwise rotation angle of the model from the
x-axis.

Definition at line 906 of file parametric.py.

906 def theta(self) -> float:
907 """The counter-clockwise rotation angle of the model from the
908 x-axis.
909 """
910 return self._params.x[4]
911

◆ update()

lsst.scarlet.lite.models.parametric.EllipticalParametricComponent.update ( self,
int it,
np.ndarray input_grad )
Update the component

Parameters
----------
it:
    The current iteration of the optimizer.
input_grad:
    Gradient of the likelihood wrt the component model

Reimplemented from lsst.scarlet.lite.models.parametric.ParametricComponent.

Definition at line 939 of file parametric.py.

939 def update(self, it: int, input_grad: np.ndarray):
940 """Update the component
941
942 Parameters
943 ----------
944 it:
945 The current iteration of the optimizer.
946 input_grad:
947 Gradient of the likelihood wrt the component model
948 """
949 ellipse = self.frame
950 spectrum = self.spectrum.copy()
951 morph = self._func(self.radial_params, ellipse)
952 self._spectrum.update(it, input_grad, morph)
953 self._params.update(it, input_grad, morph, spectrum, ellipse)

Member Data Documentation

◆ _bbox

lsst.scarlet.lite.models.parametric.EllipticalParametricComponent._bbox
protected

Definition at line 925 of file parametric.py.

◆ ellipse_params

lsst.scarlet.lite.models.parametric.EllipticalParametricComponent.ellipse_params

Definition at line 925 of file parametric.py.


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