StereographicProjection

class sofia_redux.scan.coordinate_systems.projection.stereographic_projection.StereographicProjection[source]

Bases: ZenithalProjection

Initialize a stereographic projection.

The stereographic projection is a zenithal projection that is also known as the planisphere projection or azimuthal conformal projection.

The forward projection is given by:

x = 2 * tan(pi/4 - theta/2) * sin(phi)
y = -2 * tan(pi/4 - theta/2) * 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 stereographic projection, the radius of a point from the center of the projection, given the latitude (theta) is:

r = 2 * tan(pi/4 - theta/2)

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. If a float value is given, it should be in provided in radians.

Returns:
thetaunits.Quantity

The latitude angle.