autogalaxy.profiles.light_profiles.EllChameleon

class autogalaxy.profiles.light_profiles.EllChameleon(centre: Tuple[float, float] = (0.0, 0.0), elliptical_comps: Tuple[float, float] = (0.0, 0.0), intensity: float = 0.1, core_radius_0: float = 0.01, core_radius_1: float = 0.05)
__init__(centre: Tuple[float, float] = (0.0, 0.0), elliptical_comps: Tuple[float, float] = (0.0, 0.0), intensity: float = 0.1, core_radius_0: float = 0.01, core_radius_1: float = 0.05)

The elliptical Chameleon light profile.

Profile form:
mass_to_light_ratio * intensity * (1.0 / Sqrt(x^2 + (y/q)^2 + rc^2) - 1.0 / Sqrt(x^2 + (y/q)^2 + (rc + dr)**2.0))
Parameters:
  • centre – The (y,x) arc-second coordinates of the profile centre.
  • elliptical_comps – The first and second ellipticity components of the elliptical coordinate system, where fac = (1 - axis_ratio) / (1 + axis_ratio), ellip_y = fac * sin(2*angle) and ellip_x = fac * cos(2*angle).
  • intensity – Overall intensity normalisation of the light profiles (electrons per second).
  • core_radius_0 (the core size of the first elliptical cored Isothermal profile.) –
  • core_radius_1 (rc + dr is the core size of the second elliptical cored Isothermal profile.) – We use dr here is to avoid negative values.

Methods

__init__(centre, float] = (0.0, 0.0), …) The elliptical Chameleon light profile.
blurred_image_2d_via_convolver_from(grid, …) Evaluate the light profile image on an input Grid2D of coordinates and then convolve it with a PSF using a Convolver object.
blurred_image_2d_via_psf_from(grid, …) Evaluate the light profile image on an input Grid2D of coordinates and then convolve it with a PSF.
cos_and_sin_to_x_axis() Determine the sin and cosine of the angle between the profile’s ellipse and the positive x-axis, counter-clockwise.
eta_u(u, coordinates)
from_axis_ratio_and_phi(centre, …)
grid_angle_to_profile(grid_thetas) The angle between each angle theta on the grid and the profile, in radians.
grid_to_eccentric_radii(grid) Convert a grid of (y,x) coordinates to an eccentric radius, which is (1.0/axis_ratio) * elliptical radius and used to define light profile half-light radii using circular radii.
grid_to_elliptical_radii(grid) Convert a grid of (y,x) coordinates to an elliptical radius.
grid_to_grid_cartesian(grid, radius) Convert a grid of (y,x) coordinates with their specified circular radii to their original (y,x) Cartesian coordinates.
grid_to_grid_radii(grid) Convert a grid of (y, x) coordinates to a grid of their circular radii.
image_1d_from(grid, Grid1D, …)
image_2d_from(grid, …) Calculate the intensity of the light profile on a grid of Cartesian (y,x) coordinates.
image_2d_via_radii_from(grid_radii) Calculate the intensity of the Chamelon light profile on a grid of radial coordinates.
luminosity_integral(x) Routine to integrate the luminosity of an elliptical light profile.
luminosity_within_circle(radius) Integrate the light profile to compute the total luminosity within a circle of specified radius.
profile_visibilities_via_transformer_from(…)
rotate_grid_from_reference_frame(grid) Rotate a grid of (y,x) coordinates which have been transformed to the elliptical reference frame of a profile back to the original unrotated coordinate grid reference frame.
transform_grid_from_reference_frame(grid) Transform a grid of (y,x) coordinates from the reference frame of the profile to the original observer reference frame, including a rotation to its original orientation and a translation from the profile’s centre.
transform_grid_to_reference_frame(grid) Transform a grid of (y,x) coordinates to the reference frame of the profile, including a translation to its centre and a rotation to it orientation.

Attributes

angle
axis_ratio
cos_phi
half_light_radius
phi_radians
sin_phi
image_2d_via_radii_from(grid_radii: numpy.ndarray) → numpy.ndarray

Calculate the intensity of the Chamelon light profile on a grid of radial coordinates.

Parameters:grid_radii – The radial distance from the centre of the profile. for each coordinate on the grid.
image_2d_from(grid: Union[numpy.ndarray, autoarray.structures.grids.two_d.grid_2d.Grid2D, autoarray.structures.grids.two_d.grid_2d_iterate.Grid2DIterate, autoarray.structures.grids.two_d.grid_2d_irregular.Grid2DIrregular]) → numpy.ndarray

Calculate the intensity of the light profile on a grid of Cartesian (y,x) coordinates. If the coordinates have not been transformed to the profile’s geometry, this is performed automatically. :param grid: The (y, x) coordinates in the original reference frame of the grid.