ParabolicProjection¶
- class sofia_redux.scan.coordinate_systems.projection.parabolic_projection.ParabolicProjection[source]¶
Bases:
CylindricalProjection
Initialize a parabolic projection.
The parabolic projection is an equal-area pseudo-cylindrical projection where a meridian follows a section of a parabolic curve, and the projected equator and central meridian are straight lines. Parallels are unequally spaced straight lines, with spacing decreasing away from the equator.
Methods Summary
Return the FITS ID for the projection.
Return the full name of the projection.
get_offsets
(theta, phi[, offsets])Get the offsets given theta and phi.
get_phi_theta
(offset[, phi_theta])Return the phi (longitude) and theta (latitude) coordinates.
Methods Documentation
- classmethod get_offsets(theta, phi, offsets=None)[source]¶
Get the offsets given theta and phi.
Takes the theta (latitude) and phi (longitude) coordinates about the celestial pole and converts them to offsets from a reference position. For the parabolic projection, this is given by:
x = phi * 2 * cos(cos(2 * theta) / 3) - 1 y = pi * sin(theta / 3)
- Parameters:
- thetaunits.Quantity
The theta (latitude) angle.
- phiunits.Quantity
The phi (longitude) angle.
- offsetsCoordinate2D, optional
An optional coordinate system in which to place the results.
- Returns:
- offsetsCoordinate2D
- classmethod get_phi_theta(offset, phi_theta=None)[source]¶
Return the phi (longitude) and theta (latitude) coordinates.
The phi and theta coordinates refer to the inverse projection (deprojection) of projected offsets about the native pole. phi is the deprojected longitude, and theta is the deprojected latitude of the offsets. For the parabolic projection these are given as:
y0 = y / pi phi = x / (1 - 4(y0^2)) theta = 3 * arcsin(y0)
- Parameters:
- offsetCoordinate2D
- phi_thetaSphericalCoordinates, optional
An optional output coordinate system in which to place the results.
- Returns:
- coordinatesSphericalCoordinates