CylindricalPerspectiveProjection

class sofia_redux.scan.coordinate_systems.projection.cylindrical_perspective_projection.CylindricalPerspectiveProjection[source]

Bases: CylindricalProjection

Create a cylindrical perspective projection.

The cylindrical perspective projection is constructed geometrically by projecting a sphere onto a tangent cylinder from the point on the equatorial plane opposite a given meridian. The attributes mu and la (lambda) give the relative scaling of such a cylinder to the sphere, so that if r is the radius of the sphere:

cylinder_radius = lambda * r

and a point of projection moves around a circle of radius

circle_radius = mu * r

in the equatorial plane of the sphere, depending on the projected meridian.

Methods Summary

edit_header(header[, alt])

Edit a FITS header with the projection information.

get_fits_id()

Return the FITS ID for the projection.

get_full_name()

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) theta (latitude) coordinates.

parse_header(header[, alt])

Parse and apply a FITS header to the projection.

Methods Documentation

edit_header(header, alt='')[source]

Edit a FITS header with the projection information.

Parameters:
headerfits.Header

The FITS header to edit.

altstr, optional

The alternate FITS system.

Returns:
None
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
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 cylindrical perspective projection, this is given as:

x = lambda * phi y = (mu + lambda) / (mu + cos(theta) * sin(theta))

Parameters:
thetaunits.Quantity

The theta angle.

phiunits.Quantity

The phi angle.

offsetsCoordinate2D, optional

An optional coordinate system in which to place the results.

Returns:
offsetsCoordinate2D
get_phi_theta(offset, phi_theta=None)[source]

Return the phi (longitude) 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 cylindrical perspective projection, phi and theta are given by:

phi = x / lambda theta = arctan(eta, 1) + arcsin(eta * mu / sqrt(1 + eta^2))

where

eta = y / (mu + lambda)

Parameters:
offsetCoordinate2D
phi_thetaSphericalCoordinates, optional

An optional output coordinate system in which to place the results.

Returns:
coordinatesSphericalCoordinates
parse_header(header, alt='')[source]

Parse and apply a FITS header to the projection.

Parameters:
headerfits.Header

The FITS header to parse.

altstr, optional

The alternate FITS system.

Returns:
None