Isis 3.0 Object Programmers' Reference |
Home |
#include <Camera.h>
Public Types | |
enum | CameraType { Framing, PushFrame, LineScan, Radar, Point } |
This enum defines the types of cameras supported in this class. More... | |
Public Member Functions | |
Camera (Cube &cube) | |
Constructs the Camera object. | |
virtual | ~Camera () |
Destroys the Camera Object. | |
bool | SetImage (const double sample, const double line) |
Sets the sample/line values of the image to get the lat/lon values. | |
bool | SetUniversalGround (const double latitude, const double longitude) |
Sets the lat/lon values to get the sample/line values. | |
bool | SetUniversalGround (const double latitude, const double longitude, const double radius) |
Sets the lat/lon/radius values to get the sample/line values. | |
bool | SetGround (Latitude latitude, Longitude longitude) |
Sets the lat/lon values to get the sample/line values. | |
bool | SetGround (const SurfacePoint &surfacePt) |
Sets the lat/lon/radius values to get the sample/line values. | |
bool | SetRightAscensionDeclination (const double ra, const double dec) |
Sets the right ascension declination. | |
void | LocalPhotometricAngles (Angle &phase, Angle &incidence, Angle &emission, bool &success) |
Calculates LOCAL photometric angles using the DEM (not ellipsoid). | |
void | GetLocalNormal (double normal[3]) |
This method will find the local normal at the current (sample, line) and set it to the passed in array. | |
bool | HasProjection () |
Checks to see if the camera object has a projection. | |
virtual bool | IsBandIndependent () |
Virtual method that checks if the band is independent. | |
int | ReferenceBand () const |
Returns the reference band. | |
bool | HasReferenceBand () const |
Checks to see if the Camera object has a reference band. | |
virtual void | SetBand (const int band) |
Virtual method that sets the band number. | |
double | Sample () |
Returns the current sample number. | |
int | Band () |
Returns the current band. | |
double | Line () |
Returns the current line number. | |
bool | GroundRange (double &minlat, double &maxlat, double &minlon, double &maxlon, Pvl &pvl) |
Computes the Ground Range. | |
bool | ringRange (double &minRingRadius, double &maxRingRadius, double &minRingLongitude, double &maxRingLongitude, Pvl &pvl) |
Analogous to the above Ground Range method. | |
bool | IntersectsLongitudeDomain (Pvl &pvl) |
Checks whether the ground range intersects the longitude domain or not. | |
double | PixelResolution () |
Returns the pixel resolution at the current position in m/pix. | |
double | LineResolution () |
Returns the line resolution at the current position. | |
double | SampleResolution () |
Returns the sample resolution at the current position. | |
double | DetectorResolution () |
Returns the detector resolution at the current position. | |
virtual double | resolution () |
Returns the resolution of the camera. | |
double | LowestImageResolution () |
Returns the lowest/worst resolution in the entire image. | |
double | HighestImageResolution () |
Returns the highest/best resolution in the entire image. | |
void | BasicMapping (Pvl &map) |
Writes the basic mapping group to the specified Pvl. | |
void | basicRingMapping (Pvl &map) |
Writes the basic mapping group for ring plane to the specified Pvl. | |
double | FocalLength () const |
Returns the focal length. | |
double | PixelPitch () const |
Returns the pixel pitch. | |
virtual QList< QPointF > | PixelIfovOffsets () |
Returns the pixel ifov offsets from center of pixel, which defaults to the (pixel pitch * summing mode ) / 2. | |
int | Samples () const |
Returns the number of samples in the image. | |
int | Lines () const |
Returns the number of lines in the image. | |
int | Bands () const |
Returns the number of bands in the image. | |
int | ParentLines () const |
Returns the number of lines in the parent alphacube. | |
int | ParentSamples () const |
Returns the number of samples in the parent alphacube. | |
bool | RaDecRange (double &minra, double &maxra, double &mindec, double &maxdec) |
Computes the RaDec range. | |
double | RaDecResolution () |
Returns the RaDec resolution. | |
CameraDistortionMap * | DistortionMap () |
Returns a pointer to the CameraDistortionMap object. | |
CameraFocalPlaneMap * | FocalPlaneMap () |
Returns a pointer to the CameraFocalPlaneMap object. | |
CameraDetectorMap * | DetectorMap () |
Returns a pointer to the CameraDetectorMap object. | |
CameraGroundMap * | GroundMap () |
Returns a pointer to the CameraGroundMap object. | |
CameraSkyMap * | SkyMap () |
Returns a pointer to the CameraSkyMap object. | |
void | SetDistortionMap (CameraDistortionMap *map) |
Sets the Distortion Map. | |
void | SetFocalPlaneMap (CameraFocalPlaneMap *map) |
Sets the Focal Plane Map. | |
void | SetDetectorMap (CameraDetectorMap *map) |
Sets the Detector Map. | |
void | SetGroundMap (CameraGroundMap *map) |
Sets the Ground Map. | |
void | SetSkyMap (CameraSkyMap *map) |
Sets the Sky Map. | |
double | NorthAzimuth () |
Returns the North Azimuth. | |
double | SunAzimuth () |
Returns the Sun Azimuth. | |
double | SpacecraftAzimuth () |
Return the Spacecraft Azimuth. | |
double | OffNadirAngle () |
Return the off nadir angle in degrees. | |
void | IgnoreProjection (bool ignore) |
Set whether or not the camera should ignore the Projection. | |
void | LoadCache () |
This loads the spice cache big enough for this image. | |
std::pair< double, double > | StartEndEphemerisTimes () |
Calculates the start and end ephemeris times. | |
int | CacheSize (double startTime, double endTime) |
This method calculates the spice cache size. | |
void | GetGeometricTilingHint (int &startSize, int &endSize) |
This will get the geometric tiling hint; these values are typically used for ProcessRubberSheet::SetTiling(...). | |
bool | InCube () |
This returns true if the current Sample() or Line() value is outside of the cube (meaning the point must have been extrapolated). | |
virtual CameraType | GetCameraType () const =0 |
Returns the type of camera that was created. | |
virtual int | CkFrameId () const =0 |
Provides the NAIF frame code for an instruments CK kernel. | |
virtual int | CkReferenceId () const =0 |
Provides the NAIF reference code for an instruments CK kernel. | |
virtual int | SpkReferenceId () const =0 |
Provides reference frame for instruments SPK NAIF kernel. | |
virtual int | SpkTargetId () const |
Provides target code for instruments SPK NAIF kernel. | |
virtual int | SpkCenterId () const |
Provides the center of motion body for SPK NAIF kernel. | |
void | setTime (const iTime &time) |
By setting the time you essential set the position of the spacecraft and body as indicated in the class Spice. | |
bool | SetLookDirection (const double v[3]) |
Sets the look direction of the spacecraft. | |
bool | SetUniversalGround (const double latitude, const double longitude, bool backCheck=true) |
This is the opposite routine for SetLookDirection. | |
bool | SetUniversalGround (const double latitude, const double longitude, const double radius, bool backCheck=true) |
This overloaded method has the opposite function as SetLookDirection. | |
bool | SetGround (const SurfacePoint &surfacePt, bool backCheck=true) |
This overloaded method has the opposite function as SetLookDirection. | |
bool | HasSurfaceIntersection () const |
Returns if the last call to either SetLookDirection or SetUniversalGround had a valid intersection with the target. | |
void | Coordinate (double p[3]) const |
Returns the x,y,z of the surface intersection in BodyFixed km. | |
double | UniversalLatitude () const |
Returns the planetocentric latitude at the surface intersection point in body fixed. | |
Latitude | GetLatitude () const |
Returns the latitude. | |
double | UniversalLongitude () const |
Returns a positive east, 0-360 domain longitude at the surface intersection point in body fixed. | |
Longitude | GetLongitude () const |
Returns the longitude. | |
SurfacePoint | GetSurfacePoint () const |
Returns the surface point (most efficient accessor). | |
Distance | LocalRadius () const |
Returns the local radius at the intersection point. | |
Distance | LocalRadius (Latitude lat, Longitude lon) |
Returns the local radius at the intersection point. | |
Distance | LocalRadius (double lat, double lon) |
Returns the local radius at the intersection point. | |
double | PhaseAngle () const |
Returns the phase angle in degrees. | |
double | EmissionAngle () const |
Returns the emission angle in degrees. | |
double | IncidenceAngle () const |
Returns the incidence angle in degrees. | |
void | LookDirection (double v[3]) const |
Returns the look direction in the camera coordinate system. | |
double | RightAscension () |
Returns the right ascension angle (sky longitude) | |
double | Declination () |
Returns the declination angle (sky latitude) | |
void | SpacecraftSurfaceVector (double scSurfaceVector[3]) const |
Return the vector between the spacecraft and surface point in body-fixed. | |
double | SlantDistance () const |
Return the distance between the spacecraft and surface point in kmv. | |
double | LocalSolarTime () |
Return the local solar time in hours. | |
double | SolarDistance () const |
Returns the distance between the sun and surface point in AU. | |
double | SpacecraftAltitude () |
Returns the distance from the spacecraft to the subspacecraft point in km. | |
void | IgnoreElevationModel (bool ignore) |
This allows you to ignore the cube elevation model and use the ellipse. | |
void | instrumentPosition (double p[3]) const |
Returns the spacecraft position in body-fixed frame km units. | |
SpicePosition * | instrumentPosition () const |
Accessor method for the instrument position. | |
void | instrumentBodyFixedPosition (double p[3]) const |
Returns the spacecraft position in body-fixed frame km units. | |
void | sunPosition (double p[3]) const |
Fills the input vector with sun position information, in either body-fixed or J2000 reference frame and km units. | |
SpicePosition * | sunPosition () const |
Accessor method for the sun position. | |
double | targetCenterDistance () const |
Calculates and returns the distance from the spacecraft to the target center. | |
Longitude | solarLongitude () |
Returns the solar longitude. | |
void | instrumentBodyFixedVelocity (double v[3]) const |
Returns the spacecraft velocity in body-fixed frame km/sec units. | |
iTime | time () const |
Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions. | |
void | radii (Distance r[3]) const |
Returns the radii of the body in km. | |
void | createCache (iTime startTime, iTime endTime, const int size, double tol) |
This method creates an internal cache of spacecraft and sun positions over a specified time range. | |
iTime | cacheStartTime () const |
Accessor method for the cache start time. | |
iTime | cacheEndTime () const |
Accessor method for the cache end time. | |
void | subSpacecraftPoint (double &lat, double &lon) |
Returns the sub-spacecraft latitude/longitude in universal coordinates (0-360 positive east, ocentric) | |
void | subSolarPoint (double &lat, double &lon) |
Returns the sub-solar latitude/longitude in universal coordinates (0-360 positive east, ocentric) | |
Target * | target () const |
Returns a pointer to the target object. | |
QString | targetName () const |
Returns the string name of the target. | |
iTime | getClockTime (QString clockValue, int sclkCode=-1) |
This converts the spacecraft clock ticks value (clockValue) to an iTime. | |
SpiceDouble | getDouble (const QString &key, int index=0) |
This returns a value from the NAIF text pool. | |
SpiceInt | getInteger (const QString &key, int index=0) |
This returns a value from the NAIF text pool. | |
QString | getString (const QString &key, int index=0) |
This returns a value from the NAIF text pool. | |
SpiceRotation * | bodyRotation () const |
Accessor method for the body rotation. | |
SpiceRotation * | instrumentRotation () const |
Accessor method for the instrument rotation. | |
bool | hasKernels (Pvl &lab) |
Returns true if the kernel group has kernel files. | |
SpiceInt | naifBodyCode () const |
This returns the NAIF body code of the target indicated in the labels. | |
SpiceInt | naifSpkCode () const |
This returns the NAIF SPK code to use when reading from SPK kernels. | |
SpiceInt | naifCkCode () const |
This returns the NAIF CK code to use when reading from CK kernels. | |
SpiceInt | naifIkCode () const |
This returns the NAIF IK code to use when reading from instrument kernels. | |
SpiceInt | naifSclkCode () const |
This returns the NAIF SCLK code to use when reading from instrument kernels. | |
SpiceInt | naifBodyFrameCode () const |
This returns the NAIF body frame code. | |
PvlObject | getStoredNaifKeywords () const |
This returns the PvlObject that stores all of the requested Naif data and can be a replacement for furnishing text kernels. | |
Static Public Member Functions | |
static double | GroundAzimuth (double glat, double glon, double slat, double slon) |
Computes and returns the ground azimuth between the ground point and another point of interest, such as the subspacecraft point or the subsolar point. | |
Protected Types | |
enum | SpiceValueType { SpiceDoubleType, SpiceStringType, SpiceIntType, SpiceByteCodeType } |
NAIF value primitive type. More... | |
Protected Member Functions | |
void | SetFocalLength (double v) |
Sets the focal length. | |
void | SetPixelPitch (double v) |
Sets the pixel pitch. | |
void | SetFocalLength () |
Reads the focal length from the instrument kernel. | |
void | SetPixelPitch () |
Reads the Pixel Pitch from the instrument kernel. | |
void | SetGeometricTilingHint (int startSize=128, int endSize=8) |
This method sets the best geometric tiling size for projecting from this camera model. | |
QVariant | readValue (QString key, SpiceValueType type, int index=0) |
This should be used for reading ALL text naif kernel values. | |
void | storeResult (QString name, SpiceValueType type, QVariant value) |
QVariant | getStoredResult (QString name, SpiceValueType type) |
void | storeValue (QString key, int index, SpiceValueType type, QVariant value) |
QVariant | readStoredValue (QString key, SpiceValueType type, int index) |
Protected Attributes | |
SpiceDouble | m_uB [3] |
This contains the sun position (u) in the | |
SpiceDouble | m_BJ [3][3] |
This contains the transformation matrix from J2000 (J) to Body fixed (B). | |
Private Member Functions | |
void | GroundRangeResolution () |
Computes the ground range and min/max resolution. | |
void | ringRangeResolution () |
Analogous to above GroundRangeResolution method. | |
double | ComputeAzimuth (Distance radius, const double lat, const double lon) |
Computes the image azimuth value from your current position (origin) to a point of interest specified by the lat/lon input to this method. | |
bool | RawFocalPlanetoImage () |
Computes the image coordinate for the current universal ground point. | |
Private Attributes | |
double | p_focalLength |
The focal length, in units of millimeters. | |
double | p_pixelPitch |
The pixel pitch, in millimeters per pixel. | |
double | p_minlat |
The minimum latitude. | |
double | p_maxlat |
The maximum latitude. | |
double | p_minlon |
The minimum longitude. | |
double | p_maxlon |
The maximum longitude. | |
double | p_minres |
The minimum resolution. | |
double | p_maxres |
The maximum resolution. | |
double | p_minlon180 |
The minimum longitude in the 180 domain. | |
double | p_maxlon180 |
The maximum longitude in the 180 domain. | |
bool | p_groundRangeComputed |
bool | p_pointComputed |
!< Flag showing if ground range was computed successfully. | |
int | p_samples |
The number of samples in the image. | |
int | p_lines |
The number of lines in the image. | |
int | p_bands |
The number of bands in the image. | |
int | p_referenceBand |
The reference band. | |
Projection * | p_projection |
A pointer to the Projection. | |
bool | p_ignoreProjection |
Whether or no to ignore the Projection. | |
double | p_mindec |
The minimum declination. | |
double | p_maxdec |
The maximum declination. | |
double | p_minra |
The minimum right ascension. | |
double | p_maxra |
The maxumum right ascension. | |
double | p_minra180 |
The minimum right ascension in the 180 domain. | |
double | p_maxra180 |
The maximum right ascension in the 180 domain. | |
bool | p_raDecRangeComputed |
double | p_minRingRadius |
!< Flag showing if the raDec range has been computed successfully. | |
double | p_maxRingRadius |
The maximum ring radius. | |
double | p_minRingLongitude |
The minimum ring longitude (azimuth) | |
double | p_maxRingLongitude |
The maximum ring longitude (azimuth) | |
double | p_minRingLongitude180 |
The minimum ring longitude in the 180 domain. | |
double | p_maxRingLongitude180 |
The maximum ring longitude in the 180 domain. | |
bool | p_ringRangeComputed |
AlphaCube * | p_alphaCube |
!< Flag showing if ring range was computed successfully. | |
double | p_childSample |
Sample value for child. | |
double | p_childLine |
Line value for child. | |
int | p_childBand |
Band value for child. | |
CameraDistortionMap * | p_distortionMap |
A pointer to the DistortionMap. | |
CameraFocalPlaneMap * | p_focalPlaneMap |
A pointer to the FocalPlaneMap. | |
CameraDetectorMap * | p_detectorMap |
A pointer to the DetectorMap. | |
CameraGroundMap * | p_groundMap |
A pointer to the GroundMap. | |
CameraSkyMap * | p_skyMap |
A pointer to the SkyMap. | |
int | p_geometricTilingStartSize |
The ideal geometric tile size to start with when projecting. | |
int | p_geometricTilingEndSize |
The ideal geometric tile size to end with when projecting. | |
Friends | |
class | RadarGroundMap |
class | RadarSlantRangeMap |
2005-11-09 Tracie Sucharski - Added HasProjection method.
2006-04-11 Tracie Sucharski - Added IgnoreProjection method and p_ignoreProjection so that the Camera is used rather than Projection.
2006-04-19 Elizabeth Miller - Added SpacecraftRoll method
2006-06-08 Elizabeth Miller - Added static Distance method that calculates the distance between 2 lat/lon pts (given the radius)
2006-07-25 Elizabeth Miller - Fixed bug in Distance method
2006-07-31 Elizabeth Miller - Added OffNadirAngle method and removed SpacecraftRoll method
2007-06-11 Debbie A. Cook - Added overloaded method SetUniversalGround that includes a radius argument and method RawFocalPlanetoImage() to handle the common functionality between the SetUniversalGround methods.
2008-01-28 Christopher Austin - Added error throw when minlon range isn't set beyond initialization.
2008-02-15 Stacy Alley - In the GroundRangeResolution () method we had to subtract 0.5 when looking at the far left of pixels and add 0.5 to ensure we are seeing the far right of pixels.
2008-05-21 Steven Lambright - Fixed boundary condition in the GroundRangeResolution () method.
2008-06-18 Christopher Austin - Fixed documentation errors
2008-07-15 Steven Lambright - Added NaifStatus calls
2008-07-24 Steven Lambright - Fixed memory leaks: the alpha cube, distortion map, focal plane map, sky map, detector map, and ground map were not being deleted.
2008-08-08 Steven Lambright - Added the LoadCache() method which tries to find the correct time range and calls Spice::CreateCache
2008-09-10 Steven Lambright - Added the geometric tiling methods in order to optimize push frame cameras and prevent corruption of data when running cam2map with push frame cameras
2008-11-13 Janet Barrett - Added the GroundAzimuth method. This method computes and returns the ground azimuth between the ground point and another point of interest, such as the subspacecraft point or the subsolar point. The ground azimuth is the clockwise angle on the ground between a line drawn from the ground point to the North pole of the body and a line drawn from the ground point to the point of interest (such as the subsolar point or the subspacecraft point).
2009-01-05 Steven Lambright - Added InCube method
2009-03-02 Steven Lambright - This class now keeps track of the current child band, has added error checks, and now hopefully resets state when methods like GroundRangeResolution are called.
2009-05-21 Steven Lambright - The geometric tiling hint can now be 2,2 as a special case meaning no tiling will be used (the initial box will be a 2x2 box - only the 4 corners - is the idea behind using this value).
2009-05-22 Debbie A. Cook - Added Resolution method for Sensor (parent) virtual
2009-06-05 Mackenzie Boyd - Updated samson truthdata
2009-07-08 Janet Barrett - Added RadarGroundMap and RadarSlantRangeMap as friends to this class so that they have access to the SetFocalLength method. The Radar instrument does not have a focal length and these classes need to be able to change the focal length value each time the slant range changes. This insures that the detector resolution always comes out to the pixel width/height for the Radar instrument.
2009-07-09 Debbie A. Cook - Set p_hasIntersection in SetImage if successful instead of just returning the bool to that other methods will know a ground point was successfully set.
2009-08-03 Debbie A. Cook - Added computation of tolerance to support change in Spice class for supporting downsizing of Spice tables
2009-08-14 Debbie A. Cook - Corrected alternate tolerance
2009-08-17 Debbie A. Cook - Added default tolerance for sky images
2009-08-19 Janet Barrett - Fixed the GroundAzimuth method so that it checks the quadrant that the subspacecraft or subsolar point lies in to calculate the correct azimuth value.
2009-08-28 Steven Lambright - Added GetCameraType method and returned enumeration value
2009-09-23 Tracie Sucharski - Convert negative longitudes coming out of reclat when computing azimuths.
2009-12-14 Steven Lambright - BasicMapping(...) will now populate the map Pvl parameter with a valid Pvl
2010-03-19 Debbie A. Cook - Added members p_ckFrameId and p_ckReferenceId and members SetCkFrameId(), SetCkReferenceId(), CkFrameId(), and CkReferenceId() needed by the ckwriter application
2010-03-29 Debbie A. Cook - Modified SetCkFrameid and SetCkReferenceFrame to set new bool value p_ckwriteReady to true if the kernels have values and false if they don't instead of bombing.
2010-11-04 Steven Lambright - Added SetGround() methods with the SurfacePoint version being commented out until the SurfacePoint class is available.
2010-11-09 Eric Hyer - Added GetLocalNormal() and LocalPhotometricAngles() methods
2010-11-22 Janet Barrett - Added checks to make sure that the normal can be determined for DEM surface. Also modified the LocalPhotometricAngles method to report if the angles could successfully be calculated.
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
2011-01-14 Kris Becker - Added the (pure) virtual methods CkFrameId(), CkReferenceId(), SpkTargetId(), SpkCenterId() and SpkReferenceId(). Camera model developers must provide, at a minimum, implementations for CkFrameId(), CkReferenceId() and SpkReferenceId(). A determination must be made if default implementations of SpkTargetId() and SpkCenterId() are sufficient. These methods are required in order to write proper CKs and SPKs NAIF kernels for instruments from updated pointing and position data; Removed SetCkFrameId() and SetCkReferenceId() and their implementations as the aforementioned routines replace them; also corrected a bug in the computation of North, Sun and Spacecraft azimuths when a shape model is present/active. The call to LocalRadius() should be LocalRadius(lat,lon) in these cases. (Note at this time, those two routines return meters and kilometers, respectively - we need to address this inconsistancy!)
2011-01-25 Eric Hyer - SurfacePoint class now exists so uncommented Steven's new SetGround() methods (see history for 2010-11-04)
2011-01-26 Steven Lambright - ComputeAzimuth now takes a Distance for the radius. The LocalRadius() methods now return instances of the Distance class.
2011-02-10 Jeannie Walldren - Moved code from LoadCache() methods to create new methods CacheSize() and StartEndEphemerisTime(). Removed unused input parameter from LoadCache(). Set pointers to null in constructor. Added documentation to methods, enum, and private variables.
2011-02-09 Steven Lambright - Interfaces using Latitude, Longitude, and SurfacePoint are now more efficient. Updated to work with changes to the parent. Now uses more abstraction internally also. These changes were for readability (you have more explicit units and less of a change to misuse them).
2011-02-11 Steven Lambright - Moved Distance() method to SurfacePoint
2011-02-18 Steven Lambright - Fixed a problem where using a planetographic mapping group in GroundRange would still output planetocentric latitudes.
2011-05-03 Jeannie Walldren - Added Isis Disclaimer to files.
2012-01-19 Janet Barrett - Fixes issue #625 - Fixed a problem with the ground azimuth calculation in the GroundAzimuth method. The algorithm being used was the Napier's analogies and was not providing the correct azimuth value. The Napier's analogies also have the weakness of producing a divide by zero error. The new algorithm being used is the spherical law of cosines for sides which comes out of the "CRC Standard Mathematical Tables and Formulae 30th Edition on page 469.
2012-06-01 Janet Barrett - Modified the GroundAzimuth method to detect which hemisphere the ground point is in so that the closer pole will be used to obtain the azimuth value. If the closer pole is the South pole, then the azimuth is adjusted to be relative to the North pole.
2012-06-04 Janet Barrett - Got rid of redundant calls to Sample(), Line(), and SetImage() in the ComputeAzimuth method.
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
2012-10-12 Debbie A. Cook - Updated to use new Target and ShapeModel classes. References Mantis ticket #775 and #1114.
2012-10-25 Jeannie Backer - Changed resolution() method to lower camel case. References #1181.
2012-11-20 Janet Barrett - Fixed a problem with the GroundAzimuth method so that the azimuth value is calculated correctly for radar data. Fixes #1117.
2012-04-24 Jeannie Backer - Added a programmer error if NorthAzimuth() is called on a plane projection since this value is meaningless for ring plane projections. References #775.
2012-12-20 Debbie A. Cook - Changed to use TProjection and RingPlaneProjection instead of Projection as needed. References #775.
2013-03-04 Tracie Sucharski - Added new method, PixelIfovOffsets, which will return the ifov offsets,in x and y, from the center of the pixel in mm. The default camera offsets will be half of the pixel pitch in both the x and y directions. References #1604.
2014-04-17 Jeannie Backer - Modified ComputeAzimuth() to return an Isis::Null if the method fails (instead of -1.0). Add a check in ComputeAzimuth() to make sure the "SetUniversalGround()" call succeeds, if not, reset to the original sample/line and return Null. References #1659.
2015-03-14 Jeannie Backer - Modified GetLocalNormal() to call non-DEM shapes' calculateLocalNormal() with an empty vector of neighbors since only DemShape uses this vector. References #2035.
|
protectedinherited |
Isis::Camera::Camera | ( | Cube & | cube | ) |
Constructs the Camera object.
Definition at line 65 of file Camera.cpp.
References Isis::Cube::bandCount(), Isis::ProjectionFactory::CreateFromCube(), Isis::PvlObject::findObject(), Isis::PvlContainer::hasKeyword(), Isis::Cube::label(), Isis::Cube::lineCount(), p_alphaCube, p_bands, p_childBand, p_detectorMap, p_distortionMap, p_focalLength, p_focalPlaneMap, p_groundMap, p_ignoreProjection, p_lines, p_pixelPitch, p_pointComputed, p_projection, p_referenceBand, p_samples, p_skyMap, Isis::Cube::sampleCount(), and SetGeometricTilingHint().
Referenced by Isis::BundleAdjust::applyParameterCorrections_CHOLMOD(), Isis::BundleAdjust::applyParameterCorrections_SPECIALK(), Isis::BundleAdjust::Init(), Isis::BundleAdjust::OutputImagesCSV(), Isis::BundleAdjust::OutputNoErrorPropagation(), Isis::BundleAdjust::OutputWithErrorPropagation(), Isis::BundleAdjust::Solve(), Isis::BundleAdjust::SolveCholesky(), and Isis::BundleAdjust::Update().
|
virtual |
Destroys the Camera Object.
Definition at line 111 of file Camera.cpp.
References p_alphaCube, p_detectorMap, p_distortionMap, p_focalPlaneMap, p_groundMap, p_projection, and p_skyMap.
int Isis::Camera::Band | ( | ) |
Returns the current band.
Definition at line 2433 of file Camera.cpp.
References p_childBand.
Referenced by GroundRangeResolution(), RaDecRange(), RaDecResolution(), and ringRangeResolution().
int Isis::Camera::Bands | ( | ) | const |
Returns the number of bands in the image.
Definition at line 2516 of file Camera.cpp.
References p_bands.
Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::CameraStatistics::init(), Isis::ProjectionFactory::RingsCreateForCube(), and StartEndEphemerisTimes().
void Isis::Camera::BasicMapping | ( | Pvl & | pvl | ) |
Writes the basic mapping group to the specified Pvl.
pvl | Pvl to write mapping group to |
Definition at line 1114 of file Camera.cpp.
References Isis::PvlObject::addGroup(), GroundRangeResolution(), p_maxlat, p_maxlon, p_minlat, p_minlon, p_minres, Isis::Target::radii(), Isis::Spice::radii(), Isis::Spice::target(), and Isis::toString().
Referenced by Isis::ImagePolygon::Create().
void Isis::Camera::basicRingMapping | ( | Pvl & | pvl | ) |
Writes the basic mapping group for ring plane to the specified Pvl.
pvl | Pvl to write mapping group to |
Definition at line 1143 of file Camera.cpp.
References _FILEINFO_, Isis::PvlObject::addGroup(), p_maxRingLongitude, p_maxRingRadius, p_minres, p_minRingLongitude, p_minRingRadius, ringRangeResolution(), Isis::Spice::target(), Isis::toString(), and Isis::IException::User.
|
inherited |
Accessor method for the body rotation.
Definition at line 1403 of file Spice.cpp.
Referenced by Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::Sensor::computeRaDec(), Isis::Sensor::EmissionAngle(), Isis::RadarGroundMap::GetdXYdPosition(), Isis::RadarGroundMap::GetXY(), LocalPhotometricAngles(), Isis::Sensor::LookDirection(), Isis::MiniRF::MiniRF(), Isis::Sensor::PhaseAngle(), Isis::RadarGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetGround(), Isis::Sensor::SetGroundLocal(), Isis::Sensor::SetLookDirection(), and Isis::Sensor::SlantDistance().
|
inherited |
int Isis::Camera::CacheSize | ( | double | startTime, |
double | endTime | ||
) |
This method calculates the spice cache size.
This method finds the number of lines in the beta cube and adds 1, since we need at least 2 points for interpolation. This method must be called before a call to the Spice::createCache() method. It is called in the LoadCache() method.
iException::Programmer | - "A cache has already been created." |
Definition at line 2268 of file Camera.cpp.
References Isis::AlphaCube::BetaLines(), and p_alphaCube.
Referenced by LoadCache().
|
inherited |
|
pure virtual |
Provides the NAIF frame code for an instruments CK kernel.
This pure virtual method must be implemented in each camera model providing the reference frame NAIF ID code found in the mission CK kernel.
This value can be easily determined by using the NAIF spacit application that sumarizes binary CK kernels a particular instrument on a spacecraft. spacit will additionally require a spacecraft clock kernel (SCLK) and a leap seconds kernel (LSK). For example, the output of the MESSENGER camera CK supporting the MDIS camera below indicates it is the MESSENGER spacecraft.
The CkFrameId value is found in the "Instrument Code" entry (-236000).
Implemented in Isis::MdisCamera, Isis::VimsCamera, Isis::LroWideAngleCamera, Isis::ThemisVisCamera, Isis::IdealCamera, Isis::LoMediumCamera, Isis::UvvisCamera, Isis::NirCamera, Isis::VikingCamera, Isis::IssWACamera, Isis::IssNACamera, Isis::CTXCamera, Isis::ThemisIrCamera, Isis::LwirCamera, Isis::HiresCamera, Isis::VoyagerCamera, Isis::LoHighCamera, Isis::ApolloMetricCamera, Isis::CrismCamera, Isis::SsiCamera, Isis::Mariner10Camera, Isis::NewHorizonsMvicFrameCamera, Isis::MocWideAngleCamera, Isis::HrscCamera, Isis::HiriseCamera, Isis::MarciCamera, Isis::MiniRF, Isis::MocNarrowAngleCamera, Isis::NewHorizonsLorriCamera, Isis::DawnFcCamera, Isis::DawnVirCamera, Isis::ApolloPanoramicCamera, Isis::LroNarrowAngleCamera, Isis::NewHorizonsLeisaCamera, Isis::AmicaCamera, Isis::KaguyaMiCamera, Isis::NewHorizonsMvicTdiCamera, Isis::Chandrayaan1M3Camera, and Isis::MsiCamera.
|
pure virtual |
Provides the NAIF reference code for an instruments CK kernel.
This virtual method must be implemented in each camera model providing the reference frame NAIF ID code found in the mission CK kernel.
This value can be easily determined by using the NAIF spacit application that sumarizes binary CK kernels a particular instrument on a spacecraft. spacit will additionally require a spacecraft clock kernel (SCLK) and a leap seconds kernel (LSK).For example, the output of the MESSENGER camera CK supporting the MDIS camera below indicates it is the MESSENGER spacecraft.
The CkReferenced value is found in the "Reference Frame" entry (1).
Implemented in Isis::MdisCamera, Isis::VimsCamera, Isis::LroWideAngleCamera, Isis::ThemisVisCamera, Isis::VikingCamera, Isis::LoMediumCamera, Isis::UvvisCamera, Isis::NirCamera, Isis::IssWACamera, Isis::IdealCamera, Isis::IssNACamera, Isis::CTXCamera, Isis::ThemisIrCamera, Isis::LwirCamera, Isis::ApolloMetricCamera, Isis::HiresCamera, Isis::VoyagerCamera, Isis::LoHighCamera, Isis::CrismCamera, Isis::SsiCamera, Isis::Mariner10Camera, Isis::NewHorizonsMvicFrameCamera, Isis::MocWideAngleCamera, Isis::HrscCamera, Isis::HiriseCamera, Isis::MocNarrowAngleCamera, Isis::NewHorizonsLorriCamera, Isis::DawnFcCamera, Isis::ApolloPanoramicCamera, Isis::LroNarrowAngleCamera, Isis::MiniRF, Isis::MarciCamera, Isis::NewHorizonsLeisaCamera, Isis::DawnVirCamera, Isis::AmicaCamera, Isis::KaguyaMiCamera, Isis::NewHorizonsMvicTdiCamera, Isis::Chandrayaan1M3Camera, and Isis::MsiCamera.
|
private |
Computes the image azimuth value from your current position (origin) to a point of interest specified by the lat/lon input to this method.
(NOTE: This azimuth is different from a Ground Azimuth)
All azimuths are measured the same way regardless of the image level (level1 or level2) and the shape model being used.
The azimuth is an angle formed by a reference vector and a point of interest vector. The current position is the vertex of the angle, i.e. the origin of the coordinate system on which this angle will be measured. The azimuth is measured in a positive clockwise direction from the reference vector (i.e. the initial ray of the angle) to the point of interest vector (i.e. the terminal ray of the angle).
The azimuth is measured in a positive clockwise direction because images have lines that increase downward. If lines increased upward, then the azimuth would be measure in a positive counterclockwise direction.
The reference vector is the vector from the origin to the right side of the image. This is usually called the 3 o'clock reference vector because the image can be viewed as a clock face and the origin point as the center of the clock face with the hand of the clock pointing at 3 o'clock.
The point of interest vector is the vector along the surface of the body from the origin to the point of interest. In order to calculate the azimuth, this vector is projected into the reference plane (the plane containing the reference vector that is tangent to the surface). The point of interest vector is also unitzed to 1 km in length and then scaled even further to within a pixel of the azimuth's origin.
The algorithm works by
NOTE: All vectors in this method are body-fixed and use the radius of the shape model at the origin point for doing calculations. By using the radius of the shape model at the origin, we avoid problems where the DEM does not completely cover the planet.
Note: This image azimuth algorithm is different from the ground azimuth algorithm used in GroundAzimuth(). For ground azimuths, the initial ray of the angle is the vector from the selected ground point to the north pole. For image azimuths, the initial ray is the vector from the selected image location to the right, horizontally. *
2009-09-23 Tracie Sucharski - Convert negative longitudes coming out of reclat.
2010-09-28 Janet Barrett - Added Randy's updated method for calculating the azimuth.
2011-02-11 Janet Barrett - Added documentation.
2011_02-11 Janet Barrett - There were some problems with calculating azimuths when a DEM shape model was specified. One problem occurred when the DEM did not cover the poles. The LocalRadius was returning a NULL for the radius value in places that the DEM did not cover (such as the poles). This was fixed by using the radius of the origin point when determining the x,y,z location of the point of interest. The radius is not important because we just need to know the direction of the point of interest from the origin point. Another problem was also found with the call to SetUniversalGround when the new point (new point = point within a pixel of the origin point and in the direction of the point of interest) was being determined. The new point should be at the same radius as the origin point, but this was not happening. The call to SetUniversalGround was changed to use the radius of the origin point when determining the line,sample of the new point. Another problem was that the vector pointing from the origin point to the point of interest was being unitized before its perpendicular component was being calculated. This has been fixed.
2012-06-04 Janet Barrett - Removed redundant calls to Sample(), Line(), and SetImage().
2014-04-17 Jeannie Backer - Modified ComputeAzimuth() to return an Isis::Null if the method fails (instead of -1.0). Add a check in ComputeAzimuth() to make sure the "SetUniversalGround()" call succeeds, if not, reset to the original sample/line and return Null.
Definition at line 1802 of file Camera.cpp.
References Isis::NaifStatus::CheckErrors(), Isis::Sensor::Coordinate(), Isis::Sensor::HasSurfaceIntersection(), Isis::Distance::isValid(), Isis::Distance::kilometers(), Line(), Isis::Sensor::LocalRadius(), Isis::Distance::meters(), Isis::Null, p_pointComputed, Isis::PI(), PixelResolution(), Sample(), SetImage(), and SetUniversalGround().
Referenced by NorthAzimuth(), SpacecraftAzimuth(), and SunAzimuth().
|
inherited |
Returns the x,y,z of the surface intersection in BodyFixed km.
p[] | The coordinate of the surface intersection |
Definition at line 207 of file Sensor.cpp.
References Isis::Displacement::kilometers(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::ControlPoint::ComputeApriori(), ComputeAzimuth(), DetectorResolution(), Isis::Sensor::EmissionAngle(), Isis::VimsGroundMap::Init(), LocalPhotometricAngles(), OffNadirAngle(), Isis::Sensor::PhaseAngle(), Isis::Sensor::SetGroundLocal(), Isis::Sensor::SetLookDirection(), Isis::Sensor::SlantDistance(), and Isis::AdvancedTrackTool::updateRow().
|
inherited |
This method creates an internal cache of spacecraft and sun positions over a specified time range.
The SPICE kernels are then immediately unloaded. This allows multiple instances of the Spice object to be created as the NAIF toolkit can clash if multiple sets of SPICE kernels are loaded. Note that the cache size is specified as an argument. Therefore, times requested via setTime() which are not directly loaded in the cache will be interpolated. If the instrument position is not cached and cacheSize is greater than 3, the tolerance is passed to the SpicePosition Memcache2HermiteCache() method.
Note: Before this method is called, the private variables m_cacheSize, m_startTime and m_endTime must be set. This is done in the Camera classes using the methods SetCacheSize() and SetStartEndEphemerisTime().
startTime | Starting ephemeris time to cache |
endTime | Ending ephemeris time to cache |
size | Size of the cache. |
tol | Tolerance. |
Isis::IException::Programmer | - "Argument cacheSize must be greater than zero" |
Isis::IException::Programmer | - "Argument startTime must be less than or equal to endTime" |
Isis::IException::User | - "This instrument does not support time padding" |
Definition at line 539 of file Spice.cpp.
References _FILEINFO_, and Isis::iTime::Et().
Referenced by Isis::CrismCamera::CrismCamera(), LoadCache(), Isis::MiniRF::MiniRF(), and Isis::VimsCamera::VimsCamera().
|
inherited |
Returns the declination angle (sky latitude)
Definition at line 510 of file Sensor.cpp.
References Isis::Sensor::computeRaDec(), Isis::Sensor::m_dec, and Isis::Sensor::m_newLookB.
Referenced by Isis::VimsSkyMap::Init(), RaDecRange(), RaDecResolution(), RawFocalPlanetoImage(), and Isis::AdvancedTrackTool::updateRow().
CameraDetectorMap * Isis::Camera::DetectorMap | ( | ) |
Returns a pointer to the CameraDetectorMap object.
Definition at line 2560 of file Camera.cpp.
References p_detectorMap.
Referenced by Isis::PushFrameCamera::DetectorMap(), Isis::LineScanCamera::DetectorMap(), Isis::PushFrameCameraGroundMap::FindDistance(), Isis::PushFrameCameraGroundMap::FindSpacecraftDistance(), PixelIfovOffsets(), Isis::PushFrameCameraGroundMap::SetGround(), and Isis::LineScanCameraSkyMap::SetSky().
double Isis::Camera::DetectorResolution | ( | ) |
Returns the detector resolution at the current position.
Definition at line 457 of file Camera.cpp.
References Isis::Sensor::Coordinate(), Isis::Sensor::HasSurfaceIntersection(), Isis::Spice::instrumentPosition(), p_focalLength, and p_pixelPitch.
Referenced by LineResolution(), and SampleResolution().
CameraDistortionMap * Isis::Camera::DistortionMap | ( | ) |
Returns a pointer to the CameraDistortionMap object.
Definition at line 2542 of file Camera.cpp.
References p_distortionMap.
Referenced by Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::ControlPoint::ComputeApriori(), Isis::ControlPoint::ComputeResiduals(), Isis::PushFrameCameraGroundMap::FindDistance(), Isis::MarciCamera::SetBand(), Isis::ThemisIrCamera::SetBand(), Isis::LroWideAngleCamera::SetBand(), and Isis::LineScanCameraSkyMap::SetSky().
|
inherited |
Returns the emission angle in degrees.
Definition at line 314 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Isis::Sensor::Coordinate(), Isis::ShapeModel::emissionAngle(), Isis::Spice::instrumentPosition(), Isis::Target::shape(), and Isis::Spice::target().
Referenced by Isis::CameraStatistics::addStats(), Isis::ImagePolygon::FixPolePoly(), Isis::InterestOperator::InterestByMeasure(), OffNadirAngle(), Isis::CubeCalculator::prepareCalculations(), Isis::ImagePolygon::SetImage(), and Isis::AdvancedTrackTool::updateRow().
double Isis::Camera::FocalLength | ( | ) | const |
Returns the focal length.
Definition at line 2458 of file Camera.cpp.
References p_focalLength.
Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::CrismCamera::CrismCamera(), Isis::PushFrameCameraGroundMap::FindDistance(), LoadCache(), Isis::MiniRF::MiniRF(), Isis::MocWideAngleDistortionMap::SetFocalPlane(), Isis::CameraSkyMap::SetSky(), Isis::LineScanCameraSkyMap::SetSky(), Isis::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::UndistortedFocalPlaneZ(), and Isis::VimsCamera::VimsCamera().
CameraFocalPlaneMap * Isis::Camera::FocalPlaneMap | ( | ) |
Returns a pointer to the CameraFocalPlaneMap object.
Definition at line 2551 of file Camera.cpp.
References p_focalPlaneMap.
Referenced by Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::ControlPoint::ComputeResiduals(), Isis::PushFrameCameraGroundMap::FindDistance(), Isis::HrscCamera::HrscCamera(), Isis::MarciCamera::MarciCamera(), Isis::ThemisIrCamera::SetBand(), Isis::NewHorizonsLeisaCamera::SetBand(), Isis::LroWideAngleCamera::SetBand(), Isis::LoMediumDistortionMap::SetDistortion(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::LoMediumDistortionMap::SetFocalPlane(), Isis::VariableLineScanCameraDetectorMap::SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), Isis::LineScanCameraSkyMap::SetSky(), Isis::ReseauDistortionMap::SetUndistortedFocalPlane(), and Isis::LoMediumDistortionMap::SetUndistortedFocalPlane().
|
pure virtual |
Returns the type of camera that was created.
This is a pure virtual method, so all child classes must define and identify themselves as one of the enumerated camera types defined in this class.
Implemented in Isis::VimsCamera, Isis::IdealCamera, Isis::LineScanCamera, Isis::PushFrameCamera, Isis::FramingCamera, and Isis::RadarCamera.
Referenced by Isis::BundleAdjust::AddPartials(), Isis::BundleAdjust::ComputePartials_DC(), Isis::ControlPoint::ComputeResiduals(), Isis::ControlPoint::ComputeResiduals_Millimeters(), and Isis::BundleAdjust::OutputImagesCSV().
|
inherited |
This converts the spacecraft clock ticks value (clockValue) to an iTime.
Use this when possible because naif calls (such as scs2e_c) cannot be called when not using naif.
Definition at line 925 of file Spice.cpp.
References Isis::toString().
Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::VimsSkyMap::Init(), Isis::VimsGroundMap::Init(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::MarciCamera::MarciCamera(), Isis::MdisCamera::MdisCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::DawnVirCamera::readHouseKeeping(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::VimsCamera::VimsCamera().
|
inherited |
This returns a value from the NAIF text pool.
It is a static convience method
key | Name of NAIF keyword to obtain from the pool |
index | If the keyword is an array, the element to obtain. Defaults to 0 |
Isis::iException::Io | - "Can not find key in instrument kernels." |
Definition at line 914 of file Spice.cpp.
Referenced by Isis::LroWideAngleCameraFocalPlaneMap::addFilter(), Isis::LroWideAngleCameraDistortionMap::addFilter(), Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::MdisCamera::computeFocalLength(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HrscCamera::HrscCamera(), Isis::CameraFocalPlaneMap::Init(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::MarciDistortionMap::MarciDistortionMap(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::KaguyaMiCameraDistortionMap::SetDistortion(), Isis::TaylorCameraDistortionMap::SetDistortion(), Isis::LroNarrowAngleDistortionMap::SetDistortion(), SetFocalLength(), SetPixelPitch(), Isis::SsiCamera::SsiCamera(), and Isis::UvvisCamera::UvvisCamera().
void Isis::Camera::GetGeometricTilingHint | ( | int & | startSize, |
int & | endSize | ||
) |
This will get the geometric tiling hint; these values are typically used for ProcessRubberSheet::SetTiling(...).
startSize | Tiling start size |
endSize | Tiling end size |
Definition at line 2345 of file Camera.cpp.
References p_geometricTilingEndSize, and p_geometricTilingStartSize.
|
inherited |
This returns a value from the NAIF text pool.
It is a static convience
key | Name of NAIF keyword to obtain from the pool |
index | If the keyword is an array, the element to obtain. Defaults to 0 |
Isis::iException::Io | - "Can not find key in instrument kernels |
Definition at line 900 of file Spice.cpp.
Referenced by Isis::DawnVirCamera::getPointingTable(), Isis::LroWideAngleCamera::GetVector(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), and Isis::LroWideAngleCamera::LroWideAngleCamera().
|
inherited |
Returns the latitude.
Definition at line 228 of file Sensor.cpp.
References Isis::SurfacePoint::GetLatitude(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::StereoTool::calculateElevation().
void Isis::Camera::GetLocalNormal | ( | double | normal[3] | ) |
This method will find the local normal at the current (sample, line) and set it to the passed in array.
[out] | normal | The local normal vector to be calculated. |
Definition at line 1244 of file Camera.cpp.
References Isis::SurfacePoint::GetLatitude(), Isis::SurfacePoint::GetLongitude(), Isis::Sensor::GetSurfacePoint(), Isis::ShapeModel::hasIntersection(), Isis::ShapeModel::hasNormal(), Isis::Distance::kilometers(), Line(), Isis::Sensor::LocalRadius(), Isis::ShapeModel::name(), Isis::ShapeModel::normal(), p_pointComputed, Isis::Angle::radians(), Sample(), SetImage(), Isis::Target::shape(), and Isis::Spice::target().
Referenced by LocalPhotometricAngles().
|
inherited |
Returns the longitude.
Definition at line 247 of file Sensor.cpp.
References Isis::SurfacePoint::GetLongitude(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::StereoTool::calculateElevation().
|
inherited |
|
inherited |
This returns a value from the NAIF text pool.
It is a static convience method
key | Name of NAIF keyword to obtain from the pool |
index | If the keyword is an array, the element to obtain. Defaults to 0 |
Isis::IException::Io | - "Can not find key in instrument kernels." |
Definition at line 1125 of file Spice.cpp.
Referenced by Isis::LightTimeCorrectionState::checkAberrationCorrection(), Isis::LightTimeCorrectionState::checkLightTimeToSurfaceCorrect(), Isis::LightTimeCorrectionState::checkObserverTargetSwap(), Isis::MdisCamera::computeFocalLength(), and Isis::MdisCamera::MdisCamera().
|
inherited |
Returns the surface point (most efficient accessor).
Definition at line 254 of file Sensor.cpp.
References Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::QnetPointDistanceFilter::filter(), GetLocalNormal(), LocalPhotometricAngles(), Isis::SunShadowTool::recalculateShadowHeight(), and Isis::QnetSetAprioriDialog::setApriori().
|
static |
Computes and returns the ground azimuth between the ground point and another point of interest, such as the subspacecraft point or the subsolar point.
The ground azimuth is the clockwise angle on the ground between a line drawn from the ground point to the North pole of the body and a line drawn from the selected point on the surface to some point of interest on the surface (such as the subsolar point or the subspacecraft point).
Note: This is different from the image azimuth algorithm used in ComputeAzimuth(). For ground azimuths, the initial ray of the angle is the vector from the selected ground point to the north pole. For image azimuths, the initial ray is the vector from the selected image location to the right, horizontally.
glat | The latitude of the ground point |
glon | The longitude of the ground point |
slat | The latitude of the subspacecraft or subsolar point |
slon | The longitude of the subspacecraft or subsolar point |
Definition at line 1998 of file Camera.cpp.
References Isis::PI().
CameraGroundMap * Isis::Camera::GroundMap | ( | ) |
Returns a pointer to the CameraGroundMap object.
Definition at line 2569 of file Camera.cpp.
References p_groundMap.
Referenced by Isis::BundleAdjust::AddPartials(), Isis::BundleAdjust::ComputePartials_DC(), Isis::ControlPoint::ComputeResiduals(), Isis::ControlPoint::ComputeResiduals_Millimeters(), Isis::PushFrameCamera::GroundMap(), Isis::LineScanCamera::GroundMap(), and Isis::VimsCamera::VimsCamera().
bool Isis::Camera::GroundRange | ( | double & | minlat, |
double & | maxlat, | ||
double & | minlon, | ||
double & | maxlon, | ||
Pvl & | pvl | ||
) |
Computes the Ground Range.
minlat | The minimum latitude |
maxlat | The maximum latitude |
minlon | The minimum longitude |
maxlon | The maximum longitude |
pvl | The pvl file used for ground range calculations |
Definition at line 940 of file Camera.cpp.
References Isis::PvlObject::findGroup(), GroundRangeResolution(), Isis::PvlContainer::hasKeyword(), Isis::Distance::Meters, p_maxlat, p_maxlon, p_maxlon180, p_minlat, p_minlon, p_minlon180, Isis::PI(), Isis::Spice::radii(), Isis::toDouble(), and Isis::PvlObject::Traverse.
Referenced by Isis::UniversalGroundMap::GroundRange(), and IntersectsLongitudeDomain().
|
private |
Computes the ground range and min/max resolution.
Definition at line 526 of file Camera.cpp.
References _FILEINFO_, Band(), Isis::Angle::Degrees, IsBandIndependent(), Isis::Distance::isValid(), Line(), Isis::Sensor::LocalRadius(), p_bands, p_lines, p_maxlat, p_maxlon, p_maxlon180, p_maxres, p_minlat, p_minlon, p_minlon180, p_minres, p_pointComputed, p_samples, PixelResolution(), Isis::IException::Programmer, Sample(), SetBand(), SetGround(), SetImage(), Isis::Spice::subSpacecraftPoint(), Isis::Spice::target(), Isis::Sensor::UniversalLatitude(), Isis::Sensor::UniversalLongitude(), and Isis::IException::Unknown.
Referenced by BasicMapping(), GroundRange(), HighestImageResolution(), and LowestImageResolution().
|
inherited |
Returns true if the kernel group has kernel files.
lab | Label containing Instrument and Kernels groups. |
Definition at line 1331 of file Spice.cpp.
References Isis::PvlObject::findGroup(), Isis::PvlContainer::hasKeyword(), Isis::PvlKeyword::size(), and Isis::IString::UpCase().
bool Isis::Camera::HasProjection | ( | ) |
Checks to see if the camera object has a projection.
Definition at line 2377 of file Camera.cpp.
References p_projection.
Referenced by Isis::CubeViewport::CubeViewport(), and Isis::ImagePolygon::initCube().
bool Isis::Camera::HasReferenceBand | ( | ) | const |
Checks to see if the Camera object has a reference band.
Definition at line 2406 of file Camera.cpp.
References p_referenceBand.
Referenced by Isis::ThemisVisCamera::BandEphemerisTimeOffset(), and Isis::ThemisIrCamera::SetBand().
|
inherited |
Returns if the last call to either SetLookDirection or SetUniversalGround had a valid intersection with the target.
If so then other methods such as Coordinate, UniversalLatitude, UniversalLongitude, etc can be used with confidence.
Definition at line 197 of file Sensor.cpp.
References Isis::ShapeModel::hasIntersection(), Isis::Target::shape(), and Isis::Spice::target().
Referenced by Isis::CameraStatistics::addStats(), ComputeAzimuth(), DetectorResolution(), Isis::Chip::Load(), Isis::VimsGroundMap::SetGround(), and SetImage().
double Isis::Camera::HighestImageResolution | ( | ) |
Returns the highest/best resolution in the entire image.
Definition at line 518 of file Camera.cpp.
References GroundRangeResolution(), and p_minres.
|
inherited |
This allows you to ignore the cube elevation model and use the ellipse.
ignore | True if the elevation model is ignored |
Definition at line 74 of file Sensor.cpp.
References Isis::Target::restoreShape(), Isis::Target::setShapeEllipsoid(), and Isis::Spice::target().
Referenced by Isis::StereoTool::calculateElevation(), Isis::ImagePolygon::Create(), and Isis::ImagePolygon::initCube().
void Isis::Camera::IgnoreProjection | ( | bool | ignore | ) |
Set whether or not the camera should ignore the Projection.
ignore |
Definition at line 2587 of file Camera.cpp.
References p_ignoreProjection.
Referenced by Isis::VimsSkyMap::Init(), Isis::VimsGroundMap::Init(), Isis::VimsGroundMap::SetGround(), Isis::VimsSkyMap::SetSky(), and Isis::VimsCamera::VimsCamera().
|
inherited |
Returns the incidence angle in degrees.
This does not use the surface model.
Definition at line 325 of file Sensor.cpp.
References Isis::ShapeModel::incidenceAngle(), Isis::Spice::m_uB, Isis::Target::shape(), and Isis::Spice::target().
Referenced by Isis::CameraStatistics::addStats(), Isis::ImagePolygon::FixPolePoly(), Isis::InterestOperator::InterestByMeasure(), Isis::CubeCalculator::prepareCalculations(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::ImagePolygon::SetImage(), and Isis::AdvancedTrackTool::updateRow().
bool Isis::Camera::InCube | ( | ) |
This returns true if the current Sample() or Line() value is outside of the cube (meaning the point must have been extrapolated).
Definition at line 2359 of file Camera.cpp.
References Line(), Lines(), Sample(), and Samples().
Referenced by Isis::MosaicSceneItem::drawImage(), Isis::InterestOperator::FindCnetRef(), Isis::SmtkMatcher::getLineSample(), Isis::UniversalGroundMap::SetGround(), and Isis::UniversalGroundMap::SetUniversalGround().
|
inherited |
Returns the spacecraft position in body-fixed frame km units.
p[] | Spacecraft position |
Isis::iException::Programmer | - "You must call SetTime first" |
Definition at line 724 of file Spice.cpp.
References _FILEINFO_.
|
inherited |
Returns the spacecraft velocity in body-fixed frame km/sec units.
v[] | Spacecraft velocity |
Definition at line 741 of file Spice.cpp.
References _FILEINFO_.
|
inherited |
Returns the spacecraft position in body-fixed frame km units.
p[] | Spacecraft position |
Isis::iException::Programmer | - "You must call SetTime first" |
Definition at line 711 of file Spice.cpp.
Referenced by Isis::BundleAdjust::applyParameterCorrections_CHOLMOD(), Isis::BundleAdjust::applyParameterCorrections_SPECIALK(), Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::RadarGroundMap::GetdXYdPosition(), Isis::RadarGroundMap::GetXY(), Isis::BundleAdjust::OutputImagesCSV(), Isis::BundleAdjust::OutputNoErrorPropagation(), Isis::BundleAdjust::OutputWithErrorPropagation(), Isis::RadarGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetGround(), Isis::BundleAdjust::Solve(), Isis::BundleAdjust::SolveCholesky(), Isis::BundleAdjust::Update(), and Isis::AdvancedTrackTool::updateRow().
|
inherited |
Accessor method for the instrument position.
Definition at line 1392 of file Spice.cpp.
Referenced by DetectorResolution(), Isis::Sensor::EmissionAngle(), LocalPhotometricAngles(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MiniRF::MiniRF(), OffNadirAngle(), Isis::Sensor::PhaseAngle(), Isis::Sensor::SetGroundLocal(), Isis::Sensor::SetLookDirection(), Isis::Sensor::SlantDistance(), and Isis::Sensor::SpacecraftAltitude().
|
inherited |
Accessor method for the instrument rotation.
Definition at line 1414 of file Spice.cpp.
Referenced by Isis::BundleAdjust::applyParameterCorrections_CHOLMOD(), Isis::BundleAdjust::applyParameterCorrections_SPECIALK(), Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::Sensor::LookDirection(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::BundleAdjust::OutputImagesCSV(), Isis::BundleAdjust::OutputNoErrorPropagation(), Isis::BundleAdjust::OutputWithErrorPropagation(), Isis::RadarGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetGround(), Isis::Sensor::SetLookDirection(), Isis::Sensor::SetRightAscensionDeclination(), Isis::BundleAdjust::Solve(), Isis::BundleAdjust::SolveCholesky(), and Isis::BundleAdjust::Update().
bool Isis::Camera::IntersectsLongitudeDomain | ( | Pvl & | pvl | ) |
Checks whether the ground range intersects the longitude domain or not.
pvl | The pvl file used to set the ground range |
Definition at line 923 of file Camera.cpp.
References GroundRange().
|
virtual |
Virtual method that checks if the band is independent.
Reimplemented in Isis::LroWideAngleCamera, Isis::ThemisVisCamera, Isis::ThemisIrCamera, Isis::CrismCamera, Isis::MarciCamera, and Isis::NewHorizonsLeisaCamera.
Definition at line 2387 of file Camera.cpp.
Referenced by Isis::ProjectionFactory::CreateForCube(), GroundRangeResolution(), Isis::CameraStatistics::init(), RaDecRange(), ringRangeResolution(), and Isis::ProjectionFactory::RingsCreateForCube().
double Isis::Camera::Line | ( | ) |
Returns the current line number.
Definition at line 2442 of file Camera.cpp.
References p_childLine.
Referenced by Isis::QnetTool::addMeasure(), ComputeAzimuth(), Isis::QnetTool::createFixedPoint(), Isis::ProjectionFactory::CreateForCube(), Isis::QnetTool::createPoint(), Isis::MosaicSceneItem::drawImage(), Isis::InterestOperator::FindCnetRef(), Isis::ImagePolygon::FixPolePoly(), Isis::SmtkMatcher::getLineSample(), GetLocalNormal(), GroundRangeResolution(), InCube(), Isis::UniversalGroundMap::Line(), Isis::Chip::Load(), RaDecRange(), RaDecResolution(), and ringRangeResolution().
double Isis::Camera::LineResolution | ( | ) |
Returns the line resolution at the current position.
Definition at line 486 of file Camera.cpp.
References DetectorResolution(), Isis::CameraDetectorMap::LineScaleFactor(), and p_detectorMap.
Referenced by Isis::CameraStatistics::addStats(), and PixelResolution().
int Isis::Camera::Lines | ( | ) | const |
Returns the number of lines in the image.
Definition at line 2507 of file Camera.cpp.
References p_lines.
Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::SmtkMatcher::inCube(), InCube(), Isis::CameraStatistics::init(), Isis::NewHorizonsMvicFrameCameraDistortionMap::NewHorizonsMvicFrameCameraDistortionMap(), Isis::DawnVirCamera::readHouseKeeping(), and Isis::ProjectionFactory::RingsCreateForCube().
void Isis::Camera::LoadCache | ( | ) |
This loads the spice cache big enough for this image.
The default cache size is the number of lines in the cube if the ephemeris time changes in the image, one otherwise.
Definition at line 2169 of file Camera.cpp.
References Isis::AlphaCube::BetaLines(), Isis::AlphaCube::BetaSamples(), CacheSize(), Isis::Spice::createCache(), FocalLength(), p_alphaCube, p_ignoreProjection, PixelPitch(), PixelResolution(), SetBand(), SetImage(), Isis::Sensor::setTime(), Isis::Sensor::SpacecraftAltitude(), StartEndEphemerisTimes(), and Isis::Spice::target().
Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IdealCamera::IdealCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::VoyagerCamera::VoyagerCamera().
void Isis::Camera::LocalPhotometricAngles | ( | Angle & | phase, |
Angle & | incidence, | ||
Angle & | emission, | ||
bool & | success | ||
) |
Calculates LOCAL photometric angles using the DEM (not ellipsoid).
These calculations are more expensive computationally than Sensor's angle getter methods. Furthermore, this cost is mostly in calculating the local normal vector, which can be done only once for all angles using this method.
phase | The local phase angle to be calculated |
emission | The local emission angle to be calculated |
incidence | The local incidence angle to be calculated |
Definition at line 1391 of file Camera.cpp.
References Isis::Spice::bodyRotation(), Isis::Sensor::Coordinate(), GetLocalNormal(), Isis::Sensor::GetSurfacePoint(), Isis::Spice::instrumentPosition(), Isis::Displacement::kilometers(), Isis::Spice::m_uB, Isis::Angle::Radians, and Isis::SpiceRotation::ReferenceVector().
Referenced by Isis::AdvancedTrackTool::updateRow().
|
inherited |
Returns the local radius at the intersection point.
This is either the radius on the ellipsoid, the radius from the surface model passed into the constructor, or the radius set with SetUniversalGround.
Definition at line 264 of file Sensor.cpp.
References Isis::SurfacePoint::GetLocalRadius(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::CameraStatistics::addStats(), Isis::StereoTool::calculateElevation(), ComputeAzimuth(), Isis::FindTool::distancePerPixel(), Isis::QnetCubeDistanceFilter::filter(), GetLocalNormal(), GroundRangeResolution(), Isis::RadarGroundMap::Iterate(), NorthAzimuth(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointLatLonFilter(), RawFocalPlanetoImage(), ringRangeResolution(), Isis::ProjectionFactory::RingsCreateForCube(), Isis::PushFrameCameraGroundMap::SetGround(), Isis::LineScanCameraGroundMap::SetGround(), Isis::VimsGroundMap::SetGround(), Isis::RadarGroundMap::SetGround(), SetGround(), SetImage(), Isis::Sensor::SetUniversalGround(), Isis::Sensor::SpacecraftAltitude(), SpacecraftAzimuth(), SunAzimuth(), Isis::TrackTool::updateLabels(), and Isis::AdvancedTrackTool::updateRow().
Returns the local radius at the intersection point.
This is either the radius on the ellipsoid, the radius from the surface model passed into the constructor, or the radius set with SetUniversalGround.
Definition at line 279 of file Sensor.cpp.
References Isis::Target::shape(), and Isis::Spice::target().
|
inherited |
Returns the local radius at the intersection point.
This is either the radius on the ellipsoid, the radius from the surface model passed into the constructor, or the radius set with SetUniversalGround.
Definition at line 292 of file Sensor.cpp.
References Isis::Angle::Degrees, Isis::Target::shape(), and Isis::Spice::target().
|
inherited |
Return the local solar time in hours.
Definition at line 587 of file Sensor.cpp.
References Isis::Spice::subSolarPoint(), and Isis::Sensor::UniversalLongitude().
Referenced by Isis::CameraStatistics::addStats(), and Isis::AdvancedTrackTool::updateRow().
|
inherited |
Returns the look direction in the camera coordinate system.
v[] | The look vector |
Definition at line 486 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Isis::Spice::instrumentRotation(), Isis::SpiceRotation::J2000Vector(), Isis::Sensor::m_lookB, and Isis::SpiceRotation::ReferenceVector().
double Isis::Camera::LowestImageResolution | ( | ) |
Returns the lowest/worst resolution in the entire image.
Definition at line 508 of file Camera.cpp.
References GroundRangeResolution(), and p_maxres.
|
inherited |
This returns the NAIF body code of the target indicated in the labels.
Definition at line 817 of file Spice.cpp.
Referenced by SpkCenterId().
|
inherited |
|
inherited |
|
inherited |
This returns the NAIF IK code to use when reading from instrument kernels.
Definition at line 844 of file Spice.cpp.
Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MiniRF::MiniRF(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), SetFocalLength(), SetPixelPitch(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().
|
inherited |
This returns the NAIF SCLK code to use when reading from instrument kernels.
Definition at line 854 of file Spice.cpp.
Referenced by Isis::CrismCamera::CrismCamera().
|
inherited |
This returns the NAIF SPK code to use when reading from SPK kernels.
Definition at line 826 of file Spice.cpp.
Referenced by Isis::DawnVirCamera::readHouseKeeping(), and SpkTargetId().
double Isis::Camera::NorthAzimuth | ( | ) |
Returns the North Azimuth.
Definition at line 1655 of file Camera.cpp.
References _FILEINFO_, ComputeAzimuth(), Isis::Sensor::LocalRadius(), Isis::IException::Programmer, Isis::Spice::target(), and Isis::Sensor::UniversalLatitude().
Referenced by Isis::CameraStatistics::addStats(), and Isis::AdvancedTrackTool::updateRow().
double Isis::Camera::OffNadirAngle | ( | ) |
Return the off nadir angle in degrees.
Definition at line 1957 of file Camera.cpp.
References Isis::NaifStatus::CheckErrors(), Isis::Sensor::Coordinate(), Isis::Sensor::EmissionAngle(), Isis::Spice::instrumentPosition(), and Isis::PI().
int Isis::Camera::ParentLines | ( | ) | const |
Returns the number of lines in the parent alphacube.
Definition at line 2525 of file Camera.cpp.
References Isis::AlphaCube::AlphaLines(), and p_alphaCube.
Referenced by Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::CrismCamera::CrismCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::VimsSkyMap::Init(), Isis::VimsGroundMap::Init(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::MarciCamera::MarciCamera(), Isis::MiniRF::MiniRF(), Isis::VimsSkyMap::SetFocalPlane(), Isis::VimsGroundMap::SetFocalPlane(), Isis::VimsGroundMap::SetGround(), Isis::VimsSkyMap::SetSky(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::PushFrameCameraDetectorMap::TotalFramelets(), and Isis::VimsGroundMap::VimsGroundMap().
int Isis::Camera::ParentSamples | ( | ) | const |
Returns the number of samples in the parent alphacube.
Definition at line 2534 of file Camera.cpp.
References Isis::AlphaCube::AlphaSamples(), and p_alphaCube.
Referenced by Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::VimsSkyMap::Init(), Isis::VimsGroundMap::Init(), Isis::VimsSkyMap::SetFocalPlane(), Isis::VimsGroundMap::SetFocalPlane(), Isis::VimsGroundMap::SetGround(), Isis::VimsSkyMap::SetSky(), and Isis::VimsGroundMap::VimsGroundMap().
|
inherited |
Returns the phase angle in degrees.
This does not use the surface model.
Definition at line 302 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Isis::Sensor::Coordinate(), Isis::Spice::instrumentPosition(), Isis::Spice::m_uB, Isis::ShapeModel::phaseAngle(), Isis::Target::shape(), and Isis::Spice::target().
Referenced by Isis::CameraStatistics::addStats(), Isis::CubeCalculator::prepareCalculations(), and Isis::AdvancedTrackTool::updateRow().
|
virtual |
Returns the pixel ifov offsets from center of pixel, which defaults to the (pixel pitch * summing mode ) / 2.
If an instrument has a non-square ifov, it must implement this method to return the offsets from the center of the pixel.
Reimplemented from Isis::Sensor.
Reimplemented in Isis::VimsCamera.
Definition at line 2477 of file Camera.cpp.
References DetectorMap(), and PixelPitch().
double Isis::Camera::PixelPitch | ( | ) | const |
Returns the pixel pitch.
Definition at line 2467 of file Camera.cpp.
References p_pixelPitch.
Referenced by Isis::BundleAdjust::AddPartials(), Isis::BundleAdjust::ComputePartials_DC(), Isis::NewHorizonsMvicTdiCameraDistortionMap::computeResidualDistortionCorrections(), Isis::CrismCamera::CrismCamera(), Isis::IdealCamera::IdealCamera(), LoadCache(), Isis::MiniRF::MiniRF(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::NewHorizonsMvicFrameCameraDistortionMap::NewHorizonsMvicFrameCameraDistortionMap(), Isis::NewHorizonsMvicTdiCameraDistortionMap::NewHorizonsMvicTdiCameraDistortionMap(), PixelIfovOffsets(), Isis::ReseauDistortionMap::ReseauDistortionMap(), Isis::KaguyaMiCameraDistortionMap::SetDistortion(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), and Isis::VimsCamera::VimsCamera().
double Isis::Camera::PixelResolution | ( | ) |
Returns the pixel resolution at the current position in m/pix.
Definition at line 495 of file Camera.cpp.
References LineResolution(), and SampleResolution().
Referenced by Isis::CameraStatistics::addStats(), ComputeAzimuth(), GroundRangeResolution(), Isis::InterestOperator::InterestByMeasure(), LoadCache(), Isis::ControlNetValidMeasure::MetersFromEdge(), Isis::MiniRF::MiniRF(), Isis::UniversalGroundMap::Resolution(), resolution(), ringRangeResolution(), Isis::MeasureTool::updateDist(), Isis::AdvancedTrackTool::updateRow(), and Isis::VimsCamera::VimsCamera().
bool Isis::Camera::RaDecRange | ( | double & | minra, |
double & | maxra, | ||
double & | mindec, | ||
double & | maxdec | ||
) |
Computes the RaDec range.
minra | Minimum right ascension value |
maxra | Maximum right ascension value |
mindec | Minimum declination value |
maxdec | Maximum declination value |
iException::Programmer | - "Camera::RaDecRange can not calculate a right ascension, declination range for projected images which are not projected to sky" |
Definition at line 1458 of file Camera.cpp.
References _FILEINFO_, Band(), Isis::Sensor::Declination(), IsBandIndependent(), Isis::Projection::IsSky(), Line(), p_bands, p_lines, p_maxdec, p_maxra, p_maxra180, p_mindec, p_minra, p_minra180, p_pointComputed, p_projection, p_samples, Isis::IException::Programmer, Isis::Sensor::RightAscension(), Sample(), SetBand(), SetImage(), and SetRightAscensionDeclination().
double Isis::Camera::RaDecResolution | ( | ) |
Returns the RaDec resolution.
Definition at line 1605 of file Camera.cpp.
References _FILEINFO_, Band(), Isis::Sensor::Declination(), Isis::Projection::IsSky(), Line(), p_lines, p_pointComputed, p_projection, p_samples, Isis::IException::Programmer, Isis::Sensor::RightAscension(), Sample(), SetBand(), and SetImage().
|
inherited |
Returns the radii of the body in km.
The radii are obtained from the appropriate SPICE kernel for the body specified by TargetName in the Instrument group of the labels.
r[] | Radii of the target in kilometers |
Definition at line 806 of file Spice.cpp.
Referenced by BasicMapping(), GroundRange(), Isis::VimsGroundMap::Init(), Isis::BundleAdjust::Init(), Isis::MiniRF::MiniRF(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::RadarGroundMap::SetFocalPlane(), and Isis::AdvancedTrackTool::updateRow().
|
private |
Computes the image coordinate for the current universal ground point.
Definition at line 353 of file Camera.cpp.
References Isis::AlphaCube::BetaLine(), Isis::AlphaCube::BetaSample(), Isis::ShapeModel::clearSurfacePoint(), Isis::Sensor::Declination(), Isis::CameraFocalPlaneMap::DetectorLine(), Isis::CameraFocalPlaneMap::DetectorSample(), Isis::CameraDistortionMap::FocalPlaneX(), Isis::CameraGroundMap::FocalPlaneX(), Isis::CameraDistortionMap::FocalPlaneY(), Isis::CameraGroundMap::FocalPlaneY(), Isis::Projection::IsSky(), Isis::Sensor::LocalRadius(), p_alphaCube, p_childLine, p_childSample, p_detectorMap, p_distortionMap, p_focalPlaneMap, p_groundMap, p_ignoreProjection, p_pointComputed, p_projection, Isis::CameraDetectorMap::ParentLine(), Isis::CameraDetectorMap::ParentSample(), Isis::Projection::projectionType(), Isis::Sensor::RightAscension(), Isis::CameraDetectorMap::SetDetector(), Isis::CameraFocalPlaneMap::SetFocalPlane(), Isis::ShapeModel::setHasIntersection(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), Isis::Projection::SetUniversalGround(), Isis::Target::shape(), Isis::Spice::target(), Isis::Projection::Triaxial, Isis::Sensor::UniversalLatitude(), Isis::Sensor::UniversalLongitude(), Isis::Projection::WorldX(), and Isis::Projection::WorldY().
Referenced by SetGround(), and SetUniversalGround().
|
protectedinherited |
This should be used for reading ALL text naif kernel values.
This will read it from Naif if we're using naif/not attached kernels. If we have attached kernels and a NaifKeywords label object we will grab it from there instead. This allows us to not furnish kernels after spiceinit.
key | The naif keyword/value name |
type | The naif value's primitive type |
index | The index into the naif keyword array to read |
Definition at line 958 of file Spice.cpp.
References _FILEINFO_.
Referenced by Isis::IdealCamera::IdealCamera().
int Isis::Camera::ReferenceBand | ( | ) | const |
Returns the reference band.
Definition at line 2396 of file Camera.cpp.
References p_referenceBand.
Referenced by Isis::ThemisVisCamera::BandEphemerisTimeOffset(), and Isis::ThemisIrCamera::SetBand().
|
virtual |
Returns the resolution of the camera.
Reimplemented from Isis::Sensor.
Definition at line 2450 of file Camera.cpp.
References PixelResolution().
|
inherited |
Returns the right ascension angle (sky longitude)
Definition at line 501 of file Sensor.cpp.
References Isis::Sensor::computeRaDec(), Isis::Sensor::m_newLookB, and Isis::Sensor::m_ra.
Referenced by Isis::VimsSkyMap::Init(), RaDecRange(), RaDecResolution(), RawFocalPlanetoImage(), and Isis::AdvancedTrackTool::updateRow().
bool Isis::Camera::ringRange | ( | double & | minRingRadius, |
double & | maxRingRadius, | ||
double & | minRingLongitude, | ||
double & | maxRingLongitude, | ||
Pvl & | pvl | ||
) |
Analogous to the above Ground Range method.
Computes Range on the ring plane
minRingRadius | The minimum ring radius |
maxRingRadius | The maximum ring radius |
minRingLongitude | The minimum ring longitude |
maxRingLongitude | The maximum ring longitude |
pvl | The pvl file used for ring range calculations |
Definition at line 1044 of file Camera.cpp.
References Isis::PvlObject::findGroup(), Isis::PvlContainer::hasKeyword(), p_maxRingLongitude, p_maxRingLongitude180, p_maxRingRadius, p_minRingLongitude, p_minRingLongitude180, p_minRingRadius, ringRangeResolution(), and Isis::PvlObject::Traverse.
|
private |
Analogous to above GroundRangeResolution method.
Computes the ring range and min/max resolution
Definition at line 741 of file Camera.cpp.
References _FILEINFO_, Band(), Isis::Angle::Degrees, IsBandIndependent(), Line(), Isis::Sensor::LocalRadius(), Isis::Distance::Meters, Isis::Distance::meters(), p_bands, p_lines, p_maxres, p_maxRingLongitude, p_maxRingLongitude180, p_maxRingRadius, p_minres, p_minRingLongitude, p_minRingLongitude180, p_minRingRadius, p_pointComputed, p_samples, PixelResolution(), Sample(), SetBand(), SetGround(), SetImage(), Isis::Sensor::UniversalLongitude(), and Isis::IException::Unknown.
Referenced by basicRingMapping(), and ringRange().
double Isis::Camera::Sample | ( | ) |
Returns the current sample number.
Definition at line 2424 of file Camera.cpp.
References p_childSample.
Referenced by Isis::QnetTool::addMeasure(), ComputeAzimuth(), Isis::QnetTool::createFixedPoint(), Isis::ProjectionFactory::CreateForCube(), Isis::QnetTool::createPoint(), Isis::MosaicSceneItem::drawImage(), Isis::InterestOperator::FindCnetRef(), Isis::ImagePolygon::FixPolePoly(), Isis::SmtkMatcher::getLineSample(), GetLocalNormal(), GroundRangeResolution(), InCube(), Isis::Chip::Load(), RaDecRange(), RaDecResolution(), ringRangeResolution(), and Isis::UniversalGroundMap::Sample().
double Isis::Camera::SampleResolution | ( | ) |
Returns the sample resolution at the current position.
Definition at line 477 of file Camera.cpp.
References DetectorResolution(), p_detectorMap, and Isis::CameraDetectorMap::SampleScaleFactor().
Referenced by Isis::CameraStatistics::addStats(), and PixelResolution().
int Isis::Camera::Samples | ( | ) | const |
Returns the number of samples in the image.
Definition at line 2498 of file Camera.cpp.
References p_samples.
Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::SmtkMatcher::inCube(), InCube(), Isis::CameraStatistics::init(), Isis::MiniRF::MiniRF(), Isis::NewHorizonsMvicFrameCameraDistortionMap::NewHorizonsMvicFrameCameraDistortionMap(), Isis::NewHorizonsMvicTdiCameraDistortionMap::NewHorizonsMvicTdiCameraDistortionMap(), Isis::RadarSlantRangeMap::RadarSlantRangeMap(), and Isis::ProjectionFactory::RingsCreateForCube().
|
virtual |
Virtual method that sets the band number.
band | Band Number |
Reimplemented in Isis::LroWideAngleCamera, Isis::ThemisVisCamera, Isis::NewHorizonsLeisaCamera, Isis::ThemisIrCamera, Isis::MarciCamera, Isis::CrismCamera, and Isis::NewHorizonsMvicFrameCamera.
Definition at line 2415 of file Camera.cpp.
References p_childBand.
Referenced by Isis::ProjectionFactory::CreateForCube(), GroundRangeResolution(), Isis::CameraStatistics::init(), LoadCache(), RaDecRange(), RaDecResolution(), ringRangeResolution(), Isis::ProjectionFactory::RingsCreateForCube(), Isis::NewHorizonsMvicFrameCamera::SetBand(), Isis::MarciCamera::SetBand(), Isis::ThemisVisCamera::SetBand(), Isis::LroWideAngleCamera::SetBand(), Isis::UniversalGroundMap::SetBand(), StartEndEphemerisTimes(), Isis::CubeViewport::viewGray(), and Isis::CubeViewport::viewRGB().
void Isis::Camera::SetDetectorMap | ( | CameraDetectorMap * | map | ) |
Sets the Detector Map.
This object will take ownership of the detector map pointer.
*map | Pointer to a CameraDetectorMap object |
Definition at line 2124 of file Camera.cpp.
References p_detectorMap.
Referenced by Isis::CameraDetectorMap::CameraDetectorMap().
void Isis::Camera::SetDistortionMap | ( | CameraDistortionMap * | map | ) |
Sets the Distortion Map.
This object will take ownership of the distortion map pointer.
*map | Pointer to a CameraDistortionMap object |
Definition at line 2096 of file Camera.cpp.
References p_distortionMap.
Referenced by Isis::CameraDistortionMap::CameraDistortionMap().
|
protected |
Sets the focal length.
v | Focal Length |
Definition at line 2676 of file Camera.cpp.
References p_focalLength.
Referenced by Isis::RadarSlantRangeMap::SetFocalPlane(), and Isis::RadarGroundMap::SetGround().
|
protected |
Reads the focal length from the instrument kernel.
Definition at line 1169 of file Camera.cpp.
References Isis::Spice::getDouble(), Isis::Spice::naifIkCode(), and Isis::toString().
Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IdealCamera::IdealCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MiniRF::MiniRF(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::LroWideAngleCamera::SetBand(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().
void Isis::Camera::SetFocalPlaneMap | ( | CameraFocalPlaneMap * | map | ) |
Sets the Focal Plane Map.
This object will take ownership of the focal plane map pointer.
*map | Pointer to a CameraFocalPlaneMap object |
Definition at line 2110 of file Camera.cpp.
References p_focalPlaneMap.
Referenced by Isis::CameraFocalPlaneMap::CameraFocalPlaneMap(), and Isis::CameraFocalPlaneMap::Init().
|
protected |
This method sets the best geometric tiling size for projecting from this camera model.
This is used by cam2map/ProcessRubberSheet. When cubes are projected, an attempt is made to use linear equations to take large, square chunks of data at a time to cull the amount of SetUniversalGround(...) calls necessary to project a cube. If the chunk of data fails to be linear, then it will be split up into 4 corners and each of the new chunks (corners) are reconsidered up until endSize is reached - the endsize size will be considered, it is inclusive. The startSize must be a power of 2 greater than 2, and the endSize must be a power of 2 equal to or less than the start size but greater than 2. If both the startSize and endSize are set to 2 then no geometric tiling will be enabled.
startSize | The tile size to start with; default 128 |
endSize | The tile size to give up at; default 8 |
Definition at line 2295 of file Camera.cpp.
References _FILEINFO_, p_geometricTilingEndSize, p_geometricTilingStartSize, and Isis::IException::Programmer.
Referenced by Camera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), and Isis::MarciCamera::MarciCamera().
|
inherited |
This overloaded method has the opposite function as SetLookDirection.
Instead of computing a point on the target, a point is set and the look direction is computed. Other methods such as lat/lon, phase, incidence, etc. can be used if this method returns a true.
backCheck | If true this method will check the lat/lon point to see if it falls on the backside of the target (or beyond the horizon). If false this test will not occur. Defaults to true |
Definition at line 413 of file Sensor.cpp.
References Isis::ShapeModel::clearSurfacePoint(), Isis::Sensor::SetGroundLocal(), Isis::ShapeModel::setSurfacePoint(), Isis::Target::shape(), and Isis::Spice::target().
Sets the lat/lon values to get the sample/line values.
Definition at line 298 of file Camera.cpp.
References Isis::ShapeModel::clearSurfacePoint(), Isis::Angle::Degrees, Isis::Angle::degrees(), Isis::Distance::isValid(), Isis::Distance::Kilometers, Isis::Sensor::LocalRadius(), Isis::ShapeModel::name(), Isis::Target::shape(), and Isis::Spice::target().
Referenced by GroundRangeResolution(), ringRangeResolution(), Isis::UniversalGroundMap::SetGround(), and SetImage().
bool Isis::Camera::SetGround | ( | const SurfacePoint & | surfacePt | ) |
Sets the lat/lon/radius values to get the sample/line values.
Definition at line 329 of file Camera.cpp.
References Isis::ShapeModel::clearSurfacePoint(), p_groundMap, RawFocalPlanetoImage(), Isis::CameraGroundMap::SetGround(), Isis::Target::shape(), and Isis::Spice::target().
void Isis::Camera::SetGroundMap | ( | CameraGroundMap * | map | ) |
Sets the Ground Map.
This object will take ownership of the ground map pointer.
*map | Pointer to a CameraGroundMap object |
Definition at line 2138 of file Camera.cpp.
References p_groundMap.
bool Isis::Camera::SetImage | ( | const double | sample, |
const double | line | ||
) |
Sets the sample/line values of the image to get the lat/lon values.
sample | Sample coordinate of the cube |
line | Line coordinate of the cube |
Definition at line 157 of file Camera.cpp.
References Isis::AlphaCube::AlphaLine(), Isis::AlphaCube::AlphaSample(), Isis::ShapeModel::clearSurfacePoint(), Isis::Angle::Degrees, Isis::CameraDetectorMap::DetectorLine(), Isis::CameraDetectorMap::DetectorSample(), Isis::CameraFocalPlaneMap::FocalPlaneX(), Isis::CameraFocalPlaneMap::FocalPlaneY(), Isis::Sensor::HasSurfaceIntersection(), Isis::Projection::IsSky(), Isis::Angle::isValid(), Isis::Sensor::LocalRadius(), Isis::TProjection::Longitude(), Isis::Distance::Meters, Isis::ShapeModel::name(), p_alphaCube, p_childLine, p_childSample, p_detectorMap, p_distortionMap, p_focalPlaneMap, p_groundMap, p_ignoreProjection, p_pointComputed, p_projection, Isis::CameraFocalPlaneMap::SetDetector(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::CameraGroundMap::SetFocalPlane(), SetGround(), Isis::ShapeModel::setHasIntersection(), Isis::CameraDetectorMap::SetParent(), SetRightAscensionDeclination(), Isis::Projection::SetWorld(), Isis::Target::shape(), Isis::Spice::target(), Isis::CameraDistortionMap::UndistortedFocalPlaneX(), Isis::CameraDistortionMap::UndistortedFocalPlaneY(), Isis::CameraDistortionMap::UndistortedFocalPlaneZ(), Isis::TProjection::UniversalLatitude(), Isis::TProjection::UniversalLongitude(), Isis::RingPlaneProjection::UniversalRingLongitude(), and Isis::RingPlaneProjection::UniversalRingRadius().
Referenced by Isis::QnetTool::addMeasure(), Isis::BundleAdjust::AddPartials(), Isis::CameraStatistics::addStats(), Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::StereoTool::calculateElevation(), Isis::ControlPoint::ComputeApriori(), ComputeAzimuth(), Isis::BundleAdjust::ComputePartials_DC(), Isis::ControlPoint::ComputeResiduals(), Isis::ControlPoint::ComputeResiduals_Millimeters(), Isis::ProjectionFactory::CreateForCube(), Isis::QnetPointDistanceFilter::filter(), Isis::QnetCubeDistanceFilter::filter(), Isis::InterestOperator::FindCnetRef(), Isis::SmtkMatcher::getLatLon(), GetLocalNormal(), GroundRangeResolution(), Isis::VimsSkyMap::Init(), Isis::VimsGroundMap::Init(), Isis::InterestOperator::InterestByMeasure(), Isis::Chip::Load(), LoadCache(), Isis::QnetTool::loadGroundMeasure(), Isis::QnetTool::loadPoint(), Isis::ControlNetValidMeasure::MetersFromEdge(), Isis::SunShadowTool::mouseButtonPress(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::CubeCalculator::prepareCalculations(), RaDecRange(), RaDecResolution(), Isis::SunShadowTool::recalculateShadowHeight(), ringRangeResolution(), Isis::ProjectionFactory::RingsCreateForCube(), Isis::QnetSetAprioriDialog::setApriori(), Isis::VimsGroundMap::SetGround(), Isis::UniversalGroundMap::SetImage(), Isis::VimsSkyMap::SetSky(), StartEndEphemerisTimes(), Isis::MeasureTool::updateDist(), Isis::TrackTool::updateLabels(), Isis::AdvancedTrackTool::updateRow(), and Isis::VimsCamera::VimsCamera().
|
inherited |
Sets the look direction of the spacecraft.
This routine will then attempt to intersect the look direction with the target. If successful you can utilize the methods which return the lat/lon, phase, incidence, etc. This routine returns false if the look direction does not intersect the target.
v[] | A look vector in camera coordinates. For example, (0,0,1) is usually the look direction out of the boresight of a camera. |
2009-09-23 Tracie Sucharski - Convert negative longitudes returned my reclat.
2010-09-15 Janet Barrett - Modified this method to use a new algorithm for finding the intersection of a ray with the DEM. This was required to take care of problems that were encountered at the poles of global DEM files. The algorithm that is being used was taken from "Intersection between spacecraft viewing vectors and digital elevation models" by N.A. Teanby. This algorithm only works on Equatorial Cylindrical projections. Other projections still use the previous algorithm.
2010-10-26 Janet Barrett - The tolerance value of 1E-5 was too small and was causing a divide by zero error when the current and last intersections were virtually the same. The tolerance was changed to 3E-8 * a (where a is the equatorial radius of the planet we are dealing with).
2011-01-24 Janet Barrett - Got rid of extra loop that wasn't needed for the new ray tracing algorithm.
Definition at line 153 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Isis::Sensor::Coordinate(), Isis::Spice::instrumentPosition(), Isis::Spice::instrumentRotation(), Isis::SpiceRotation::J2000Vector(), Isis::Sensor::m_lookB, Isis::Sensor::m_newLookB, Isis::SpiceRotation::ReferenceVector(), Isis::ShapeModel::setHasIntersection(), Isis::Target::shape(), and Isis::Spice::target().
Referenced by Isis::CameraSkyMap::SetFocalPlane(), Isis::VimsSkyMap::SetFocalPlane(), Isis::VimsGroundMap::SetFocalPlane(), and Isis::Sensor::SetRightAscensionDeclination().
|
protected |
Sets the pixel pitch.
v | Pixel Pitch |
Definition at line 2685 of file Camera.cpp.
References p_pixelPitch.
|
protected |
Reads the Pixel Pitch from the instrument kernel.
Definition at line 1176 of file Camera.cpp.
References Isis::Spice::getDouble(), Isis::Spice::naifIkCode(), and Isis::toString().
Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IdealCamera::IdealCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MiniRF::MiniRF(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::SsiCamera::SsiCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().
bool Isis::Camera::SetRightAscensionDeclination | ( | const double | ra, |
const double | dec | ||
) |
Sets the right ascension declination.
ra | Right ascension value |
dec | Declination value |
Definition at line 1191 of file Camera.cpp.
References Isis::AlphaCube::BetaLine(), Isis::AlphaCube::BetaSample(), Isis::CameraFocalPlaneMap::DetectorLine(), Isis::CameraFocalPlaneMap::DetectorSample(), Isis::CameraSkyMap::FocalPlaneX(), Isis::CameraDistortionMap::FocalPlaneX(), Isis::CameraSkyMap::FocalPlaneY(), Isis::CameraDistortionMap::FocalPlaneY(), Isis::Projection::IsSky(), p_alphaCube, p_childLine, p_childSample, p_detectorMap, p_distortionMap, p_focalPlaneMap, p_ignoreProjection, p_pointComputed, p_projection, p_skyMap, Isis::CameraDetectorMap::ParentLine(), Isis::CameraDetectorMap::ParentSample(), Isis::CameraDetectorMap::SetDetector(), Isis::CameraFocalPlaneMap::SetFocalPlane(), Isis::CameraSkyMap::SetSky(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), Isis::Projection::SetUniversalGround(), Isis::Spice::target(), Isis::Sensor::UniversalLatitude(), Isis::Sensor::UniversalLongitude(), Isis::Projection::WorldX(), and Isis::Projection::WorldY().
Referenced by RaDecRange(), and SetImage().
void Isis::Camera::SetSkyMap | ( | CameraSkyMap * | map | ) |
Sets the Sky Map.
This object will take ownership of the sky map pointer.
*map | Pointer to a CameraSkyMap object |
Definition at line 2151 of file Camera.cpp.
References p_skyMap.
Referenced by Isis::CameraSkyMap::CameraSkyMap().
|
inherited |
By setting the time you essential set the position of the spacecraft and body as indicated in the class Spice.
However, after this is invoked there will be no intersection point until SetLookDirection or SetUniversalGround is invoked.
time | Ephemeris time (read NAIF documentation for a detailed description) |
Definition at line 111 of file Sensor.cpp.
References Isis::ShapeModel::clearSurfacePoint(), Isis::Spice::setTime(), Isis::Target::shape(), and Isis::Spice::target().
Referenced by Isis::AmicaCamera::AmicaCamera(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::CrismCamera::CrismCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HiresCamera::HiresCamera(), Isis::IdealCamera::IdealCamera(), Isis::VimsSkyMap::Init(), Isis::VimsGroundMap::Init(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), LoadCache(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MiniRF::MiniRF(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NirCamera::NirCamera(), Isis::NewHorizonsMvicFrameCamera::SetBand(), Isis::ThemisVisCamera::SetBand(), Isis::VimsSkyMap::SetFocalPlane(), Isis::VimsGroundMap::SetFocalPlane(), Isis::PushFrameCameraDetectorMap::SetFramelet(), Isis::VariableLineScanCameraDetectorMap::SetParent(), Isis::RadarPulseMap::SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), Isis::SsiCamera::SsiCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::VoyagerCamera::VoyagerCamera().
|
inherited |
This is the opposite routine for SetLookDirection.
Instead of computing a point on the target, a point is set and the look direction is computed. Other methods such as lat/lon, phase, incidence, etc. can be used if this method returns a true.
latitude | Planetocentric latitude |
longitude | Positive east longitude |
backCheck | If true this method will check the lat/lon point to see if it falls on the backside of the target (or beyond the horizon). If false this test will not occur. Defaults to true |
Definition at line 345 of file Sensor.cpp.
References Isis::ShapeModel::clearSurfacePoint(), Isis::Angle::Degrees, Isis::Sensor::LocalRadius(), Isis::Sensor::SetGroundLocal(), Isis::SurfacePoint::SetSpherical(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
|
inherited |
This overloaded method has the opposite function as SetLookDirection.
Instead of computing a point on the target, a point is set and the look direction is computed. Other methods such as lat/lon, phase, incidence, etc. can be used if this method returns a true.
latitude | Planetocentric latitude in degrees |
longitude | Positive east longitude in degrees |
radius | Radius in meters |
backCheck | If true this method will check the lat/lon point to see if it falls on the backside of the target (or beyond the horizon). If false this test will not occur. Defaults to true |
Definition at line 379 of file Sensor.cpp.
References Isis::ShapeModel::clearSurfacePoint(), Isis::Angle::Degrees, Isis::Distance::Meters, Isis::Sensor::SetGroundLocal(), Isis::SurfacePoint::SetSpherical(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
bool Isis::Camera::SetUniversalGround | ( | const double | latitude, |
const double | longitude | ||
) |
Sets the lat/lon values to get the sample/line values.
Definition at line 277 of file Camera.cpp.
References Isis::ShapeModel::clearSurfacePoint(), Isis::Angle::Degrees, p_groundMap, RawFocalPlanetoImage(), Isis::CameraGroundMap::SetGround(), Isis::Target::shape(), and Isis::Spice::target().
Referenced by Isis::QnetTool::addMeasure(), ComputeAzimuth(), Isis::QnetTool::createFixedPoint(), Isis::ProjectionFactory::CreateForCube(), Isis::QnetTool::createPoint(), Isis::InterestOperator::FindCnetRef(), Isis::SmtkMatcher::getLineSample(), Isis::Chip::Load(), and Isis::UniversalGroundMap::SetUniversalGround().
bool Isis::Camera::SetUniversalGround | ( | const double | latitude, |
const double | longitude, | ||
const double | radius | ||
) |
Sets the lat/lon/radius values to get the sample/line values.
latitude | Latitude coordinate of the cube |
longitude | Longitude coordinate of the cube |
radius | Radius coordinate of the cube |
Definition at line 439 of file Camera.cpp.
References Isis::ShapeModel::clearSurfacePoint(), Isis::Angle::Degrees, Isis::Distance::Meters, p_groundMap, RawFocalPlanetoImage(), Isis::CameraGroundMap::SetGround(), Isis::Target::shape(), and Isis::Spice::target().
CameraSkyMap * Isis::Camera::SkyMap | ( | ) |
Returns a pointer to the CameraSkyMap object.
Definition at line 2578 of file Camera.cpp.
References p_skyMap.
Referenced by Isis::LineScanCamera::SkyMap(), and Isis::VimsCamera::VimsCamera().
|
inherited |
Return the distance between the spacecraft and surface point in kmv.
Definition at line 566 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Isis::Sensor::Coordinate(), Isis::Spice::instrumentPosition(), Isis::Displacement::kilometers(), Isis::SpiceRotation::ReferenceVector(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::PushFrameCameraGroundMap::FindSpacecraftDistance(), and Isis::AdvancedTrackTool::updateRow().
|
inherited |
Returns the distance between the sun and surface point in AU.
Definition at line 602 of file Sensor.cpp.
References Isis::Displacement::kilometers(), Isis::Target::shape(), Isis::Spice::sunPosition(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
|
inherited |
Returns the solar longitude.
Definition at line 1314 of file Spice.cpp.
Referenced by Isis::AdvancedTrackTool::updateRow().
|
inherited |
Returns the distance from the spacecraft to the subspacecraft point in km.
It uses the ellipsoid, not the shape model
Definition at line 625 of file Sensor.cpp.
References Isis::Spice::instrumentPosition(), Isis::Distance::kilometers(), Isis::Sensor::LocalRadius(), Isis::PI(), and Isis::Spice::subSpacecraftPoint().
Referenced by Isis::CrismCamera::CrismCamera(), LoadCache(), Isis::MiniRF::MiniRF(), and Isis::VimsCamera::VimsCamera().
double Isis::Camera::SpacecraftAzimuth | ( | ) |
Return the Spacecraft Azimuth.
Definition at line 1696 of file Camera.cpp.
References ComputeAzimuth(), Isis::Sensor::LocalRadius(), and Isis::Spice::subSpacecraftPoint().
Referenced by Isis::AdvancedTrackTool::updateRow().
|
inherited |
Return the vector between the spacecraft and surface point in body-fixed.
Definition at line 554 of file Sensor.cpp.
References Isis::Sensor::m_lookB.
|
virtual |
Provides the center of motion body for SPK NAIF kernel.
This virtual method may need to be implemented in each camera model providing the NAIF integer code for the center of motion of the object identified by the SpkTargetId() code. This is typically the targeted body for a particular image observation, but may be unique depending upon the design of the SPK mission kernels.
This value can be easily determined by using the NAIF spacit application that sumarizes binary kernels on the SPK kernel used for a particular instrument on a spacecraft. spacit will additionally require a leap seconds kernel (LSK). For example, the output of the MESSENGER SPK camera supporting the MDIS camera below indicates it is Venus.
The SpkCenterId value is found in the "Center Body" entry (2). The center of motion is most likely the targeted body for the image and this is provided by the naifBodyCode() method (in the Spice class). If this is not consistently the case for a particular mission, then camera models will need to reimplement this method.
Reimplemented in Isis::VimsCamera, Isis::IssWACamera, Isis::IssNACamera, and Isis::IdealCamera.
Definition at line 2667 of file Camera.cpp.
References Isis::Spice::naifBodyCode().
|
pure virtual |
Provides reference frame for instruments SPK NAIF kernel.
This pure virtual method must be implemented in each camera model providing the reference frame NAIF ID code found in the mission SPK kernel. This is typically J2000, but may be relative to other frames.
This value can be easily determined by using the NAIF spacit application that sumarizes binary kernels on the SPK kernel used for a particular instrument on a spacecraft. spacit will additionally require a leap seconds kernel (LSK). For example, the output of the MESSENGER SPK camera supporting the MDIS camera below indicates it is indeed the J2000 reference frame:
The SpkReferenceId value is found in the "Reference frame" entry (1).
Implemented in Isis::MdisCamera, Isis::VimsCamera, Isis::VikingCamera, Isis::ApolloMetricCamera, Isis::IssWACamera, Isis::IssNACamera, Isis::LroWideAngleCamera, Isis::LoMediumCamera, Isis::VoyagerCamera, Isis::UvvisCamera, Isis::NirCamera, Isis::CTXCamera, Isis::ThemisIrCamera, Isis::ThemisVisCamera, Isis::LwirCamera, Isis::HiresCamera, Isis::IdealCamera, Isis::LoHighCamera, Isis::CrismCamera, Isis::NewHorizonsMvicFrameCamera, Isis::SsiCamera, Isis::Mariner10Camera, Isis::MocWideAngleCamera, Isis::HrscCamera, Isis::MiniRF, Isis::HiriseCamera, Isis::MocNarrowAngleCamera, Isis::NewHorizonsLorriCamera, Isis::DawnFcCamera, Isis::ApolloPanoramicCamera, Isis::LroNarrowAngleCamera, Isis::NewHorizonsLeisaCamera, Isis::AmicaCamera, Isis::KaguyaMiCamera, Isis::NewHorizonsMvicTdiCamera, Isis::Chandrayaan1M3Camera, Isis::MarciCamera, Isis::DawnVirCamera, and Isis::MsiCamera.
|
virtual |
Provides target code for instruments SPK NAIF kernel.
This virtual method may need to be implemented in each camera model providing the target NAIF ID code found in the mission SPK kernel. This is typically the spacecraft ID code.
This value can be easily determined by using the NAIF spacit application that sumarizes binary kernels on the SPK kernel used for a particular instrument on a spacecraft. spacit will additionally require a leap seconds kernel (LSK). For example, the output of the MESSENGER SPK camera supporting the MDIS camera below indicates it is indeed the MESSENGER spacecraft:
The SpkTargetId value is found in the "Target Body" entry (-236).
For most cases, this is the NAIF SPK code returned by the naifSpkCode() method (in the Spice class). Some instrument camera models may need to override this method if this is not case.
Reimplemented in Isis::MdisCamera, Isis::VikingCamera, Isis::ApolloMetricCamera, Isis::VoyagerCamera, Isis::IdealCamera, and Isis::MiniRF.
Definition at line 2625 of file Camera.cpp.
References Isis::Spice::naifSpkCode().
pair< double, double > Isis::Camera::StartEndEphemerisTimes | ( | ) |
Calculates the start and end ephemeris times.
These times are found by looping through the bands and finding the ephemeris times for the upper left and bottom right pixels in the image. The start time (shutter open time) is the minimum value of those ephemeris times. The end time (shutter close time) is the maximum value of those ephemeris times. This method must be called before a call to the Spice::createCache() method. It is called in the LoadCache() method.
iException::Programmer | - "Unable to find time range for the spice kernels." |
Definition at line 2226 of file Camera.cpp.
References _FILEINFO_, Bands(), Isis::AlphaCube::BetaLines(), Isis::AlphaCube::BetaSamples(), Isis::iTime::Et(), p_alphaCube, Isis::IException::Programmer, SetBand(), SetImage(), and Isis::Spice::time().
Referenced by LoadCache().
|
inherited |
Returns the sub-solar latitude/longitude in universal coordinates (0-360 positive east, ocentric)
lat | Sub-solar latitude |
lon | Sub-solar longitude |
Isis::IException::Programmer | - "You must call SetTime first." |
Definition at line 1190 of file Spice.cpp.
References _FILEINFO_, and Isis::PI().
Referenced by Isis::Sensor::LocalSolarTime(), and SunAzimuth().
|
inherited |
Returns the sub-spacecraft latitude/longitude in universal coordinates (0-360 positive east, ocentric)
lat | Sub-spacecraft latitude |
lon | Sub-spacecraft longitude |
Isis::IException::Programmer | - "You must call SetTime first." |
Definition at line 1142 of file Spice.cpp.
References _FILEINFO_, and Isis::PI().
Referenced by GroundRangeResolution(), Isis::Sensor::SpacecraftAltitude(), and SpacecraftAzimuth().
double Isis::Camera::SunAzimuth | ( | ) |
Returns the Sun Azimuth.
Definition at line 1683 of file Camera.cpp.
References ComputeAzimuth(), Isis::Sensor::LocalRadius(), and Isis::Spice::subSolarPoint().
Referenced by Isis::SunShadowTool::mouseButtonPress(), and Isis::AdvancedTrackTool::updateRow().
|
inherited |
Fills the input vector with sun position information, in either body-fixed or J2000 reference frame and km units.
p[] | Sun position |
Definition at line 779 of file Spice.cpp.
References _FILEINFO_.
Referenced by Isis::SunShadowTool::recalculateShadowHeight().
|
inherited |
Accessor method for the sun position.
Definition at line 1381 of file Spice.cpp.
Referenced by Isis::Sensor::SolarDistance().
|
inherited |
Returns a pointer to the target object.
Definition at line 1228 of file Spice.cpp.
Referenced by BasicMapping(), basicRingMapping(), Isis::Sensor::Coordinate(), Isis::Sensor::EmissionAngle(), Isis::FeatureNomenclatureTool::findMissingNomenclature(), Isis::Sensor::GetLatitude(), GetLocalNormal(), Isis::Sensor::GetLongitude(), Isis::Sensor::GetSurfacePoint(), Isis::UniversalGroundMap::GroundRange(), GroundRangeResolution(), Isis::Sensor::HasSurfaceIntersection(), Isis::Sensor::IgnoreElevationModel(), Isis::Sensor::IncidenceAngle(), LoadCache(), Isis::Sensor::LocalRadius(), NorthAzimuth(), Isis::Sensor::PhaseAngle(), RawFocalPlanetoImage(), Isis::VimsGroundMap::SetGround(), Isis::RadarGroundMap::SetGround(), Isis::Sensor::SetGround(), SetGround(), Isis::Sensor::SetGroundLocal(), SetImage(), Isis::Sensor::SetLookDirection(), SetRightAscensionDeclination(), Isis::Sensor::setTime(), Isis::Sensor::SetUniversalGround(), SetUniversalGround(), Isis::Sensor::SlantDistance(), Isis::Sensor::SolarDistance(), Isis::Sensor::UniversalLatitude(), Isis::Sensor::UniversalLongitude(), Isis::TrackTool::updateLabels(), and Isis::AdvancedTrackTool::updateRow().
|
inherited |
|
inherited |
Returns the string name of the target.
Definition at line 1238 of file Spice.cpp.
References Isis::Target::name().
|
inherited |
Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions.
Definition at line 767 of file Spice.cpp.
Referenced by Isis::RadarSlantRangeMap::ComputeA(), Isis::HiresCamera::HiresCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LwirCamera::LwirCamera(), Isis::NewHorizonsMvicFrameCamera::SetBand(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::LineScanCameraDetectorMap::SetDetector(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::FramingCamera::ShutterOpenCloseTimes(), StartEndEphemerisTimes(), Isis::AdvancedTrackTool::updateRow(), and Isis::UvvisCamera::UvvisCamera().
|
inherited |
Returns the planetocentric latitude at the surface intersection point in body fixed.
Definition at line 220 of file Sensor.cpp.
References Isis::Angle::degrees(), Isis::SurfacePoint::GetLatitude(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::QnetTool::addMeasure(), Isis::CameraStatistics::addStats(), Isis::ProjectionFactory::CreateForCube(), Isis::QnetCubeDistanceFilter::filter(), Isis::InterestOperator::FindCnetRef(), Isis::SmtkMatcher::getLatLon(), GroundRangeResolution(), Isis::Chip::Load(), Isis::QnetTool::loadGroundMeasure(), Isis::QnetTool::loadPoint(), NorthAzimuth(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointLatLonFilter(), RawFocalPlanetoImage(), SetRightAscensionDeclination(), Isis::UniversalGroundMap::UniversalLatitude(), Isis::TrackTool::updateLabels(), and Isis::AdvancedTrackTool::updateRow().
|
inherited |
Returns a positive east, 0-360 domain longitude at the surface intersection point in body fixed.
Definition at line 239 of file Sensor.cpp.
References Isis::Angle::degrees(), Isis::SurfacePoint::GetLongitude(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::QnetTool::addMeasure(), Isis::CameraStatistics::addStats(), Isis::ProjectionFactory::CreateForCube(), Isis::QnetCubeDistanceFilter::filter(), Isis::InterestOperator::FindCnetRef(), Isis::SmtkMatcher::getLatLon(), GroundRangeResolution(), Isis::Chip::Load(), Isis::QnetTool::loadGroundMeasure(), Isis::QnetTool::loadPoint(), Isis::Sensor::LocalSolarTime(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointLatLonFilter(), RawFocalPlanetoImage(), ringRangeResolution(), Isis::ProjectionFactory::RingsCreateForCube(), SetRightAscensionDeclination(), Isis::UniversalGroundMap::UniversalLongitude(), Isis::TrackTool::updateLabels(), and Isis::AdvancedTrackTool::updateRow().
|
protectedinherited |
This contains the transformation matrix from J2000 (J) to Body fixed (B).
Recall that the transpose of this matrix JB will convert from body-fixed to J2000. It is left in protected space so that conversions between double and SpiceDouble do not have to occur in inheriting classes.
|
protectedinherited |
This contains the sun position (u) in the
bodyfixed reference frame (B).
It is left protected so that conversions between double and SpiceDouble do not have to occur in inheriting classes. Units are km
Definition at line 349 of file Spice.h.
Referenced by Isis::Sensor::IncidenceAngle(), LocalPhotometricAngles(), and Isis::Sensor::PhaseAngle().
|
private |
!< Flag showing if ring range was computed successfully.
A pointer to the AlphaCube
Definition at line 533 of file Camera.h.
Referenced by CacheSize(), Camera(), LoadCache(), ParentLines(), ParentSamples(), RawFocalPlanetoImage(), SetImage(), SetRightAscensionDeclination(), StartEndEphemerisTimes(), and ~Camera().
|
private |
The number of bands in the image.
Definition at line 508 of file Camera.h.
Referenced by Bands(), Camera(), GroundRangeResolution(), RaDecRange(), and ringRangeResolution().
|
private |
|
private |
Line value for child.
Definition at line 535 of file Camera.h.
Referenced by Line(), RawFocalPlanetoImage(), SetImage(), and SetRightAscensionDeclination().
|
private |
Sample value for child.
Definition at line 534 of file Camera.h.
Referenced by RawFocalPlanetoImage(), Sample(), SetImage(), and SetRightAscensionDeclination().
|
private |
A pointer to the DetectorMap.
Definition at line 539 of file Camera.h.
Referenced by Camera(), DetectorMap(), LineResolution(), RawFocalPlanetoImage(), SampleResolution(), SetDetectorMap(), SetImage(), SetRightAscensionDeclination(), and ~Camera().
|
private |
A pointer to the DistortionMap.
Definition at line 537 of file Camera.h.
Referenced by Camera(), DistortionMap(), RawFocalPlanetoImage(), SetDistortionMap(), SetImage(), SetRightAscensionDeclination(), and ~Camera().
|
private |
The focal length, in units of millimeters.
Definition at line 488 of file Camera.h.
Referenced by Camera(), DetectorResolution(), FocalLength(), and SetFocalLength().
|
private |
A pointer to the FocalPlaneMap.
Definition at line 538 of file Camera.h.
Referenced by Camera(), FocalPlaneMap(), RawFocalPlanetoImage(), SetFocalPlaneMap(), SetImage(), SetRightAscensionDeclination(), and ~Camera().
|
private |
The ideal geometric tile size to end with when projecting.
Definition at line 549 of file Camera.h.
Referenced by GetGeometricTilingHint(), and SetGeometricTilingHint().
|
private |
The ideal geometric tile size to start with when projecting.
Definition at line 548 of file Camera.h.
Referenced by GetGeometricTilingHint(), and SetGeometricTilingHint().
|
private |
A pointer to the GroundMap.
Definition at line 540 of file Camera.h.
Referenced by Camera(), GroundMap(), RawFocalPlanetoImage(), SetGround(), SetGroundMap(), SetImage(), SetUniversalGround(), and ~Camera().
|
private |
Whether or no to ignore the Projection.
Definition at line 513 of file Camera.h.
Referenced by Camera(), IgnoreProjection(), LoadCache(), RawFocalPlanetoImage(), SetImage(), and SetRightAscensionDeclination().
|
private |
The number of lines in the image.
Definition at line 507 of file Camera.h.
Referenced by Camera(), GroundRangeResolution(), Lines(), RaDecRange(), RaDecResolution(), and ringRangeResolution().
|
private |
|
private |
The maximum latitude.
Definition at line 494 of file Camera.h.
Referenced by BasicMapping(), GroundRange(), and GroundRangeResolution().
|
private |
The maximum longitude.
Definition at line 496 of file Camera.h.
Referenced by BasicMapping(), GroundRange(), and GroundRangeResolution().
|
private |
The maximum longitude in the 180 domain.
Definition at line 500 of file Camera.h.
Referenced by GroundRange(), and GroundRangeResolution().
|
private |
|
private |
The maximum right ascension in the 180 domain.
Definition at line 520 of file Camera.h.
Referenced by RaDecRange().
|
private |
The maximum resolution.
Definition at line 498 of file Camera.h.
Referenced by GroundRangeResolution(), LowestImageResolution(), and ringRangeResolution().
|
private |
The maximum ring longitude (azimuth)
Definition at line 527 of file Camera.h.
Referenced by basicRingMapping(), ringRange(), and ringRangeResolution().
|
private |
The maximum ring longitude in the 180 domain.
Definition at line 529 of file Camera.h.
Referenced by ringRange(), and ringRangeResolution().
|
private |
The maximum ring radius.
Definition at line 525 of file Camera.h.
Referenced by basicRingMapping(), ringRange(), and ringRangeResolution().
|
private |
|
private |
The minimum latitude.
Definition at line 493 of file Camera.h.
Referenced by BasicMapping(), GroundRange(), and GroundRangeResolution().
|
private |
The minimum longitude.
Definition at line 495 of file Camera.h.
Referenced by BasicMapping(), GroundRange(), and GroundRangeResolution().
|
private |
The minimum longitude in the 180 domain.
Definition at line 499 of file Camera.h.
Referenced by GroundRange(), and GroundRangeResolution().
|
private |
|
private |
The minimum right ascension in the 180 domain.
Definition at line 519 of file Camera.h.
Referenced by RaDecRange().
|
private |
The minimum resolution.
Definition at line 497 of file Camera.h.
Referenced by BasicMapping(), basicRingMapping(), GroundRangeResolution(), HighestImageResolution(), and ringRangeResolution().
|
private |
The minimum ring longitude (azimuth)
Definition at line 526 of file Camera.h.
Referenced by basicRingMapping(), ringRange(), and ringRangeResolution().
|
private |
The minimum ring longitude in the 180 domain.
Definition at line 528 of file Camera.h.
Referenced by ringRange(), and ringRangeResolution().
|
private |
!< Flag showing if the raDec range has been computed successfully.
The minimum ring radius
Definition at line 524 of file Camera.h.
Referenced by basicRingMapping(), ringRange(), and ringRangeResolution().
|
private |
The pixel pitch, in millimeters per pixel.
Definition at line 489 of file Camera.h.
Referenced by Camera(), DetectorResolution(), PixelPitch(), and SetPixelPitch().
|
private |
!< Flag showing if ground range was computed successfully.
Flag showing if Sample/Line has been computed
Definition at line 504 of file Camera.h.
Referenced by Camera(), ComputeAzimuth(), GetLocalNormal(), GroundRangeResolution(), RaDecRange(), RaDecResolution(), RawFocalPlanetoImage(), ringRangeResolution(), SetImage(), and SetRightAscensionDeclination().
|
private |
A pointer to the Projection.
Definition at line 512 of file Camera.h.
Referenced by Camera(), HasProjection(), RaDecRange(), RaDecResolution(), RawFocalPlanetoImage(), SetImage(), SetRightAscensionDeclination(), and ~Camera().
|
private |
The reference band.
Definition at line 510 of file Camera.h.
Referenced by Camera(), HasReferenceBand(), and ReferenceBand().
|
private |
The number of samples in the image.
Definition at line 506 of file Camera.h.
Referenced by Camera(), GroundRangeResolution(), RaDecRange(), RaDecResolution(), ringRangeResolution(), and Samples().
|
private |
A pointer to the SkyMap.
Definition at line 541 of file Camera.h.
Referenced by Camera(), SetRightAscensionDeclination(), SetSkyMap(), SkyMap(), and ~Camera().