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 | |
| __init__ (self, Box bbox) | |
| tuple[int,...] | shape (self) |
| np.ndarray | x_grid (self) |
| np.ndarray | y_grid (self) |
Protected Attributes | |
| tuple | _xMajor = (self._x - x0) * cos + (self._y - y0) * sin |
| _xMinor = -(self._x - x0) * sin + (self._y - y0) * cos | |
| tuple | _xa = self._xMajor / major |
| float | _yb = self._xMinor / minor |
| _y0 | |
| float | _x0 = y0, x0 |
| float | _theta = theta |
| float | _major = major |
| float | _minor = minor |
| _sin | |
| _cos = sin, cos | |
| _rMin = r_min | |
| tuple | _radius2 = self._xa**2 + self._yb**2 |
| np.ndarray|None | _radius = None |
Protected Attributes inherited from lsst.scarlet.lite.models.parametric.CartesianFrame | |
| Box | _bbox = bbox |
| _x = np.linspace(xi, xf - 1, width) | |
| _y = np.meshgrid(x, y) | |
| _r = None | |
| _r2 = None | |
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.
| Box lsst.scarlet.lite.models.parametric.EllipseFrame.bbox | ( | self | ) |
The bounding box to hold the model
Reimplemented from lsst.scarlet.lite.models.parametric.CartesianFrame.
| 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.
| 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.
| 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.
| 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.
| 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.
| float lsst.scarlet.lite.models.parametric.EllipseFrame.major | ( | self | ) |
The semi-major axis
| float lsst.scarlet.lite.models.parametric.EllipseFrame.minor | ( | self | ) |
The semi-minor axis
| np.ndarray lsst.scarlet.lite.models.parametric.EllipseFrame.r2_grid | ( | self | ) |
The radius squared located at each pixel
| np.ndarray lsst.scarlet.lite.models.parametric.EllipseFrame.r_grid | ( | self | ) |
The radial coordinates of each pixel
| float lsst.scarlet.lite.models.parametric.EllipseFrame.theta | ( | self | ) |
The rotation angle
| float lsst.scarlet.lite.models.parametric.EllipseFrame.x0 | ( | self | ) |
The x-center
| float lsst.scarlet.lite.models.parametric.EllipseFrame.y0 | ( | self | ) |
The y-center