ZenithalEqualAreaProjection

class sofia_redux.scan.coordinate_systems.projection.zenithal_equal_area_projection.ZenithalEqualAreaProjection[source]

Bases: ZenithalProjection

Initialize a zenithal equal-area projection.

The zenithal equal-area projection (also known as the Lambert azimuthal equal-area projection) maps points from a sphere to a disk, accurately representing area in all regions of the sphere, but not angles.

The forward projection is given by:

x = sqrt(2 * (1 - sin(theta))) * sin(phi) y = -sqrt(2 * (1 - sin(theta))) * cos(phi)

and the inverse transform (deprojection) is given by:

phi = arctan(x, -y) theta = pi/2 - (2 * asin(sqrt(x^2 + y^2)/2))

Methods Summary

get_fits_id()

Return the FITS ID for the projection.

get_full_name()

Return the full name of the projection.

r(theta)

Return the radius of a point from the center of the projection.

theta_of_r(r)

Return theta (latitude) given a radius from the central point.

Methods Documentation

classmethod get_fits_id()[source]

Return the FITS ID for the projection.

Returns:
str
classmethod get_full_name()[source]

Return the full name of the projection.

Returns:
str
classmethod r(theta)[source]

Return the radius of a point from the center of the projection.

For the zenithal equal-area projection, the radius of a point from the center of the projection, given the latitude (theta) is:

r = sqrt(2 * (1 - sin(theta)))

Parameters:
thetafloat or numpy.ndarray or units.Quantity

The latitude angle.

Returns:
runits.Quantity

The distance of the point from the central point.

classmethod theta_of_r(r)[source]

Return theta (latitude) given a radius from the central point.

For the zenithal equal-area projection, the latitude (theta) of a point at a distance r from the center of the projection is given as:

theta = pi/2 - (2 * asin(r/2))

Parameters:
rfloat or numpy.ndarray or units.Quantity

The distance of the point from the central point.

Returns:
thetaunits.Quantity

The latitude angle.