Implementation of the WCS standard for the special case of the Gnomonic (tangent plane) projection.
More...
|
| TanWcs (geom::Point2D const &crval, geom::Point2D const &crpix, Eigen::Matrix2d const &cd, double equinox=2000, std::string const &raDecSys="FK5", std::string const &cunits1="deg", std::string const &cunits2="deg") |
| Construct a tangent plane wcs without distortion terms. More...
|
|
| TanWcs (geom::Point2D const &crval, geom::Point2D const &crpix, Eigen::Matrix2d const &cd, Eigen::MatrixXd const &sipA, Eigen::MatrixXd const &sipB, Eigen::MatrixXd const &sipAp, Eigen::MatrixXd const &sipBp, double equinox=2000, std::string const &raDecSys="FK5", std::string const &cunits1="deg", std::string const &cunits2="deg") |
| Construct a tangent plane wcs with distortion terms. More...
|
|
virtual | ~TanWcs () |
|
virtual boost::shared_ptr< Wcs > | clone () const |
| Polymorphic deep-copy. More...
|
|
geom::Angle | pixelScale () const |
| Returns the pixel scale, in Angle/pixel. More...
|
|
geom::Point2D | distortPixel (geom::Point2D const &pixel) const |
| Applies the SIP AP and BP distortion (used in the skyToPixel direction) More...
|
|
geom::Point2D | undistortPixel (geom::Point2D const &pixel) const |
| Applies the SIP A and B un-distortion (used in the pixelToSky direction) More...
|
|
bool | hasDistortion () const |
|
boost::shared_ptr
< daf::base::PropertyList > | getFitsMetadata () const |
| Return a PropertyList containing FITS header keywords that can be used to save the Wcs.x. More...
|
|
void | setDistortionMatrices (Eigen::MatrixXd const &sipA, Eigen::MatrixXd const &sipB, Eigen::MatrixXd const &sipAp, Eigen::MatrixXd const &sipBp) |
| Set the distortion matrices. More...
|
|
virtual bool | isPersistable () const |
| Whether the object is persistable using afw::table::io archives. More...
|
|
| Wcs (lsst::afw::geom::Point2D const &crval, lsst::afw::geom::Point2D const &crpix, Eigen::Matrix2d const &CD, std::string const &ctype1="RA---TAN", std::string const &ctype2="DEC--TAN", double equinox=2000, std::string const &raDecSys="ICRS", std::string const &cunits1="deg", std::string const &cunits2="deg") |
| Create a Wcs object with some known information. More...
|
|
virtual | ~Wcs () |
|
bool | operator== (Wcs const &other) const |
|
bool | operator!= (Wcs const &other) const |
|
lsst::afw::coord::Coord::Ptr | getSkyOrigin () const |
| Returns CRVAL. This need not be the centre of the image. More...
|
|
lsst::afw::geom::Point2D | getPixelOrigin () const |
| Returns CRPIX (corrected to LSST convention). More...
|
|
Eigen::Matrix2d | getCDMatrix () const |
| Returns the CD matrix. More...
|
|
virtual void | flipImage (int flipLR, int flipTB, lsst::afw::geom::Extent2I dimensions) const |
| Flip CD matrix around the y-axis. More...
|
|
virtual void | rotateImageBy90 (int nQuarter, lsst::afw::geom::Extent2I dimensions) const |
| Rotate image by nQuarter times 90 degrees. More...
|
|
bool | isFlipped () const |
|
double | pixArea (lsst::afw::geom::Point2D pix00) const |
| Sky area covered by a pixel at position pix00 in units of square degrees. More...
|
|
geom::Angle | pixelScale () const |
| Returns the pixel scale [Angle/pixel]. More...
|
|
boost::shared_ptr< coord::Coord > | pixelToSky (double pix1, double pix2) const |
| Convert from pixel position to sky coordinates (e.g. RA/dec) More...
|
|
boost::shared_ptr< coord::Coord > | pixelToSky (lsst::afw::geom::Point2D const &pixel) const |
| Convert from pixel position to sky coordinates (e.g. RA/dec) More...
|
|
void | pixelToSky (double pixel1, double pixel2, geom::Angle &sky1, geom::Angle &sky2) const |
|
geom::Point2D | skyToPixel (geom::Angle sky1, geom::Angle sky2) const |
| Convert from sky coordinates (e.g. RA/dec) to pixel positions. More...
|
|
geom::Point2D | skyToPixel (coord::Coord const &coord) const |
| Convert from sky coordinates (e.g. RA/dec) to pixel positions. More...
|
|
geom::Point2D | skyToIntermediateWorldCoord (coord::Coord const &coord) const |
| Convert from sky coordinates (e.g. RA/dec) to intermediate world coordinates. More...
|
|
geom::LinearTransform | getLinearTransform () const |
|
geom::AffineTransform | linearizePixelToSky (coord::Coord const &coord, geom::AngleUnit skyUnit=geom::degrees) const |
| Return the local linear approximation to Wcs::pixelToSky at a point given in sky coordinates. More...
|
|
geom::AffineTransform | linearizePixelToSky (geom::Point2D const &pix, geom::AngleUnit skyUnit=geom::degrees) const |
| Return the local linear approximation to Wcs::pixelToSky at a point given in pixel coordinates. More...
|
|
geom::AffineTransform | linearizeSkyToPixel (coord::Coord const &coord, geom::AngleUnit skyUnit=geom::degrees) const |
| Return the local linear approximation to Wcs::skyToPixel at a point given in sky coordinates. More...
|
|
geom::AffineTransform | linearizeSkyToPixel (geom::Point2D const &pix, geom::AngleUnit skyUnit=geom::degrees) const |
| Return the local linear approximation to Wcs::skyToPixel at a point given in pixel coordinates. More...
|
|
virtual void | shiftReferencePixel (double dx, double dy) |
| Move the pixel reference position by (dx, dy) More...
|
|
virtual void | shiftReferencePixel (geom::Extent2D const &d) |
|
| Persistable (void) |
|
virtual | ~Persistable (void) |
|
template<class Archive > |
void | serialize (Archive &, unsigned int const) |
|
| Citizen (const std::type_info &) |
|
| Citizen (Citizen const &) |
|
| ~Citizen () |
|
Citizen & | operator= (Citizen const &) |
|
std::string | repr () const |
| Return a string representation of a Citizen. More...
|
|
void | markPersistent (void) |
| Mark a Citizen as persistent and not destroyed until process end. More...
|
|
memId | getId () const |
| Return the Citizen's ID. More...
|
|
void | writeFits (std::string const &fileName, std::string const &mode="w") const |
| Write the object to a regular FITS file. More...
|
|
void | writeFits (fits::MemFileManager &manager, std::string const &mode="w") const |
| Write the object to a FITS image in memory. More...
|
|
void | writeFits (fits::Fits &fitsfile) const |
| Write the object to an already-open FITS object. More...
|
|
virtual | ~Persistable () |
|
|
static void | decodeSipHeader (daf::base::PropertySet const &fitsMetadata, std::string const &which, Eigen::MatrixXd &m) |
| Decode the SIP headers for a given matrix, if present. More...
|
|
static boost::shared_ptr< TanWcs > | readFits (fits::Fits &fitsfile) |
| Read an object from an already open FITS object. More...
|
|
static boost::shared_ptr< TanWcs > | readFits (std::string const &fileName, int hdu=0) |
| Read an object from a regular FITS file. More...
|
|
static boost::shared_ptr< TanWcs > | readFits (fits::MemFileManager &manager, int hdu=0) |
| Read an object from a FITS file in memory. More...
|
|
static bool | hasBeenCorrupted () |
| Check all allocated blocks for corruption. More...
|
|
static memId | getNextMemId () |
| Return the memId of the next object to be allocated. More...
|
|
static int | init () |
| Called once when the memory system is being initialised. More...
|
|
static int | census (int, memId startingMemId=0) |
| How many active Citizens are there? More...
|
|
static void | census (std::ostream &stream, memId startingMemId=0) |
| Print a list of all active Citizens to stream, sorted by ID. More...
|
|
static const std::vector
< const Citizen * > * | census () |
| Return a (newly allocated) std::vector of active Citizens sorted by ID. More...
|
|
static memId | setNewCallbackId (memId id) |
| Call the NewCallback when block is allocated. More...
|
|
static memId | setDeleteCallbackId (memId id) |
| Call the current DeleteCallback when block is deleted. More...
|
|
static memNewCallback | setNewCallback (memNewCallback func) |
| Set the NewCallback function. More...
|
|
static memCallback | setDeleteCallback (memCallback func) |
| Set the DeleteCallback function. More...
|
|
static memCallback | setCorruptionCallback (memCallback func) |
| Set the CorruptionCallback function. More...
|
|
static boost::shared_ptr< Wcs > | readFits (fits::Fits &fitsfile) |
| Read an object from an already open FITS object. More...
|
|
static boost::shared_ptr< Wcs > | readFits (std::string const &fileName, int hdu=0) |
| Read an object from a regular FITS file. More...
|
|
static boost::shared_ptr< Wcs > | readFits (fits::MemFileManager &manager, int hdu=0) |
| Read an object from a FITS file in memory. More...
|
|
|
| TanWcs (TanWcs const &rhs) |
|
virtual void | pixelToSkyImpl (double pixel1, double pixel2, geom::Angle skyTmp[2]) const |
|
virtual geom::Point2D | skyToPixelImpl (geom::Angle sky1, geom::Angle sky2) const |
|
bool | _mayBePersistable () const |
| Perform basic checks on whether *this might be persistable. More...
|
|
virtual std::string | getPythonModule () const |
| Return the fully-qualified Python module that should be imported to guarantee that its factory is registered. More...
|
|
| Wcs () |
| Construct an invalid Wcs given no arguments. More...
|
|
| Wcs (boost::shared_ptr< lsst::daf::base::PropertySet const > const &fitsMetadata) |
|
| Wcs (afw::table::BaseRecord const &record) |
|
| Wcs (Wcs const &rhs) |
| Copy constructor. More...
|
|
Wcs & | operator= (const Wcs &) |
|
afw::coord::Coord::Ptr | makeCorrectCoord (geom::Angle sky0, geom::Angle sky1) const |
| Given a sky position, use the values stored in ctype and radesys to return the correct sub-class of Coord. More...
|
|
afw::coord::Coord::Ptr | convertCoordToSky (coord::Coord const &coord) const |
|
virtual geom::AffineTransform | linearizePixelToSkyInternal (geom::Point2D const &pix, coord::Coord const &coord, geom::AngleUnit skyUnit) const |
|
virtual geom::AffineTransform | linearizeSkyToPixelInternal (geom::Point2D const &pix, coord::Coord const &coord, geom::AngleUnit skyUnit) const |
|
void | initWcsLibFromFits (boost::shared_ptr< lsst::daf::base::PropertySet const > const &fitsMetadata) |
| Parse a fits header, extract the relevant metadata and create a Wcs object. More...
|
|
void | _initWcs () |
|
void | _setWcslibParams () |
|
| Persistable () |
|
| Persistable (Persistable const &other) |
|
void | operator= (Persistable const &other) |
|
Implementation of the WCS standard for the special case of the Gnomonic (tangent plane) projection.
This class treats the special case of tangent plane projection. It extends the Wcs standard by optionally accounting for distortion in the image plane using the Simple Imaging Polynomial (SIP) convention. This convention is described in Shupe et al. (2005) (Astronomical Data Analysis Software and Systems XIV, Asp Conf. Series Vol XXX, Ed: Shopbell et al.), and descibed in some more detail in http://web.ipac.caltech.edu/staff/fmasci/home/wise/codeVdist.html
To convert from pixel coordintates to radec ("intermediate world coordinates"), first use the matrices _sipA and _sipB to calculate undistorted coorinates (i.e where on the chip the image would lie if the optics gave undistorted images), then pass these undistorted coorinates wcsp2s() to calculate radec.
For the reverse, radec -> pixels, convert the radec to undistorted coords, and then use the _sipAp and _sipBp matrices to add in the distortion terms.
Definition at line 68 of file TanWcs.h.