LSSTApplications
11.0-22-g33de520,13.0+153,14.0+52,14.0+57,14.0-1-g013352c+36,14.0-1-g13ef843+9,14.0-1-g4b114ac+14,14.0-1-g7257b6a+12,14.0-1-g8b7e855+51,14.0-13-g7a60b79+2,14.0-14-g87d16e8+10,14.0-14-gbf7a6f8a,14.0-17-g4f4ea82+5,14.0-2-g319577b+11,14.0-2-ga5af9b6+10,14.0-22-gc48c03f+3,14.0-3-g20413be+3,14.0-46-g76222d5f+3,14.0-47-g0a51fac97,14.0-5-g744ff5f+2,14.0-5-g86eb1bd+31,14.0-6-gd5b81a9+6,14.0-6-ge2c9487+42,14.0-8-g7f6dd6b+6,14.0-8-gb81b6e9+4,14.0-9-g11010eb,14.0-9-g330837b+5
LSSTDataManagementBasePackage
|
Implementation of the WCS standard for a any projection. More...
#include <Wcs.h>
Public Types | |
typedef std::shared_ptr< Persistable > | Ptr |
enum | { magicSentinel = 0xdeadbeef } |
typedef unsigned long | memId |
Type of the block's ID. More... | |
typedef memId(* | memNewCallback) (const memId cid) |
A function used to register a callback. More... | |
typedef memId(* | memCallback) (const Citizen *ptr) |
Public Member Functions | |
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 () |
virtual std::shared_ptr< Wcs > | clone (void) const |
bool | operator== (Wcs const &other) const |
bool | operator!= (Wcs const &other) const |
std::shared_ptr< lsst::afw::coord::Coord > | 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... | |
virtual std::shared_ptr< lsst::daf::base::PropertyList > | getFitsMetadata () const |
Return a PropertyList containing FITS header keywords that can be used to save the Wcs.x. More... | |
bool | isFlipped () const |
Does the Wcs follow the convention of North=Up, East=Left? More... | |
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... | |
std::shared_ptr< coord::Coord > | pixelToSky (double pix1, double pix2) const |
Convert from pixel position to sky coordinates (e.g. More... | |
std::shared_ptr< coord::Coord > | pixelToSky (lsst::afw::geom::Point2D const &pixel) const |
Convert from pixel position to sky coordinates (e.g. More... | |
void | pixelToSky (double pixel1, double pixel2, geom::Angle &sky1, geom::Angle &sky2) const |
Convert from pixel position to sky coordinates (e.g. More... | |
geom::Point2D | skyToPixel (geom::Angle sky1, geom::Angle sky2) const |
Convert from sky coordinates (e.g. 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. More... | |
virtual bool | hasDistortion () const |
afw::coord::CoordSystem | getCoordSystem () const |
double | getEquinox () const |
bool | isSameSkySystem (Wcs const &wcs) const |
Return true if a WCS has the same coordinate system and equinox as this one. More... | |
geom::LinearTransform | getLinearTransform () const |
Return the linear part of the Wcs, the CD matrix in FITS-speak, as an AffineTransform. More... | |
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) |
virtual bool | isPersistable () const |
Whether the Wcs is persistable using afw::table::io archives. More... | |
template<class Archive > | |
void | serialize (Archive &, unsigned int const) |
Template boost::serialization function for the base class. More... | |
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... | |
Static Public Member Functions | |
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 std::shared_ptr< Wcs > | readFits (fits::Fits &fitsfile) |
Read an object from an already open FITS object. More... | |
static std::shared_ptr< Wcs > | readFits (std::string const &fileName, int hdu=fits::DEFAULT_HDU) |
Read an object from a regular FITS file. More... | |
static std::shared_ptr< Wcs > | readFits (fits::MemFileManager &manager, int hdu=fits::DEFAULT_HDU) |
Read an object from a FITS file in memory. More... | |
Census | |
Provide a list of current Citizens | |
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... | |
callbackIDs | |
Set callback Ids. The old Id is returned | |
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... | |
callbacks | |
Set the New/Delete callback functions; in each case the previously installed callback is returned. These callback functions return a value which is Added to the previously registered id. The default callback functions are called default{New,Delete}Callback; you may want to set a break point in these callbacks from your favourite debugger | |
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... | |
Protected Types | |
typedef io::OutputArchiveHandle | OutputArchiveHandle |
Protected Member Functions | |
bool | _mayBePersistable () const |
Perform basic checks on whether *this might be persistable. More... | |
virtual std::string | getPersistenceName () const |
Return the unique name used to persist this object and look up its factory. More... | |
virtual std::string | getPythonModule () const |
Return the fully-qualified Python module that should be imported to guarantee that its factory is registered. More... | |
virtual void | write (OutputArchiveHandle &handle) const |
Write the object to one or more catalogs. More... | |
virtual bool | _isSubset (Wcs const &other) const |
bool | _isIcrs () const |
Wcs () | |
Construct an invalid Wcs given no arguments. More... | |
Wcs (std::shared_ptr< daf::base::PropertySet const > const &fitsMetadata) | |
Create a Wcs from a fits header. More... | |
Wcs (afw::table::BaseRecord const &record) | |
Wcs (Wcs const &rhs) | |
Copy constructor. More... | |
Wcs (Wcs &&rhs) | |
Wcs & | operator= (const Wcs &) |
Wcs & | operator= (Wcs &&) |
virtual void | pixelToSkyImpl (double pixel1, double pixel2, geom::Angle skyTmp[2]) const |
Worker routine for pixelToSky. More... | |
virtual geom::Point2D | skyToPixelImpl (geom::Angle sky1, geom::Angle sky2) const |
Worker routine for skyToPixel. More... | |
std::shared_ptr< afw::coord::Coord > | 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... | |
std::shared_ptr< afw::coord::Coord > | convertCoordToSky (coord::Coord const &coord) const |
Given a Coord (as a shared pointer), return the sky position in the correct coordinate system for this Wcs. More... | |
virtual geom::AffineTransform | linearizePixelToSkyInternal (geom::Point2D const &pix, coord::Coord const &coord, geom::AngleUnit skyUnit) const |
Implementation for the overloaded public linearizePixelToSky methods, requiring both a pixel coordinate and the corresponding sky coordinate. More... | |
virtual geom::AffineTransform | linearizeSkyToPixelInternal (geom::Point2D const &pix, coord::Coord const &coord, geom::AngleUnit skyUnit) const |
Implementation for the overloaded public linearizeSkyToPixel methods, requiring both a pixel coordinate and the corresponding sky coordinate. More... | |
void | initWcsLibFromFits (std::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 () |
Set some internal variables that we need to refer to. More... | |
void | _setWcslibParams () |
Protected Attributes | |
struct wcsprm * | _wcsInfo |
int | _nWcsInfo |
int | _relax |
Degree of permissiveness for wcspih (0 for strict); see wcshdr.h for details. More... | |
int | _wcsfixCtrl |
Do potentially unsafe translations of non-standard unit strings? 0/1 = no/yes. More... | |
int | _wcshdrCtrl |
Controls messages to stderr from wcshdr (0 for none); see wcshdr.h for details. More... | |
int | _nReject |
coord::CoordSystem | _coordSystem |
bool | _skyAxesSwapped |
if true then the sky axes are swapped More... | |
Private Member Functions | |
void | initWcsLib (geom::Point2D const &crval, geom::Point2D const &crpix, Eigen::Matrix2d const &CD, std::string const &ctype1, std::string const &ctype2, double equinox, std::string const &raDecSys, std::string const &cunits1, std::string const &cunits2) |
Manually initialise a wcs struct using values passed by the constructor. More... | |
Friends | |
class | WcsFactory |
std::shared_ptr< Wcs > | makeWcs (std::shared_ptr< lsst::daf::base::PropertySet > const &fitsMetadata, bool stripMetadata) |
Create a Wcs of the correct class using a FITS header. More... | |
Implementation of the WCS standard for a any projection.
Implements a single representation of the World Coordinate System of a two dimensional image The standard is defined in two papers
In its simplest sense, Wcs is used to convert from position in the sky (in right ascension and declination) to pixel position on an image (and back again). It is, however, much more general than that and can understand a myriad of different coordinate systems.
A wcs can be constructed from a reference position (crval, crpix) and a translation matrix. Alternatively, if you have the header from a FITS file, you can create a Wcs object with the makeWcs() function. This function determines whether your Wcs is one the subset of projection systems that is dealt with specially by LSST, and creates an object of the correct class. Otherwise, a pointer to a Wcs object is returned. Most astronomical images use tangent plane projection, so makeWcs() returns a TanWcs object pointer
import lsst.afw.image as afwImg fitsHeader = afwImg.readMetadata(filename) if 0: #This doesn't work wcs = afwImg.Wcs(fitsHeader) wcs = afwImg.makeWcs(fitsHeader) pixelPosition = wcs.skyToPixel(ra, dec) skyPosition = wcs.skyToPixel(xPosition, yPosition)
o[ This class is implemented in by calls to the wcslib library by Mark Calabretta http://www.atnf.csiro.au/people/mcalabre/WCS/
Note that we violate the WCS standard in one minor way. The standard states that none of the CRPIX or CRVAL keywords are required, for the header to be valid, and the appropriate values should be set to 0.0 if the keywords are absent. This is a recipe for painful bugs in analysis, so we violate the standard by insisting that the keywords CRPIX[1,2] and CRVAL[1,2] are present when reading a header (keywords CRPIX1a etc are also accepted)
|
inherited |
|
protectedinherited |
Definition at line 108 of file Persistable.h.
|
inherited |
Definition at line 76 of file Persistable.h.
lsst::afw::image::Wcs::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.
crval | The sky position of the reference point |
crpix | The pixel position corresponding to crval in LSST units |
CD | Matrix describing transformations from pixel to sky positions |
ctype1 | Projection system used (see description of Wcs) |
ctype2 | Projection system used (see description of Wcs) |
equinox | Equinox of coordinate system, eg 2000 (Julian) or 1950 (Besselian) |
raDecSys | System used to describe right ascension or declination, e.g FK4, FK5 or ICRS |
cunits1 | Units of sky position. One of deg, arcmin or arcsec |
cunits2 | Units of sky position. One of deg, arcmin or arcsec |
Definition at line 143 of file Wcs.cc.
|
protected |
Construct an invalid Wcs given no arguments.
Definition at line 84 of file Wcs.cc.
|
protected |
Create a Wcs from a fits header.
Don't call this directly. Use makeWcs() instead, which will figure out which (if any) sub-class of Wcs is appropriate.
Definition at line 98 of file Wcs.cc.
|
explicitprotected |
Definition at line 1019 of file Wcs.cc.
|
protected |
Copy constructor.
Definition at line 431 of file Wcs.cc.
|
protected |
Set some internal variables that we need to refer to.
Definition at line 114 of file Wcs.cc.
|
inlineprotected |
Definition at line 371 of file Wcs.h.
|
protectedvirtual |
Reimplemented in lsst::afw::image::TanWcs.
Definition at line 504 of file Wcs.cc.
|
protected |
|
protected |
Definition at line 68 of file Wcs.cc.
|
staticinherited |
How many active Citizens are there?
startingMemId | Don't print Citizens with lower IDs |
Definition at line 267 of file Citizen.cc.
|
staticinherited |
Print a list of all active Citizens to stream, sorted by ID.
stream | stream to print to |
startingMemId | Don't print Citizens with lower IDs |
Definition at line 290 of file Citizen.cc.
|
staticinherited |
Return a (newly allocated) std::vector of active Citizens sorted by ID.
You are responsible for deleting it; or you can say std::unique_ptr<std::vector<Citizen const*> const> leaks(Citizen::census()); and not bother (that becomes std::unique_ptr in C++11)
Definition at line 322 of file Citizen.cc.
|
virtual |
Reimplemented in lsst::afw::image::TanWcs, lsst::afw::image::DistortedTanWcs, and lsst::meas::algorithms::BinnedWcs.
Definition at line 531 of file Wcs.cc.
|
protected |
|
virtual |
Flip CD matrix around the y-axis.
Reimplemented in lsst::afw::image::TanWcs, lsst::afw::image::DistortedTanWcs, and lsst::meas::algorithms::BinnedWcs.
Definition at line 568 of file Wcs.cc.
Eigen::Matrix2d lsst::afw::image::Wcs::getCDMatrix | ( | ) | const |
|
inline |
double lsst::afw::image::Wcs::getEquinox | ( | ) | const |
|
virtual |
Return a PropertyList containing FITS header keywords that can be used to save the Wcs.x.
Reimplemented in lsst::afw::image::TanWcs, and lsst::meas::algorithms::BinnedWcs.
Definition at line 644 of file Wcs.cc.
|
inherited |
geom::LinearTransform lsst::afw::image::Wcs::getLinearTransform | ( | ) | const |
Return the linear part of the Wcs, the CD matrix in FITS-speak, as an AffineTransform.
Definition at line 916 of file Wcs.cc.
|
staticinherited |
Return the memId of the next object to be allocated.
Definition at line 229 of file Citizen.cc.
|
protectedvirtual |
Return the unique name used to persist this object and look up its factory.
Must be less than ArchiveIndexSchema::MAX_NAME_LENGTH characters.
Reimplemented from lsst::afw::table::io::Persistable.
Reimplemented in lsst::afw::image::TanWcs.
GeomPoint lsst::afw::image::Wcs::getPixelOrigin | ( | ) | const |
|
protectedvirtual |
Return the fully-qualified Python module that should be imported to guarantee that its factory is registered.
Must be less than ArchiveIndexSchema::MAX_MODULE_LENGTH characters.
Will be ignored if empty.
Reimplemented from lsst::afw::table::io::Persistable.
CoordPtr lsst::afw::image::Wcs::getSkyOrigin | ( | ) | const |
Returns CRVAL. This need not be the centre of the image.
Definition at line 537 of file Wcs.cc.
|
staticinherited |
Check all allocated blocks for corruption.
Definition at line 353 of file Citizen.cc.
|
inlinevirtual |
Reimplemented in lsst::afw::image::TanWcs, lsst::afw::image::DistortedTanWcs, and lsst::meas::algorithms::BinnedWcs.
|
staticinherited |
Called once when the memory system is being initialised.
Definition at line 214 of file Citizen.cc.
|
private |
Manually initialise a wcs struct using values passed by the constructor.
crval | The sky position of the reference point |
crpix | The pixel position corresponding to crval in LSST units |
CD | Matrix describing transformations from pixel to sky positions |
ctype1 | Projection system used (see description of Wcs) |
ctype2 | Projection system used (see description of Wcs) |
equinox | Equinox of coordinate system, eg 2000 (Julian) or 1950 (Besselian) |
raDecSys | System used to describe right ascension or declination, e.g FK4, FK5 or ICRS |
cunits1 | Units of sky position. One of deg, arcmin or arcsec |
cunits2 | Units of sky position. One of deg, arcmin or arcsec |
Definition at line 341 of file Wcs.cc.
|
protected |
Parse a fits header, extract the relevant metadata and create a Wcs object.
Definition at line 160 of file Wcs.cc.
bool lsst::afw::image::Wcs::isFlipped | ( | ) | const |
Does the Wcs follow the convention of North=Up, East=Left?
The conventional sense for a WCS image is to have North up and East to the left, or at least to be able to rotate the image to that orientation. It is possible to create a "flipped" WCS, where East points right when the image is rotated such that North is up. Flipping a WCS is akin to producing a mirror image. This function tests whether the image is flipped or not.
Definition at line 648 of file Wcs.cc.
|
virtual |
Whether the Wcs is persistable using afw::table::io archives.
Reimplemented from lsst::afw::table::io::Persistable.
Reimplemented in lsst::afw::image::TanWcs, lsst::afw::image::DistortedTanWcs, and lsst::meas::algorithms::BinnedWcs.
Definition at line 1011 of file Wcs.cc.
bool lsst::afw::image::Wcs::isSameSkySystem | ( | Wcs const & | wcs | ) | const |
Return true if a WCS has the same coordinate system and equinox as this one.
There are two special cases:
Definition at line 796 of file Wcs.cc.
geom::AffineTransform lsst::afw::image::Wcs::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.
The local linear approximation is defined such the following is true (ignoring floating-point errors):
wcs.linearizePixelToSky(sky, skyUnit)(wcs.skyToPixel(sky)) == sky.getPosition(skyUnit);
(recall that AffineTransform::operator() is matrix multiplication with the augmented point (x,y,1)).
This is currently implemented as a numerical derivative, but we should specialise the Wcs class (or rather its implementation) to handle "simple" cases such as TAN-SIP analytically
[in] | coord | Position in sky coordinates where transform is desired. |
[in] | skyUnit | Units to use for sky coordinates; units of matrix elements will be skyUnits/pixel. |
Definition at line 868 of file Wcs.cc.
geom::AffineTransform lsst::afw::image::Wcs::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.
The local linear approximation is defined such the following is true (ignoring floating-point errors):
wcs.linearizePixelToSky(pix, skyUnit)(pix) == wcs.pixelToSky(pix).getPosition(skyUnit)
(recall that AffineTransform::operator() is matrix multiplication with the augmented point (x,y,1)).
This is currently implemented as a numerical derivative, but we should specialise the Wcs class (or rather its implementation) to handle "simple" cases such as TAN-SIP analytically
[in] | pix | Position in pixel coordinates where transform is desired. |
[in] | skyUnit | Units to use for sky coordinates; units of matrix elements will be skyUnits/pixel. |
Definition at line 871 of file Wcs.cc.
|
protectedvirtual |
Implementation for the overloaded public linearizePixelToSky methods, requiring both a pixel coordinate and the corresponding sky coordinate.
Definition at line 875 of file Wcs.cc.
geom::AffineTransform lsst::afw::image::Wcs::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.
The local linear approximation is defined such the following is true (ignoring floating-point errors):
wcs.linearizeSkyToPixel(sky, skyUnit)(sky.getPosition(skyUnit)) == wcs.skyToPixel(sky)
(recall that AffineTransform::operator() is matrix multiplication with the augmented point (x,y,1)).
This is currently implemented as a numerical derivative, but we should specialise the Wcs class (or rather its implementation) to handle "simple" cases such as TAN-SIP analytically
[in] | coord | Position in sky coordinates where transform is desired. |
[in] | skyUnit | Units to use for sky coordinates; units of matrix elements will be pixels/skyUnit. |
Definition at line 902 of file Wcs.cc.
geom::AffineTransform lsst::afw::image::Wcs::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.
The local linear approximation is defined such the following is true (ignoring floating-point errors):
wcs.linearizeSkyToPixel(pix, skyUnit)(wcs.pixelToSky(pix).getPosition(skyUnit)) == pix
(recall that AffineTransform::operator() is matrix multiplication with the augmented point (x,y,1)).
This is currently implemented as a numerical derivative, but we should specialise the Wcs class (or rather its implementation) to handle "simple" cases such as TAN-SIP analytically
[in] | pix | Position in pixel coordinates where transform is desired. |
[in] | skyUnit | Units to use for sky coordinates; units of matrix elements will be pixels/skyUnit. |
Definition at line 906 of file Wcs.cc.
|
protectedvirtual |
Implementation for the overloaded public linearizeSkyToPixel methods, requiring both a pixel coordinate and the corresponding sky coordinate.
Definition at line 910 of file Wcs.cc.
|
protected |
Given a sky position, use the values stored in ctype and radesys to return the correct sub-class of Coord.
Definition at line 846 of file Wcs.cc.
|
inherited |
Mark a Citizen as persistent and not destroyed until process end.
Definition at line 254 of file Citizen.cc.
|
inline |
bool lsst::afw::image::Wcs::operator== | ( | Wcs const & | other | ) | const |
Definition at line 468 of file Wcs.cc.
double lsst::afw::image::Wcs::pixArea | ( | lsst::afw::geom::Point2D | pix00 | ) | const |
Sky area covered by a pixel at position pix00
in units of square degrees.
pix00 | The pixel point where the area is desired |
Definition at line 666 of file Wcs.cc.
geom::Angle lsst::afw::image::Wcs::pixelScale | ( | ) | const |
Returns the pixel scale [Angle/pixel].
Definition at line 697 of file Wcs.cc.
CoordPtr lsst::afw::image::Wcs::pixelToSky | ( | double | pix1, |
double | pix2 | ||
) | const |
Convert from pixel position to sky coordinates (e.g.
RA/dec)
Convert a pixel position (e.g. x,y) to a celestial coordinate (e.g. RA/dec). The output coordinate system depends on the values of CTYPE used to construct the object. For RA/dec, the CTYPES should be RA—TAN and DEC–TAN.
Definition at line 827 of file Wcs.cc.
CoordPtr lsst::afw::image::Wcs::pixelToSky | ( | lsst::afw::geom::Point2D const & | pixel | ) | const |
Convert from pixel position to sky coordinates (e.g.
RA/dec)
Convert a pixel position (e.g. x,y) to a celestial coordinate (e.g. RA/dec). The output coordinate system depends on the values of CTYPE used to construct the object. For RA/dec, the CTYPES should be RA—TAN and DEC–TAN.
Definition at line 825 of file Wcs.cc.
void lsst::afw::image::Wcs::pixelToSky | ( | double | pixel1, |
double | pixel2, | ||
geom::Angle & | sky1, | ||
geom::Angle & | sky2 | ||
) | const |
Convert from pixel position to sky coordinates (e.g.
RA/dec)
Definition at line 835 of file Wcs.cc.
|
protectedvirtual |
Worker routine for pixelToSky.
Reimplemented in lsst::afw::image::TanWcs, lsst::afw::image::DistortedTanWcs, and lsst::meas::algorithms::BinnedWcs.
Definition at line 803 of file Wcs.cc.
|
inlinestaticinherited |
Read an object from an already open FITS object.
[in] | fitsfile | FITS object to read from, already positioned at the desired HDU. |
Definition at line 183 of file Persistable.h.
|
inlinestaticinherited |
Read an object from a regular FITS file.
[in] | fileName | Name of the file to read. |
[in] | hdu | HDU to read, where 0 is the primary. The special value of afw::fits::DEFAULT_HDU skips the primary HDU if it is empty. |
Definition at line 194 of file Persistable.h.
|
inlinestaticinherited |
Read an object from a FITS file in memory.
[in] | manager | Manager for the memory to read from. |
[in] | hdu | HDU to read, where 0 is the primary. The special value of afw::fits::DEFAULT_HDU skips the primary HDU if it is empty. |
Definition at line 205 of file Persistable.h.
|
inherited |
Return a string representation of a Citizen.
Definition at line 245 of file Citizen.cc.
|
virtual |
Rotate image by nQuarter times 90 degrees.
Reimplemented in lsst::afw::image::TanWcs, lsst::afw::image::DistortedTanWcs, and lsst::meas::algorithms::BinnedWcs.
Definition at line 591 of file Wcs.cc.
|
inlineinherited |
Template boost::serialization function for the base class.
Doesn't actually do anything, since there is no data associated with the base. Inline to allow expansion wherever needed.
Definition at line 86 of file Persistable.h.
|
staticinherited |
Set the CorruptionCallback function.
func | function be called when block is found to be corrupted |
Definition at line 432 of file Citizen.cc.
|
staticinherited |
Set the DeleteCallback function.
func | function be called when desired block is deleted |
Definition at line 422 of file Citizen.cc.
|
staticinherited |
Call the current DeleteCallback when block is deleted.
id | Desired ID |
Definition at line 387 of file Citizen.cc.
|
staticinherited |
Set the NewCallback function.
func | The new function to be called when a designated block is allocated |
Definition at line 412 of file Citizen.cc.
|
staticinherited |
Call the NewCallback when block is allocated.
id | Desired ID |
Definition at line 376 of file Citizen.cc.
|
virtual |
Move the pixel reference position by (dx, dy)
Used when persisting and retrieving sub-images. The LSST convention is that Wcs returns pixel position (which is based on position in the parent image), but the FITS convention is to return pixel index (which is bases on position in the sub-image). In order that the FITS files we create make sense to other FITS viewers, we change to the FITS convention when writing out images.
Reimplemented in lsst::afw::image::DistortedTanWcs.
|
inlinevirtual |
Definition at line 333 of file Wcs.h.
GeomPoint lsst::afw::image::Wcs::skyToIntermediateWorldCoord | ( | coord::Coord const & | coord | ) | const |
Convert from sky coordinates (e.g.
RA/dec) to intermediate world coordinates
Intermediate world coordinates are in DEGREES.
Definition at line 747 of file Wcs.cc.
GeomPoint lsst::afw::image::Wcs::skyToPixel | ( | geom::Angle | sky1, |
geom::Angle | sky2 | ||
) | const |
Convert from sky coordinates (e.g.
RA/dec) to pixel positions
Convert a sky position (e.g. RA/dec) to a pixel position. The exact meaning of sky1, sky2 and the return value depend on the properties of the wcs (i.e. the values of CTYPE1 and CTYPE2), but the inputs are usually RA/dec. The outputs are x and y pixel position.
ASSUMES the angles are in the appropriate coordinate system for this Wcs.
Definition at line 745 of file Wcs.cc.
GeomPoint lsst::afw::image::Wcs::skyToPixel | ( | coord::Coord const & | coord | ) | const |
Convert from sky coordinates (e.g. RA/dec) to pixel positions.
Definition at line 736 of file Wcs.cc.
|
protectedvirtual |
Worker routine for skyToPixel.
sky1 | RA (or, more generally, longitude) |
sky2 | Dec (or latitude) |
Reimplemented in lsst::afw::image::TanWcs, lsst::afw::image::DistortedTanWcs, and lsst::meas::algorithms::BinnedWcs.
Definition at line 699 of file Wcs.cc.
|
protectedvirtual |
Write the object to one or more catalogs.
The handle object passed to this function provides an interface for adding new catalogs and adding nested objects to the same archive (while checking for duplicates). See OutputArchiveHandle for more information.
Reimplemented from lsst::afw::table::io::Persistable.
Reimplemented in lsst::afw::image::TanWcs.
Definition at line 984 of file Wcs.cc.
|
inherited |
Write the object to a regular FITS file.
[in] | fileName | Name of the file to write to. |
[in] | mode | If "w", any existing file with the given name will be overwritten. If "a", new HDUs will be appended to an existing file. |
|
inherited |
Write the object to a FITS image in memory.
[in] | manager | Name of the file to write to. |
[in] | mode | If "w", any existing file with the given name will be overwritten. If "a", new HDUs will be appended to an existing file. |
|
inherited |
Write the object to an already-open FITS object.
[in] | fitsfile | Open FITS object to write to. |
|
friend |
Create a Wcs of the correct class using a FITS header.
Set stripMetadata=true to remove processed keywords from the PropertySet.
It examines the header and determines the most suitable object to return, either a general Wcs object, or a more specific object specialised to a given coordinate system (e.g TanWcs)
fitsMetadata | input metadata |
stripMetadata | Remove FITS keywords from metadata? |
Definition at line 37 of file makeWcs.cc.
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |