lsst.scarlet.lite gee10cc3b42+90ebb246c7
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
lsst.scarlet.lite.models.parametric.EllipseFrame Class Reference
Inheritance diagram for lsst.scarlet.lite.models.parametric.EllipseFrame:
lsst.scarlet.lite.models.parametric.CartesianFrame

Public Member Functions

 __init__ (self, float y0, float x0, float major, float minor, float theta, Box bbox, float r_min=1e-20)
 
float grad_x0 (self, np.ndarray input_grad, bool use_r2)
 
float grad_y0 (self, np.ndarray input_grad, bool use_r2)
 
float grad_major (self, np.ndarray input_grad, bool use_r2)
 
float grad_minor (self, np.ndarray input_grad, bool use_r2)
 
float grad_theta (self, np.ndarray input_grad, bool use_r2)
 
float x0 (self)
 
float y0 (self)
 
float major (self)
 
float minor (self)
 
float theta (self)
 
Box bbox (self)
 
np.ndarray r_grid (self)
 
np.ndarray r2_grid (self)
 
- Public Member Functions inherited from lsst.scarlet.lite.models.parametric.CartesianFrame
tuple[int,...] shape (self)
 
np.ndarray x_grid (self)
 
np.ndarray y_grid (self)
 

Protected Attributes

 _xMajor
 
 _xMinor
 
 _xa
 
 _yb
 
 _y0
 
 _x0
 
 _theta
 
 _major
 
 _minor
 
 _sin
 
 _cos
 
 _bbox
 
 _rMin
 
 _radius2
 
 _radius
 
- Protected Attributes inherited from lsst.scarlet.lite.models.parametric.CartesianFrame
 _bbox
 
 _x
 
 _y
 
 _r
 
 _r2
 

Detailed Description

Frame to scale the radius based on the parameters of an ellipse

This frame is used to calculate the coordinates of the
radius and radius**2 from a given center location,
based on the semi-major axis, semi-minor axis, and rotation angle.
It is also used to calculate the gradient wrt either the
radius**2 or radius for all of the model parameters.

Parameters
----------
y0: float
    The y-center of the ellipse.
x0: float
    The x-center of the ellipse.
major: float
    The length of the semi-major axis.
minor: float
    The length of the semi-minor axis.
theta: float
    The counter-clockwise rotation angle
    from the semi-major axis.
bbox: Box
    The bounding box that contains the entire frame.
r_min: float
    The minimum value of the radius.
    This is used to prevent divergences that occur
    when calculating the gradient at radius == 0.

Constructor & Destructor Documentation

◆ __init__()

lsst.scarlet.lite.models.parametric.EllipseFrame.__init__ ( self,
float bbox,
float x0,
float major,
float minor,
float theta,
Box bbox,
float r_min = 1e-20 )
Parameters
----------
bbox: Box
    The bounding box that contains this frame.

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

Member Function Documentation

◆ bbox()

Box lsst.scarlet.lite.models.parametric.EllipseFrame.bbox ( self)
The bounding box to hold the model

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

◆ grad_major()

float lsst.scarlet.lite.models.parametric.EllipseFrame.grad_major ( self,
np.ndarray input_grad,
bool use_r2 )
The gradient of either the radius or radius**2 wrt.
the semi-major axis

Parameters
----------
input_grad:
    Gradient of the likelihood wrt the component model
use_r2:
    Whether to calculate the gradient of the radius**2
    (``use_r2==True``) or the radius (``use_r2==False``).

Returns
-------
result:
    The gradient of the likelihood wrt the semi-major axis.

◆ grad_minor()

float lsst.scarlet.lite.models.parametric.EllipseFrame.grad_minor ( self,
np.ndarray input_grad,
bool use_r2 )
The gradient of either the radius or radius**2 wrt.
the semi-minor axis

Parameters
----------
input_grad:
    Gradient of the likelihood wrt the component model
use_r2:
    Whether to calculate the gradient of the radius**2
    (``useR2==True``) or the radius (``useR2==False``).

Returns
-------
result:
    The gradient of the likelihood wrt the semi-minor axis.

◆ grad_theta()

float lsst.scarlet.lite.models.parametric.EllipseFrame.grad_theta ( self,
np.ndarray input_grad,
bool use_r2 )
The gradient of either the radius or radius**2 wrt.
the rotation angle

Parameters
----------
input_grad:
    Gradient of the likelihood wrt the component model
use_r2:
    Whether to calculate the gradient of the radius**2
    (``useR2==True``) or the radius (``useR2==False``).

Returns
-------
result:
    The gradient of the likelihood wrt the rotation angle.

◆ grad_x0()

float lsst.scarlet.lite.models.parametric.EllipseFrame.grad_x0 ( self,
np.ndarray input_grad,
bool use_r2 )
The gradient of either the radius or radius**2 wrt. the x-center

Parameters
----------
input_grad:
    Gradient of the likelihood wrt the component model
use_r2:
    Whether to calculate the gradient of the radius**2
    (``useR2==True``) or the radius (``useR2==False``).

Returns
-------
result:
    The gradient of the likelihood wrt x0.

◆ grad_y0()

float lsst.scarlet.lite.models.parametric.EllipseFrame.grad_y0 ( self,
np.ndarray input_grad,
bool use_r2 )
The gradient of either the radius or radius**2 wrt. the y-center

Parameters
----------
input_grad:
    Gradient of the likelihood wrt the component model
use_r2:
    Whether to calculate the gradient of the radius**2
    (``useR2==True``) or the radius (``useR2==False``).

Returns
-------
result:
    The gradient of the likelihood wrt y0.

◆ major()

float lsst.scarlet.lite.models.parametric.EllipseFrame.major ( self)
The semi-major axis

◆ minor()

float lsst.scarlet.lite.models.parametric.EllipseFrame.minor ( self)
The semi-minor axis

◆ r2_grid()

np.ndarray lsst.scarlet.lite.models.parametric.EllipseFrame.r2_grid ( self)
The radius squared located at each pixel

◆ r_grid()

np.ndarray lsst.scarlet.lite.models.parametric.EllipseFrame.r_grid ( self)
The radial coordinates of each pixel

◆ theta()

float lsst.scarlet.lite.models.parametric.EllipseFrame.theta ( self)
The rotation angle

◆ x0()

float lsst.scarlet.lite.models.parametric.EllipseFrame.x0 ( self)
The x-center

◆ y0()

float lsst.scarlet.lite.models.parametric.EllipseFrame.y0 ( self)
The y-center

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