LSST Applications 27.0.0,g0265f82a02+469cd937ee,g02d81e74bb+21ad69e7e1,g1470d8bcf6+cbe83ee85a,g2079a07aa2+e67c6346a6,g212a7c68fe+04a9158687,g2305ad1205+94392ce272,g295015adf3+81dd352a9d,g2bbee38e9b+469cd937ee,g337abbeb29+469cd937ee,g3939d97d7f+72a9f7b576,g487adcacf7+71499e7cba,g50ff169b8f+5929b3527e,g52b1c1532d+a6fc98d2e7,g591dd9f2cf+df404f777f,g5a732f18d5+be83d3ecdb,g64a986408d+21ad69e7e1,g858d7b2824+21ad69e7e1,g8a8a8dda67+a6fc98d2e7,g99cad8db69+f62e5b0af5,g9ddcbc5298+d4bad12328,ga1e77700b3+9c366c4306,ga8c6da7877+71e4819109,gb0e22166c9+25ba2f69a1,gb6a65358fc+469cd937ee,gbb8dafda3b+69d3c0e320,gc07e1c2157+a98bf949bb,gc120e1dc64+615ec43309,gc28159a63d+469cd937ee,gcf0d15dbbd+72a9f7b576,gdaeeff99f8+a38ce5ea23,ge6526c86ff+3a7c1ac5f1,ge79ae78c31+469cd937ee,gee10cc3b42+a6fc98d2e7,gf1cff7945b+21ad69e7e1,gfbcc870c63+9a11dc8c8f
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: