USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::Camera Class Reference
[Spice, Instruments, and Cameras]

#include <Camera.h>

Inheritance diagram for Isis::Camera:
Inheritance graph
[legend]
Collaboration diagram for Isis::Camera:
Collaboration graph
[legend]

List of all members.

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 (Pvl &lab)
 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])
 Sets the passed in vector to be the local normal which is calculated using the DEM.
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 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.
double FocalLength () const
 Returns the focal length.
double PixelPitch () const
 Returns the pixel pitch.
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.
CameraDistortionMapDistortionMap ()
 Returns a pointer to the CameraDistortionMap object.
CameraFocalPlaneMapFocalPlaneMap ()
 Returns a pointer to the CameraFocalPlaneMap object.
CameraDetectorMapDetectorMap ()
 Returns a pointer to the CameraDetectorMap object.
CameraGroundMapGroundMap ()
 Returns a pointer to the CameraGroundMap object.
CameraSkyMapSkyMap ()
 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.
SpicePositioninstrumentPosition () const
 Accessor method for the instrument position.
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.
SpicePositionsunPosition () 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 instrumentVelocity (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).
Targettarget () 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.
SpiceRotationbodyRotation () const
 Accessor method for the body rotation.
SpiceRotationinstrumentRotation () 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 bodyfixed reference frame (B).
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.
double ComputeAzimuth (Distance radius, const double lat, const double lon)
 Computes the 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 the 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.
Projectionp_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
AlphaCubep_alphaCube
 !< Flag showing if the raDec range has been computed successfully.
double p_childSample
 Sample value for child.
double p_childLine
 Line value for child.
int p_childBand
 Band value for child.
CameraDistortionMapp_distortionMap
 A pointer to the DistortionMap.
CameraFocalPlaneMapp_focalPlaneMap
 A pointer to the FocalPlaneMap.
CameraDetectorMapp_detectorMap
 A pointer to the DetectorMap.
CameraGroundMapp_groundMap
 A pointer to the GroundMap.
CameraSkyMapp_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

Detailed Description

Author:
????-??-?? Jeff Anderson

For internal use only.

Todo:
Finish documentation.
History:
2005-11-09 Tracie Sucharski - Added HasProjection method.
History:
2006-04-11 Tracie Sucharski - Added IgnoreProjection method and p_ignoreProjection so that the Camera is used rather than Projection.
History:
2006-04-19 Elizabeth Miller - Added SpacecraftRoll method
History:
2006-06-08 Elizabeth Miller - Added static Distance method that calculates the distance between 2 lat/lon pts (given the radius)
History:
2006-07-25 Elizabeth Miller - Fixed bug in Distance method
History:
2006-07-31 Elizabeth Miller - Added OffNadirAngle method and removed SpacecraftRoll method
History:
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.
History:
2008-01-28 Christopher Austin - Added error throw when minlon range isn't set beyond initialization.
History:
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.
History:
2008-05-21 Steven Lambright - Fixed boundary condition in the GroundRangeResolution () method.
History:
2008-06-18 Christopher Austin - Fixed documentation errors
History:
2008-07-15 Steven Lambright - Added NaifStatus calls
History:
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.
History:
2008-08-08 Steven Lambright - Added the LoadCache() method which tries to find the correct time range and calls Spice::CreateCache
History:
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
History:
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).
History:
2009-01-05 Steven Lambright - Added InCube method
History:
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.
History:
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).
History:
2009-05-22 Debbie A. Cook - Added Resolution method for Sensor (parent) virtual
History:
2009-06-05 Mackenzie Boyd - Updated samson truthdata
History:
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.
History:
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.
History:
2009-08-03 Debbie A. Cook - Added computation of tolerance to support change in Spice class for supporting downsizing of Spice tables
History:
2009-08-14 Debbie A. Cook - Corrected alternate tolerance
History:
2009-08-17 Debbie A. Cook - Added default tolerance for sky images
History:
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.
History:
2009-08-28 Steven Lambright - Added GetCameraType method and returned enumeration value
History:
2009-09-23 Tracie Sucharski - Convert negative longitudes coming out of reclat when computing azimuths.
History:
2009-12-14 Steven Lambright - BasicMapping(...) will now populate the map Pvl parameter with a valid Pvl
History:
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
History:
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.
History:
2010-11-04 Steven Lambright - Added SetGround() methods with the SurfacePoint version being commented out until the SurfacePoint class is available.
History:
2010-11-09 Eric Hyer - Added GetLocalNormal() and LocalPhotometricAngles() methods
History:
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.
History:
2011-01-14 Travis Addair - Added new CK/SPK accessor methods, pure virtual in Camera, implemented in mission specific cameras.
History:
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!)
History:
2011-01-25 Eric Hyer - SurfacePoint class now exists so uncommented Steven's new SetGround() methods (see history for 2010-11-04)
History:
2011-01-26 Steven Lambright - ComputeAzimuth now takes a Distance for the radius. The LocalRadius() methods now return instances of the Distance class.
History:
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.
History:
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).
History:
2011-02-11 Steven Lambright - Moved Distance() method to SurfacePoint
History:
2011-02-18 Steven Lambright - Fixed a problem where using a planetographic mapping group in GroundRange would still output planetocentric latitudes.
History:
2011-05-03 Jeannie Walldren - Added Isis Disclaimer to files.
History:
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.
History:
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.
History:
2012-06-04 Janet Barrett - Got rid of redundant calls to Sample(), Line(), and SetImage() in the ComputeAzimuth method.
History:
2012-07-06 Debbie A. Cook - Updated Spice members to be more compliant with Isis coding standards. References #972.
History:
2012-10-12 Debbie A. Cook - Updated to use new Target and ShapeModel classes. References Mantis ticket #775 and #1114.
History:
2012-10-25 Jeannie Backer - Changed resolution() method to lower camel case. References #1181.
History:
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.

Definition at line 229 of file Camera.h.


Member Enumeration Documentation

This enum defines the types of cameras supported in this class.

Enumerator:
Framing 

Framing Camera.

PushFrame 

Push Frame Camera.

LineScan 

Line Scan Camera.

Radar 

Radar Camera.

Point 

Point Camera.

Definition at line 322 of file Camera.h.

enum Isis::Spice::SpiceValueType [protected, inherited]

NAIF value primitive type.

Enumerator:
SpiceDoubleType 

SpiceDouble type.

SpiceStringType 

SpiceString type.

SpiceIntType 

SpiceInt type.

SpiceByteCodeType 

SpiceByteCode type.

Definition at line 318 of file Spice.h.


Constructor & Destructor Documentation

Isis::Camera::Camera ( Pvl lab  ) 
Isis::Camera::~Camera (  )  [virtual]

Destroys the Camera Object.

Definition at line 110 of file Camera.cpp.

References p_alphaCube, p_detectorMap, p_distortionMap, p_focalPlaneMap, p_groundMap, p_projection, and p_skyMap.


Member Function Documentation

int Isis::Camera::Band (  ) 

Returns the current band.

Returns:
int Band

Definition at line 1967 of file Camera.cpp.

References p_childBand.

Referenced by GroundRangeResolution(), RaDecRange(), and RaDecResolution().

int Isis::Camera::Bands (  )  const

Returns the number of bands in the image.

Returns:
int Number of Bands

Definition at line 2028 of file Camera.cpp.

References p_bands.

Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::CameraStatistics::init(), and StartEndEphemerisTimes().

void Isis::Camera::BasicMapping ( Pvl pvl  ) 

Writes the basic mapping group to the specified Pvl.

Parameters:
pvl Pvl to write mapping group to

Definition at line 784 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(), and Isis::GroundGrid::GroundGrid().

SpiceRotation * Isis::Spice::bodyRotation (  )  const [inherited]
iTime Isis::Spice::cacheEndTime (  )  const [inherited]

Accessor method for the cache end time.

Returns:
iTime End time for the image.
Author:
Steven Lambright

For internal use only.

History:
2011-02-09 Steven Lambright - Original version.

Definition at line 638 of file Spice.cpp.

References Isis::Spice::m_endTime.

Referenced by LineOffsetFunctor::operator()().

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.

Exceptions:
iException::Programmer - "A cache has already been created."
See also:
createCache()
LoadCache()
Author:
2011-02-02 Jeannie Walldren

For internal use only.

History:
2011-02-02 Jeannie Walldren - Original version.

Definition at line 1802 of file Camera.cpp.

References Isis::AlphaCube::BetaLines(), and p_alphaCube.

Referenced by LoadCache().

iTime Isis::Spice::cacheStartTime (  )  const [inherited]

Accessor method for the cache start time.

Returns:
iTime Start time for the image.
Author:
Steven Lambright

For internal use only.

History:
2011-02-09 Steven Lambright - Original version.

Definition at line 623 of file Spice.cpp.

References Isis::Spice::m_startTime.

Referenced by LineOffsetFunctor::operator()().

virtual int Isis::Camera::CkFrameId (  )  const [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.

   Segment ID     : MSGR_SPACECRAFT
   Instrument Code: -236000
   Spacecraft     : Body -236, MESSENGER
   Reference Frame: Frame 1, J2000
   CK Data Type   : Type 3
   Description : Continuous Pointing: Linear Interpolation
   Available Data : Pointing and Angular Velocity
   UTC Start Time : 2004 AUG 12 17:17:42.558
   UTC Stop Time  : 2010 JUL 23 12:35:22.814
   SCLK Start Time: 1/000818300:000000
   SCLK Stop Time : 1/188375996:000000

The CkFrameId value is found in the "Instrument Code" entry (-236000).

Returns:
int NAIF code for CK frame for an instrument

Implemented in Isis::ApolloMetricCamera, Isis::ApolloPanoramicCamera, Isis::IdealCamera, Isis::IssNACamera, Isis::IssWACamera, Isis::VimsCamera, Isis::HiresCamera, Isis::LwirCamera, Isis::NirCamera, Isis::UvvisCamera, Isis::DawnFcCamera, Isis::DawnVirCamera, Isis::SsiCamera, Isis::LoHighCamera, Isis::LoMediumCamera, Isis::LroNarrowAngleCamera, Isis::LroWideAngleCamera, Isis::MiniRF, Isis::Mariner10Camera, Isis::MdisCamera, Isis::HrscCamera, Isis::MocNarrowAngleCamera, Isis::MocWideAngleCamera, Isis::CrismCamera, Isis::CTXCamera, Isis::HiriseCamera, Isis::MarciCamera, Isis::ThemisIrCamera, Isis::ThemisVisCamera, Isis::VikingCamera, and Isis::VoyagerCamera.

virtual int Isis::Camera::CkReferenceId (  )  const [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.

   Segment ID     : MSGR_SPACECRAFT
   Instrument Code: -236000
   Spacecraft     : Body -236, MESSENGER
   Reference Frame: Frame 1, J2000
   CK Data Type   : Type 3
   Description : Continuous Pointing: Linear Interpolation
   Available Data : Pointing and Angular Velocity
   UTC Start Time : 2004 AUG 12 17:17:42.558
   UTC Stop Time  : 2010 JUL 23 12:35:22.814
   SCLK Start Time: 1/000818300:000000
   SCLK Stop Time : 1/188375996:000000

The CkReferenced value is found in the "Reference Frame" entry (1).

Returns:
int NAIF code for CK reference for an instrument

Implemented in Isis::ApolloMetricCamera, Isis::ApolloPanoramicCamera, Isis::IdealCamera, Isis::IssNACamera, Isis::IssWACamera, Isis::VimsCamera, Isis::HiresCamera, Isis::LwirCamera, Isis::NirCamera, Isis::UvvisCamera, Isis::DawnFcCamera, Isis::DawnVirCamera, Isis::SsiCamera, Isis::LoHighCamera, Isis::LoMediumCamera, Isis::LroNarrowAngleCamera, Isis::LroWideAngleCamera, Isis::MiniRF, Isis::Mariner10Camera, Isis::MdisCamera, Isis::HrscCamera, Isis::MocNarrowAngleCamera, Isis::MocWideAngleCamera, Isis::CrismCamera, Isis::CTXCamera, Isis::HiriseCamera, Isis::MarciCamera, Isis::ThemisIrCamera, Isis::ThemisVisCamera, Isis::VikingCamera, and Isis::VoyagerCamera.

double Isis::Camera::ComputeAzimuth ( Distance  radius,
const double  lat,
const double  lon 
) [private]

Computes the azimuth value from your current position (origin) to a point of interest specified by the lat/lon input to this method.

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 measured along the ground from the current postion (origin point) to a point of interest. The azimuth is measured in a positive clockwise direction from a reference line. The reference line is formed by drawing a line horizontally from the origin point to the right side of the image. This is usually called the 3 o'clock reference line 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 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 algorithm works by getting the body-fixed (x,y,z) of the origin point and the body-fixed (x,y,z) of the point of interest. The vector from the origin point to the point of interest is then determined. The perpendicular component of this new vector to the origin vector is determined. This gives a vector that is tangent to the planet surface at the origin point and that is in the direction of the point of interest. The tangent vector is then scaled to be within a pixel in size. A new body-fixed vector from the center of the planet to the head of the tangent vector is determined. The body-fixed (x,y,z) of the new vector is used to get line,sample. So, we now have the line,sample of the origin point and the line,sample of a point in the direction of the point of interest and within a pixel's distance from the origin point. The arctangent of (newline-originline)/ (newsample-originsample) is used to acquire the azimuth value.

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.

Parameters:
radius The Radius
lat The Latitude
lon The Longitude
Returns:
double Azimuth value
History:
2009-09-23 Tracie Sucharski - Convert negative longitudes coming out of reclat.
History:
2010-09-28 Janet Barrett - Added Randy's updated method for calculating the azimuth.
History:
2011-02-11 Janet Barrett - Added documentation.
History:
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.
History:
2012-06-04 Janet Barrett - Removed redundant calls to Sample(), Line(), and SetImage().
Todo:
Write PushState and PopState method to ensure the internals of the class are set based on SetImage or SetGround

Definition at line 1391 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(), p_pointComputed, Isis::PI(), PixelResolution(), Sample(), SetImage(), and SetUniversalGround().

Referenced by NorthAzimuth(), SpacecraftAzimuth(), and SunAzimuth().

void Isis::Sensor::Coordinate ( double  p[3]  )  const [inherited]
void Isis::Spice::createCache ( iTime  startTime,
iTime  endTime,
const int  size,
double  tol 
) [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().

Parameters:
startTime Starting ephemeris time to cache
endTime Ending ephemeris time to cache
size Size of the cache.
tol Tolerance.
Exceptions:
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"

For internal use only.

History:
2011-04-10 Debbie A. Cook - Updated to only create cache for instrumentPosition if type is Spice.

Definition at line 529 of file Spice.cpp.

References _FILEINFO_, Isis::NaifStatus::CheckErrors(), Isis::Spice::computeSolarLongitude(), Isis::iTime::Et(), Isis::SpicePosition::GetSource(), Isis::Spice::instrumentPosition(), Isis::SpicePosition::IsCached(), Isis::SpicePosition::LoadCache(), Isis::Spice::m_bodyRotation, Isis::Spice::m_cacheSize, Isis::Spice::m_endTime, Isis::Spice::m_endTimePadding, Isis::Spice::m_et, Isis::Spice::m_instrumentPosition, Isis::Spice::m_instrumentRotation, Isis::Spice::m_kernels, Isis::Spice::m_startTime, Isis::Spice::m_startTimePadding, Isis::Spice::m_sunPosition, Isis::SpicePosition::Memcache, Isis::SpicePosition::Memcache2HermiteCache(), Isis::IException::Programmer, Isis::SpicePosition::SetAberrationCorrection(), and Isis::IException::User.

Referenced by Isis::CrismCamera::CrismCamera(), LoadCache(), Isis::MiniRF::MiniRF(), and Isis::VimsCamera::VimsCamera().

double Isis::Sensor::Declination (  )  [inherited]

Returns the declination angle (sky latitude).

Returns:
double Declination angle.

Definition at line 493 of file Sensor.cpp.

References Isis::Sensor::computeRaDec(), Isis::Sensor::m_dec, and Isis::Sensor::m_newLookB.

Referenced by Isis::CameraPointInfo::GetPointInfo(), Isis::VimsSkyMap::Init(), RaDecRange(), RaDecResolution(), RawFocalPlanetoImage(), and Isis::AdvancedTrackTool::updateRow().

CameraDetectorMap * Isis::Camera::DetectorMap (  ) 
double Isis::Camera::DetectorResolution (  ) 

Returns the detector resolution at the current position.

Returns:
double The detector resolution

Definition at line 400 of file Camera.cpp.

References a, c, Isis::Sensor::Coordinate(), dist, Isis::Sensor::HasSurfaceIntersection(), Isis::Spice::instrumentPosition(), p_focalLength, and p_pixelPitch.

Referenced by LineResolution(), and SampleResolution().

CameraDistortionMap * Isis::Camera::DistortionMap (  ) 
double Isis::Sensor::EmissionAngle (  )  const [inherited]
double Isis::Camera::FocalLength (  )  const
CameraFocalPlaneMap * Isis::Camera::FocalPlaneMap (  ) 
virtual CameraType Isis::Camera::GetCameraType (  )  const [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.

Returns:
CameraType Type of camera that was created.

Implemented in Isis::FramingCamera, Isis::IdealCamera, Isis::LineScanCamera, Isis::PushFrameCamera, Isis::RadarCamera, and Isis::VimsCamera.

Referenced by Isis::BundleAdjust::AddPartials(), Isis::ControlPoint::ComputeResiduals(), Isis::ControlPoint::ComputeResiduals_Millimeters(), and Isis::BundleAdjust::OutputImagesCSV().

iTime Isis::Spice::getClockTime ( QString  clockValue,
int  sclkCode = -1 
) [inherited]
SpiceDouble Isis::Spice::getDouble ( const QString &  key,
int  index = 0 
) [inherited]
void Isis::Camera::GetGeometricTilingHint ( int &  startSize,
int &  endSize 
)

This will get the geometric tiling hint; these values are typically used for ProcessRubberSheet::SetTiling(.

..).

Parameters:
startSize Tiling start size
endSize Tiling end size

Definition at line 1879 of file Camera.cpp.

References p_geometricTilingEndSize, and p_geometricTilingStartSize.

SpiceInt Isis::Spice::getInteger ( const QString &  key,
int  index = 0 
) [inherited]

This returns a value from the NAIF text pool.

It is a static convience

Parameters:
key Name of NAIF keyword to obtain from the pool
index If the keyword is an array, the element to obtain. Defaults to 0
Returns:
SpiceInt Spice integer from NAIF text pool
Exceptions:
Isis::iException::Io - Can not find key in instrument kernels

Definition at line 871 of file Spice.cpp.

References Isis::Spice::readValue(), and Isis::Spice::SpiceIntType.

Referenced by Isis::DawnVirCamera::getPointingTable(), Isis::LroWideAngleCamera::GetVector(), Isis::Spice::init(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), and Isis::LroWideAngleCamera::LroWideAngleCamera().

Latitude Isis::Sensor::GetLatitude (  )  const [inherited]
void Isis::Camera::GetLocalNormal ( double  normal[3]  ) 
Longitude Isis::Sensor::GetLongitude (  )  const [inherited]
PvlObject Isis::Spice::getStoredNaifKeywords (  )  const [inherited]

This returns the PvlObject that stores all of the requested Naif data and can be a replacement for furnishing text kernels.

Definition at line 845 of file Spice.cpp.

QString Isis::Spice::getString ( const QString &  key,
int  index = 0 
) [inherited]

This returns a value from the NAIF text pool.

It is a static convience method

Parameters:
key Name of NAIF keyword to obtain from the pool
index If the keyword is an array, the element to obtain. Defaults to 0
Returns:
string Value from the NAIF text pool
Exceptions:
Isis::IException::Io - "Can not find key in instrument kernels."

Definition at line 1096 of file Spice.cpp.

References Isis::Spice::readValue(), and Isis::Spice::SpiceStringType.

Referenced by Isis::LightTimeCorrectionState::checkAberrationCorrection(), Isis::LightTimeCorrectionState::checkLightTimeToSurfaceCorrect(), Isis::LightTimeCorrectionState::checkObserverTargetSwap(), Isis::MdisCamera::computeFocalLength(), and Isis::MdisCamera::MdisCamera().

SurfacePoint Isis::Sensor::GetSurfacePoint (  )  const [inherited]
double Isis::Camera::GroundAzimuth ( double  glat,
double  glon,
double  slat,
double  slon 
) [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 ground point to the point of interest (such as the subsolar point or the subspacecraft point).

Parameters:
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
Returns:
double The azimuth in degrees

Definition at line 1532 of file Camera.cpp.

References a, c, and Isis::PI().

Referenced by Isis::CameraPointInfo::GetPointInfo().

CameraGroundMap * Isis::Camera::GroundMap (  ) 

Returns a pointer to the CameraGroundMap object.

Returns:
CameraCGroundMap*

Reimplemented in Isis::LineScanCamera, and Isis::PushFrameCamera.

Definition at line 2081 of file Camera.cpp.

References p_groundMap.

Referenced by Isis::BundleAdjust::AddPartials(), Isis::ControlPoint::ComputeResiduals(), Isis::ControlPoint::ComputeResiduals_Millimeters(), and Isis::VimsCamera::VimsCamera().

bool Isis::Camera::GroundRange ( double &  minlat,
double &  maxlat,
double &  minlon,
double &  maxlon,
Pvl pvl 
)

Computes the Ground Range.

Parameters:
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
Returns:
bool Returns true if it crosses the longitude domain boundary and false if it does not

Definition at line 688 of file Camera.cpp.

References a, 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().

void Isis::Camera::GroundRangeResolution (  )  [private]
bool Isis::Spice::hasKernels ( Pvl lab  )  [inherited]

Returns true if the kernel group has kernel files.

Parameters:
lab Label containing Instrument and Kernels groups.
Returns:
bool status of kernel files in the kernel group

Definition at line 1302 of file Spice.cpp.

References Isis::PvlObject::FindGroup(), Isis::PvlContainer::HasKeyword(), kernels(), Isis::PvlKeyword::Size(), and Isis::PvlObject::Traverse.

bool Isis::Camera::HasProjection (  ) 

Checks to see if the camera object has a projection.

Returns:
bool Returns true if it has a projection and false if it does not

Definition at line 1911 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.

Returns:
bool Returns true if it has a reference band, and false if it does not

Definition at line 1940 of file Camera.cpp.

References p_referenceBand.

Referenced by Isis::ThemisVisCamera::BandEphemerisTimeOffset(), and Isis::ThemisIrCamera::SetBand().

bool Isis::Sensor::HasSurfaceIntersection (  )  const [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.

Returns:
bool True if the look direction intersects with the target.

Definition at line 180 of file Sensor.cpp.

References Isis::ShapeModel::hasIntersection(), Isis::Target::shape(), and Isis::Spice::target().

Referenced by Isis::CameraStatistics::addStats(), ComputeAzimuth(), DetectorResolution(), Isis::CameraPointInfo::GetPointInfo(), Isis::Chip::Load(), Isis::VimsGroundMap::SetGround(), and SetImage().

double Isis::Camera::HighestImageResolution (  ) 

Returns the highest/best resolution in the entire image.

Returns:
double The highest/best resolution in the entire image

Definition at line 461 of file Camera.cpp.

References GroundRangeResolution(), and p_minres.

Referenced by Isis::GroundGrid::GroundGrid().

void Isis::Sensor::IgnoreElevationModel ( bool  ignore  )  [inherited]

This allows you to ignore the cube elevation model and use the ellipse.

Parameters:
ignore True if the elevation model is ignored

Definition at line 73 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.

Parameters:
ignore 

Definition at line 2099 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().

double Isis::Sensor::IncidenceAngle (  )  const [inherited]
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).

Returns:
bool Point was extrapolated

Definition at line 1893 of file Camera.cpp.

References Line(), Lines(), Sample(), and Samples().

Referenced by Isis::MosaicSceneItem::drawImage(), Isis::InterestOperator::FindCnetRef(), Isis::SmtkMatcher::getLineSample(), Isis::CameraPointInfo::GetPointInfo(), Isis::UniversalGroundMap::SetGround(), and Isis::UniversalGroundMap::SetUniversalGround().

SpicePosition * Isis::Spice::instrumentPosition (  )  const [inherited]
void Isis::Spice::instrumentPosition ( double  p[3]  )  const [inherited]
SpiceRotation * Isis::Spice::instrumentRotation (  )  const [inherited]
void Isis::Spice::instrumentVelocity ( double  v[3]  )  const [inherited]

Returns the spacecraft velocity in body-fixed frame km/sec units.

Parameters:
v[] Spacecraft velocity

Definition at line 719 of file Spice.cpp.

References _FILEINFO_, Isis::Spice::m_bodyRotation, Isis::Spice::m_et, Isis::Spice::m_instrumentPosition, Isis::IException::Programmer, and Isis::SpicePosition::Velocity().

bool Isis::Camera::IntersectsLongitudeDomain ( Pvl pvl  ) 

Checks whether the ground range intersects the longitude domain or not.

Parameters:
pvl The pvl file used to set the ground range
Returns:
bool Returns true if the range intersects the longitude domain, and false if it does not

Definition at line 671 of file Camera.cpp.

References GroundRange(), maxlat, maxlon, minlat, and minlon.

bool Isis::Camera::IsBandIndependent (  )  [virtual]

Virtual method that checks if the band is independent.

Returns:
bool Returns true if the band is independent, and false if it is not

Reimplemented in Isis::LroWideAngleCamera, Isis::CrismCamera, Isis::MarciCamera, Isis::ThemisIrCamera, and Isis::ThemisVisCamera.

Definition at line 1921 of file Camera.cpp.

Referenced by Isis::ProjectionFactory::CreateForCube(), GroundRangeResolution(), Isis::CameraStatistics::init(), and RaDecRange().

double Isis::Camera::Line (  ) 
double Isis::Camera::LineResolution (  ) 

Returns the line resolution at the current position.

Returns:
double The line resolution

Definition at line 429 of file Camera.cpp.

References DetectorResolution(), Isis::CameraDetectorMap::LineScaleFactor(), and p_detectorMap.

Referenced by Isis::CameraStatistics::addStats(), Isis::CameraPointInfo::GetPointInfo(), PixelResolution(), and Isis::VimsGroundMap::SetGround().

int Isis::Camera::Lines (  )  const

Returns the number of lines in the image.

Returns:
int Number of Lines

Definition at line 2019 of file Camera.cpp.

References p_lines.

Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::SmtkMatcher::inCube(), InCube(), Isis::CameraStatistics::init(), and Isis::DawnVirCamera::readHouseKeeping().

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.

For internal use only.

History:
2011-02-08 Jeannie Walldren - Removed unused input parameter. Moved calculations of cache size and start/end ephemeris times to their own methods.

Definition at line 1703 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::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), 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::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::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.

Parameters:
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 1012 of file Camera.cpp.

References Isis::Spice::bodyRotation(), Isis::Sensor::Coordinate(), dist, GetLocalNormal(), Isis::Sensor::GetSurfacePoint(), Isis::Spice::instrumentPosition(), Isis::Displacement::kilometers(), Isis::Spice::m_uB, and Isis::Angle::Radians.

Referenced by Isis::AdvancedTrackTool::updateRow().

Distance Isis::Sensor::LocalRadius ( double  lat,
double  lon 
) [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.

Returns:
Distance The distance from the center of the planet to this lat,lon in meters

Definition at line 275 of file Sensor.cpp.

References Isis::Angle::Degrees, Isis::Target::shape(), and Isis::Spice::target().

Distance Isis::Sensor::LocalRadius ( Latitude  lat,
Longitude  lon 
) [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.

Returns:
Distance The distance from the center of the planet to this lat,lon in meters

Definition at line 262 of file Sensor.cpp.

References Isis::Target::shape(), and Isis::Spice::target().

Distance Isis::Sensor::LocalRadius (  )  const [inherited]
double Isis::Sensor::LocalSolarTime (  )  [inherited]

Return the local solar time in hours.

Returns:
double Local solar time, in hours

Definition at line 570 of file Sensor.cpp.

References slat, slon, Isis::Spice::subSolarPoint(), and Isis::Sensor::UniversalLongitude().

Referenced by Isis::CameraStatistics::addStats(), Isis::CameraPointInfo::GetPointInfo(), and Isis::AdvancedTrackTool::updateRow().

void Isis::Sensor::LookDirection ( double  v[3]  )  const [inherited]

Returns the look direction in the camera coordinate system.

Parameters:
v[] The look vector

Definition at line 469 of file Sensor.cpp.

References Isis::Spice::bodyRotation(), Isis::Spice::instrumentRotation(), and Isis::Sensor::m_lookB.

double Isis::Camera::LowestImageResolution (  ) 

Returns the lowest/worst resolution in the entire image.

Returns:
double The lowest/worst resolution in the image

Definition at line 451 of file Camera.cpp.

References GroundRangeResolution(), and p_maxres.

SpiceInt Isis::Spice::naifBodyCode (  )  const [inherited]

This returns the NAIF body code of the target indicated in the labels.

Returns:
SpiceInt NAIF body code

Definition at line 788 of file Spice.cpp.

References Isis::Spice::m_target, and Isis::Target::naifBodyCode().

Referenced by SpkCenterId().

SpiceInt Isis::Spice::naifBodyFrameCode (  )  const [inherited]

This returns the NAIF body frame code.

It is read from the labels, if it exists. Otherwise, it's calculated by the init() method.

Returns:
SpiceInt NAIF body frame code

Definition at line 836 of file Spice.cpp.

References Isis::Spice::m_bodyFrameCode.

SpiceInt Isis::Spice::naifCkCode (  )  const [inherited]

This returns the NAIF CK code to use when reading from CK kernels.

Returns:
SpiceInt NAIF CK code

Definition at line 806 of file Spice.cpp.

References Isis::Spice::m_ckCode.

SpiceInt Isis::Spice::naifIkCode (  )  const [inherited]
SpiceInt Isis::Spice::naifSclkCode (  )  const [inherited]

This returns the NAIF SCLK code to use when reading from instrument kernels.

Returns:
SpiceInt NAIF SCLK code

Definition at line 825 of file Spice.cpp.

References Isis::Spice::m_sclkCode.

Referenced by Isis::CrismCamera::CrismCamera(), and Isis::Spice::getClockTime().

SpiceInt Isis::Spice::naifSpkCode (  )  const [inherited]

This returns the NAIF SPK code to use when reading from SPK kernels.

Returns:
SpiceInt NAIF SPK code

Definition at line 797 of file Spice.cpp.

References Isis::Spice::m_spkCode.

Referenced by Isis::DawnVirCamera::readHouseKeeping(), and SpkTargetId().

double Isis::Camera::NorthAzimuth (  ) 

Returns the North Azimuth.

Returns:
double North Azimuth

Definition at line 1274 of file Camera.cpp.

References ComputeAzimuth(), Isis::Sensor::LocalRadius(), and Isis::Sensor::UniversalLatitude().

Referenced by Isis::CameraStatistics::addStats(), Isis::CameraPointInfo::GetPointInfo(), and Isis::AdvancedTrackTool::updateRow().

double Isis::Camera::OffNadirAngle (  ) 

Return the off nadir angle in degrees.

Returns:
double Off Nadir Angle

Definition at line 1497 of file Camera.cpp.

References a, c, Isis::NaifStatus::CheckErrors(), Isis::Sensor::Coordinate(), Isis::Sensor::EmissionAngle(), Isis::Spice::instrumentPosition(), and Isis::PI().

Referenced by Isis::CameraPointInfo::GetPointInfo().

int Isis::Camera::ParentLines (  )  const
int Isis::Camera::ParentSamples (  )  const
double Isis::Sensor::PhaseAngle (  )  const [inherited]
double Isis::Camera::PixelPitch (  )  const
double Isis::Camera::PixelResolution (  ) 
bool Isis::Camera::RaDecRange ( double &  minra,
double &  maxra,
double &  mindec,
double &  maxdec 
)

Computes the RaDec range.

Parameters:
minra Minimum right ascension value
maxra Maximum right ascension value
mindec Minimum declination value
maxdec Maximum declination value
Exceptions:
iException::Programmer - Camera::RaDecRange can not calculate a right ascension, declination range for projected images which are not projected to sky
Returns:
bool Returns true if the range computation was successful and false if it was not

Definition at line 1079 of file Camera.cpp.

References _FILEINFO_, band, Band(), Isis::Sensor::Declination(), IsBandIndependent(), Isis::Projection::IsSky(), line, 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.

Returns:
double The resutant RaDec resolution

Definition at line 1225 of file Camera.cpp.

References _FILEINFO_, Band(), Isis::Sensor::Declination(), dist, Isis::Projection::IsSky(), Line(), p_lines, p_pointComputed, p_projection, p_samples, Isis::IException::Programmer, Isis::Sensor::RightAscension(), Sample(), SetBand(), and SetImage().

void Isis::Spice::radii ( Distance  r[3]  )  const [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.

Parameters:
r[] Radii of the target in kilometers

Definition at line 777 of file Spice.cpp.

References Isis::Spice::m_target, and Isis::Target::radii().

Referenced by BasicMapping(), Isis::CameraPointInfo::GetPointInfo(), GroundRange(), Isis::BundleAdjust::Init(), Isis::Spice::init(), Isis::MiniRF::MiniRF(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::RadarGroundMap::SetFocalPlane(), Isis::VimsGroundMap::SetGround(), Isis::Spice::subSolarPoint(), Isis::Spice::subSpacecraftPoint(), and Isis::AdvancedTrackTool::updateRow().

bool Isis::Camera::RawFocalPlanetoImage (  )  [private]
QVariant Isis::Spice::readValue ( QString  key,
SpiceValueType  type,
int  index = 0 
) [protected, inherited]

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.

Parameters:
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 929 of file Spice.cpp.

References _FILEINFO_, Isis::NaifStatus::CheckErrors(), Isis::IException::Io, Isis::Spice::SpiceDoubleType, Isis::Spice::SpiceIntType, Isis::Spice::SpiceStringType, and Isis::IException::Unknown.

Referenced by Isis::Spice::getDouble(), Isis::Spice::getInteger(), Isis::Spice::getString(), and Isis::IdealCamera::IdealCamera().

int Isis::Camera::ReferenceBand (  )  const

Returns the reference band.

Returns:
int Reference Band

Definition at line 1930 of file Camera.cpp.

References p_referenceBand.

Referenced by Isis::ThemisVisCamera::BandEphemerisTimeOffset(), and Isis::ThemisIrCamera::SetBand().

double Isis::Camera::resolution (  )  [virtual]

Returns the resolution of the camera.

Returns:
double pixel resolution

Reimplemented from Isis::Sensor.

Definition at line 1984 of file Camera.cpp.

References PixelResolution().

double Isis::Sensor::RightAscension (  )  [inherited]
double Isis::Camera::Sample (  ) 
double Isis::Camera::SampleResolution (  ) 

Returns the sample resolution at the current position.

Returns:
double The sample resolution

Definition at line 420 of file Camera.cpp.

References DetectorResolution(), p_detectorMap, and Isis::CameraDetectorMap::SampleScaleFactor().

Referenced by Isis::CameraStatistics::addStats(), Isis::CameraPointInfo::GetPointInfo(), PixelResolution(), and Isis::VimsGroundMap::SetGround().

int Isis::Camera::Samples (  )  const
void Isis::Camera::SetBand ( const int  band  )  [virtual]
void Isis::Camera::SetDetectorMap ( CameraDetectorMap map  ) 

Sets the Detector Map.

This object will take ownership of the detector map pointer.

Parameters:
*map Pointer to a CameraDetectorMap object

Definition at line 1658 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.

Parameters:
*map Pointer to a CameraDistortionMap object

Definition at line 1630 of file Camera.cpp.

References p_distortionMap.

Referenced by Isis::CameraDistortionMap::CameraDistortionMap().

void Isis::Camera::SetFocalLength (  )  [protected]
void Isis::Camera::SetFocalLength ( double  v  )  [protected]

Sets the focal length.

Parameters:
v Focal Length

Definition at line 2188 of file Camera.cpp.

References p_focalLength.

Referenced by Isis::RadarSlantRangeMap::SetFocalPlane(), and Isis::RadarGroundMap::SetGround().

void Isis::Camera::SetFocalPlaneMap ( CameraFocalPlaneMap map  ) 

Sets the Focal Plane Map.

This object will take ownership of the focal plane map pointer.

Parameters:
*map Pointer to a CameraFocalPlaneMap object

Definition at line 1644 of file Camera.cpp.

References p_focalPlaneMap.

void Isis::Camera::SetGeometricTilingHint ( int  startSize = 128,
int  endSize = 8 
) [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.

Parameters:
startSize The tile size to start with; default 128
endSize The tile size to give up at; default 8

Definition at line 1829 of file Camera.cpp.

References _FILEINFO_, p_geometricTilingEndSize, p_geometricTilingStartSize, and Isis::IException::Programmer.

Referenced by Camera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), and Isis::MarciCamera::MarciCamera().

bool Isis::Sensor::SetGround ( const SurfacePoint surfacePt,
bool  backCheck = true 
) [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.

Parameters:
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
Returns:
bool

Definition at line 396 of file Sensor.cpp.

References Isis::ShapeModel::clearSurfacePoint(), Isis::Sensor::SetGroundLocal(), Isis::ShapeModel::setSurfacePoint(), Isis::Target::shape(), and Isis::Spice::target().

bool Isis::Camera::SetGround ( const SurfacePoint surfacePt  ) 

Sets the lat/lon/radius values to get the sample/line values.

Parameters:
latitude Latitude coordinate of the point
longitude Longitude coordinate of the point
Returns:
bool Returns true if the Universal Ground was set successfully and false if it was not

Definition at line 287 of file Camera.cpp.

References Isis::ShapeModel::clearSurfacePoint(), p_groundMap, RawFocalPlanetoImage(), Isis::CameraGroundMap::SetGround(), Isis::Target::shape(), and Isis::Spice::target().

bool Isis::Camera::SetGround ( Latitude  latitude,
Longitude  longitude 
)

Sets the lat/lon values to get the sample/line values.

Parameters:
latitude Latitude coordinate of the point
longitude Longitude coordinate of the point
Returns:
bool Returns true if the Universal Ground was set successfully and false if it was not

Definition at line 265 of file Camera.cpp.

References Isis::ShapeModel::clearSurfacePoint(), Isis::Distance::isValid(), Isis::Sensor::LocalRadius(), Isis::Target::shape(), and Isis::Spice::target().

Referenced by GroundRangeResolution(), Isis::UniversalGroundMap::SetGround(), and SetImage().

void Isis::Camera::SetGroundMap ( CameraGroundMap map  ) 

Sets the Ground Map.

This object will take ownership of the ground map pointer.

Parameters:
*map Pointer to a CameraGroundMap object

Definition at line 1672 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.

Parameters:
sample Sample coordinate of the cube
line Line coordinate of the cube
Returns:
bool Returns true if the image was set successfully and false if it was not

Definition at line 156 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::Sensor::LocalRadius(), Isis::Projection::Longitude(), p_alphaCube, p_childLine, p_childSample, p_detectorMap, p_distortionMap, p_focalPlaneMap, p_groundMap, p_ignoreProjection, p_pointComputed, p_projection, Isis::CameraFocalPlaneMap::SetDetector(), Isis::CameraGroundMap::SetFocalPlane(), Isis::CameraDistortionMap::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::Projection::UniversalLatitude(), Isis::Projection::UniversalLongitude(), x, y, and z.

Referenced by Isis::BundleAdjust::AddPartials(), Isis::CameraStatistics::addStats(), Isis::BundleAdjust::ApproximatePoint_ClosestApproach(), Isis::StereoTool::calculateElevation(), Isis::ControlPoint::ComputeApriori(), ComputeAzimuth(), Isis::ControlPoint::ComputeResiduals(), Isis::ControlPoint::ComputeResiduals_Millimeters(), Isis::ProjectionFactory::CreateForCube(), Isis::InterestOperator::FindCnetRef(), Isis::SmtkMatcher::getLatLon(), GetLocalNormal(), GroundRangeResolution(), Isis::VimsSkyMap::Init(), Isis::VimsGroundMap::Init(), Isis::InterestOperator::InterestByMeasure(), Isis::Chip::Load(), LoadCache(), Isis::ControlNetValidMeasure::MetersFromEdge(), Isis::SunShadowTool::mouseButtonPress(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::CubeCalculator::prepareCalculations(), RaDecRange(), RaDecResolution(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::CameraPointInfo::SetCenter(), Isis::VimsGroundMap::SetGround(), Isis::UniversalGroundMap::SetImage(), Isis::CameraPointInfo::SetImage(), Isis::CameraPointInfo::SetLine(), Isis::CameraPointInfo::SetSample(), Isis::VimsSkyMap::SetSky(), StartEndEphemerisTimes(), Isis::MeasureTool::updateDist(), Isis::TrackTool::updateLabels(), Isis::AdvancedTrackTool::updateRow(), and Isis::VimsCamera::VimsCamera().

bool Isis::Sensor::SetLookDirection ( const double  v[3]  )  [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.

Parameters:
v[] A look vector in camera coordinates. For example, (0,0,1) is usually the look direction out of the boresight of a camera.
Returns:
bool True if the look direction intersected the target.

For internal use only.

History:
2009-09-23 Tracie Sucharski - Convert negative longitudes returned my reclat.
History:
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.
History:
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).
History:
2011-01-24 Janet Barrett - Got rid of extra loop that wasn't needed for the new ray tracing algorithm.
History:
2011-08-16 Jeff Anderson - Fixed a problem with an infinite loop in the ray tracing algorithm. The problem was first exposed when trying to intersect the Vesta DEM on the limb.
Returns:
bool

Definition at line 136 of file Sensor.cpp.

References Isis::Spice::bodyRotation(), Isis::Sensor::Coordinate(), Isis::Spice::instrumentPosition(), Isis::Spice::instrumentRotation(), Isis::Sensor::m_lookB, Isis::Sensor::m_newLookB, Isis::ShapeModel::setHasIntersection(), Isis::Target::shape(), and Isis::Spice::target().

Referenced by Isis::VimsSkyMap::SetFocalPlane(), Isis::VimsGroundMap::SetFocalPlane(), Isis::CameraSkyMap::SetFocalPlane(), Isis::CameraGroundMap::SetFocalPlane(), and Isis::Sensor::SetRightAscensionDeclination().

void Isis::Camera::SetPixelPitch (  )  [protected]
void Isis::Camera::SetPixelPitch ( double  v  )  [protected]

Sets the pixel pitch.

Parameters:
v Pixel Pitch

Definition at line 2197 of file Camera.cpp.

References p_pixelPitch.

bool Isis::Camera::SetRightAscensionDeclination ( const double  ra,
const double  dec 
)
void Isis::Camera::SetSkyMap ( CameraSkyMap map  ) 

Sets the Sky Map.

This object will take ownership of the sky map pointer.

Parameters:
*map Pointer to a CameraSkyMap object

Definition at line 1685 of file Camera.cpp.

References p_skyMap.

Referenced by Isis::CameraSkyMap::CameraSkyMap().

void Isis::Sensor::setTime ( const iTime time  )  [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.

Parameters:
time Ephemeris time (read NAIF documentation for a detailed description)

Reimplemented from Isis::Spice.

Definition at line 94 of file Sensor.cpp.

References Isis::ShapeModel::clearSurfacePoint(), Isis::Target::shape(), and Isis::Spice::target().

Referenced by 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(), LoadCache(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MiniRF::MiniRF(), Isis::NirCamera::NirCamera(), Isis::ThemisVisCamera::SetBand(), Isis::VimsSkyMap::SetFocalPlane(), Isis::VimsGroundMap::SetFocalPlane(), Isis::PushFrameCameraDetectorMap::SetFramelet(), Isis::VariableLineScanCameraDetectorMap::SetParent(), Isis::RadarPulseMap::SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), Isis::ApolloPanoramicDetectorMap::SetParent(), Isis::SsiCamera::SsiCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::VoyagerCamera::VoyagerCamera().

bool Isis::Sensor::SetUniversalGround ( const double  latitude,
const double  longitude,
const double  radius,
bool  backCheck = true 
) [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.

Parameters:
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
Returns:
bool True if the look direction intersects the target.

Definition at line 362 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::Sensor::SetUniversalGround ( const double  latitude,
const double  longitude,
bool  backCheck = true 
) [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.

Parameters:
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
Returns:
bool True if the look direction intersects the target.

Definition at line 328 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().

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.

Parameters:
latitude Latitude coordinate of the cube
longitude Longitude coordinate of the cube
radius Radius coordinate of the cube
Returns:
bool Returns true if the Universal Ground was set successfully and false if it was not

Definition at line 381 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().

bool Isis::Camera::SetUniversalGround ( const double  latitude,
const double  longitude 
)

Sets the lat/lon values to get the sample/line values.

Parameters:
latitude Latitude coordinate of the point
longitude Longitude coordinate of the point
Returns:
bool Returns true if the Universal Ground was set successfully and false if it was not

Definition at line 244 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 ComputeAzimuth(), Isis::ProjectionFactory::CreateForCube(), Isis::InterestOperator::FindCnetRef(), Isis::SmtkMatcher::getLineSample(), Isis::Chip::Load(), Isis::CameraPointInfo::SetGround(), and Isis::UniversalGroundMap::SetUniversalGround().

CameraSkyMap * Isis::Camera::SkyMap (  ) 

Returns a pointer to the CameraSkyMap object.

Returns:
CameraSkyMap*

Reimplemented in Isis::LineScanCamera.

Definition at line 2090 of file Camera.cpp.

References p_skyMap.

Referenced by Isis::VimsCamera::VimsCamera().

double Isis::Sensor::SlantDistance (  )  const [inherited]
double Isis::Sensor::SolarDistance (  )  const [inherited]

Returns the distance between the sun and surface point in AU.

Returns:
double Solar distance

Definition at line 585 of file Sensor.cpp.

References dist, Isis::Displacement::kilometers(), Isis::Target::shape(), Isis::Spice::sunPosition(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().

Referenced by Isis::CameraPointInfo::GetPointInfo().

Longitude Isis::Spice::solarLongitude (  )  [inherited]

Returns the solar longitude.

Returns:
double The Solar Longitude

Definition at line 1285 of file Spice.cpp.

References Isis::Spice::computeSolarLongitude(), Isis::Spice::m_et, and Isis::Spice::m_solarLongitude.

Referenced by Isis::CameraPointInfo::GetPointInfo(), Isis::Spice::init(), and Isis::AdvancedTrackTool::updateRow().

double Isis::Sensor::SpacecraftAltitude (  )  [inherited]

Returns the distance from the spacecraft to the subspacecraft point in km.

It uses the ellipsoid, not the shape model

Returns:
double Spacecraft altitude.

Definition at line 608 of file Sensor.cpp.

References dist, Isis::Spice::instrumentPosition(), Isis::Distance::kilometers(), Isis::Sensor::LocalRadius(), Isis::PI(), and Isis::Spice::subSpacecraftPoint().

Referenced by Isis::CrismCamera::CrismCamera(), Isis::CameraPointInfo::GetPointInfo(), LoadCache(), Isis::MiniRF::MiniRF(), and Isis::VimsCamera::VimsCamera().

double Isis::Camera::SpacecraftAzimuth (  ) 

Return the Spacecraft Azimuth.

Returns:
double Spacecraft Azimuth
Todo:
Get appropriate radius at the subscraft point

Definition at line 1311 of file Camera.cpp.

References ComputeAzimuth(), Isis::Sensor::LocalRadius(), and Isis::Spice::subSpacecraftPoint().

Referenced by Isis::CameraPointInfo::GetPointInfo(), and Isis::AdvancedTrackTool::updateRow().

void Isis::Sensor::SpacecraftSurfaceVector ( double  scSurfaceVector[3]  )  const [inherited]

Return the vector between the spacecraft and surface point in body-fixed.

Author:
2011-12-20 Tracie Sucharski

Definition at line 537 of file Sensor.cpp.

References Isis::Sensor::m_lookB.

int Isis::Camera::SpkCenterId (  )  const [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.

     Segment ID     : msgr_20050903_20061125_recon002.nio
     Target Body    : Body -236, MESSENGER
     Center Body    : Body 2, VENUS BARYCENTER
     Reference frame: Frame 1, J2000
     SPK Data Type  : Type 1
     Description : Modified Difference Array
     UTC Start Time : 2006 OCT 16 19:25:41.111
     UTC Stop Time  : 2006 OCT 31 22:14:24.040
     ET Start Time  : 2006 OCT 16 19:26:46.293
     ET Stop time   : 2006 OCT 31 22:15:29.222

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.

Returns:
int NAIF code for SPK center of motion body for an instrument

Reimplemented in Isis::IdealCamera, Isis::IssNACamera, Isis::IssWACamera, and Isis::VimsCamera.

Definition at line 2179 of file Camera.cpp.

References Isis::Spice::naifBodyCode().

virtual int Isis::Camera::SpkReferenceId (  )  const [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:

     Segment ID     : msgr_20050903_20061125_recon002.nio
     Target Body    : Body -236, MESSENGER
     Center Body    : Body 2, VENUS BARYCENTER
     Reference frame: Frame 1, J2000
     SPK Data Type  : Type 1
     Description : Modified Difference Array
     UTC Start Time : 2006 OCT 16 19:25:41.111
     UTC Stop Time  : 2006 OCT 31 22:14:24.040
     ET Start Time  : 2006 OCT 16 19:26:46.293
     ET Stop time   : 2006 OCT 31 22:15:29.222

The SpkReferenceId value is found in the "Reference frame" entry (1).

Returns:
int NAIF code for SPK reference frame for an instrument

Implemented in Isis::ApolloMetricCamera, Isis::ApolloPanoramicCamera, Isis::IdealCamera, Isis::IssNACamera, Isis::IssWACamera, Isis::VimsCamera, Isis::HiresCamera, Isis::LwirCamera, Isis::NirCamera, Isis::UvvisCamera, Isis::DawnFcCamera, Isis::DawnVirCamera, Isis::SsiCamera, Isis::LoHighCamera, Isis::LoMediumCamera, Isis::LroNarrowAngleCamera, Isis::LroWideAngleCamera, Isis::MiniRF, Isis::Mariner10Camera, Isis::MdisCamera, Isis::HrscCamera, Isis::MocNarrowAngleCamera, Isis::MocWideAngleCamera, Isis::CrismCamera, Isis::CTXCamera, Isis::HiriseCamera, Isis::MarciCamera, Isis::ThemisIrCamera, Isis::ThemisVisCamera, Isis::VikingCamera, and Isis::VoyagerCamera.

int Isis::Camera::SpkTargetId (  )  const [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:

     Segment ID     : msgr_20050903_20061125_recon002.nio
     Target Body    : Body -236, MESSENGER
     Center Body    : Body 2, VENUS BARYCENTER
     Reference frame: Frame 1, J2000
     SPK Data Type  : Type 1
     Description : Modified Difference Array
     UTC Start Time : 2006 OCT 16 19:25:41.111
     UTC Stop Time  : 2006 OCT 31 22:14:24.040
     ET Start Time  : 2006 OCT 16 19:26:46.293
     ET Stop time   : 2006 OCT 31 22:15:29.222

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.

Returns:
int NAIF code for the SPK target for an instrument

Reimplemented in Isis::ApolloMetricCamera, Isis::IdealCamera, Isis::MiniRF, Isis::MdisCamera, Isis::VikingCamera, and Isis::VoyagerCamera.

Definition at line 2137 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.

Exceptions:
iException::Programmer - "Unable to find time range for the spice kernels."
See also:
createCache()
LoadCache()
Author:
2011-02-02 Jeannie Walldren

For internal use only.

History:
2011-02-02 Jeannie Walldren - Original version.

Definition at line 1760 of file Camera.cpp.

References _FILEINFO_, band, Bands(), Isis::AlphaCube::BetaLines(), Isis::AlphaCube::BetaSamples(), Isis::iTime::Et(), min(), p_alphaCube, Isis::IException::Programmer, SetBand(), SetImage(), and Isis::Spice::time().

Referenced by LoadCache().

void Isis::Spice::subSolarPoint ( double &  lat,
double &  lon 
) [inherited]

Returns the sub-solar latitude/longitude in universal coordinates (0-360 positive east, ocentric).

Parameters:
lat Sub-solar latitude
lon Sub-solar longitude
See also:
setTime()
Exceptions:
Isis::IException::Programmer - "You must call SetTime first."

Definition at line 1161 of file Spice.cpp.

References _FILEINFO_, a, c, Isis::NaifStatus::CheckErrors(), dist, Isis::Spice::m_et, Isis::Spice::m_uB, Isis::PI(), Isis::IException::Programmer, Isis::Target::radii(), Isis::Spice::radii(), and Isis::Spice::target().

Referenced by Isis::CameraPointInfo::GetPointInfo(), Isis::Sensor::LocalSolarTime(), and SunAzimuth().

void Isis::Spice::subSpacecraftPoint ( double &  lat,
double &  lon 
) [inherited]

Returns the sub-spacecraft latitude/longitude in universal coordinates (0-360 positive east, ocentric).

Parameters:
lat Sub-spacecraft latitude
lon Sub-spacecraft longitude
See also:
setTime()
Exceptions:
Isis::IException::Programmer - "You must call SetTime first."

Definition at line 1113 of file Spice.cpp.

References _FILEINFO_, a, c, Isis::NaifStatus::CheckErrors(), Isis::SpicePosition::Coordinate(), dist, Isis::Spice::m_bodyRotation, Isis::Spice::m_et, Isis::Spice::m_instrumentPosition, Isis::PI(), Isis::IException::Programmer, Isis::Target::radii(), Isis::Spice::radii(), and Isis::Spice::target().

Referenced by Isis::CameraPointInfo::GetPointInfo(), GroundRangeResolution(), Isis::Sensor::SpacecraftAltitude(), and SpacecraftAzimuth().

double Isis::Camera::SunAzimuth (  ) 

Returns the Sun Azimuth.

Returns:
double Sun Azimuth
Todo:
Get appropriate radius at the subsolar point

Definition at line 1298 of file Camera.cpp.

References ComputeAzimuth(), Isis::Sensor::LocalRadius(), and Isis::Spice::subSolarPoint().

Referenced by Isis::CameraPointInfo::GetPointInfo(), Isis::SunShadowTool::mouseButtonPress(), and Isis::AdvancedTrackTool::updateRow().

SpicePosition * Isis::Spice::sunPosition (  )  const [inherited]

Accessor method for the sun position.

Returns:
iTime Sun position for the image.
Author:
Steven Lambright

For internal use only.

History:
2011-02-09 Steven Lambright - Original version.

Definition at line 1352 of file Spice.cpp.

References Isis::Spice::m_sunPosition.

Referenced by Isis::Sensor::SolarDistance().

void Isis::Spice::sunPosition ( double  p[3]  )  const [inherited]

Fills the input vector with sun position information, in either body-fixed or J2000 reference frame and km units.

Parameters:
p[] Sun position
See also:
setTime()

Definition at line 750 of file Spice.cpp.

References _FILEINFO_, Isis::Spice::m_et, Isis::Spice::m_uB, and Isis::IException::Programmer.

Referenced by Isis::CameraPointInfo::GetPointInfo(), and Isis::SunShadowTool::recalculateShadowHeight().

Target * Isis::Spice::target (  )  const [inherited]
double Isis::Spice::targetCenterDistance (  )  const [inherited]

Calculates and returns the distance from the spacecraft to the target center.

Returns:
double Distance to the center of the target from the spacecraft

Definition at line 765 of file Spice.cpp.

References Isis::SpicePosition::Coordinate(), Isis::Spice::m_bodyRotation, and Isis::Spice::m_instrumentPosition.

Referenced by Isis::CameraPointInfo::GetPointInfo().

QString Isis::Spice::targetName (  )  const [inherited]

Returns the string name of the target.

Returns:
string

Definition at line 1209 of file Spice.cpp.

References Isis::Spice::m_target, and Isis::Target::name().

iTime Isis::Spice::time (  )  const [inherited]
double Isis::Sensor::UniversalLatitude (  )  const [inherited]
double Isis::Sensor::UniversalLongitude (  )  const [inherited]

Member Data Documentation

SpiceDouble Isis::Spice::m_BJ[3][3] [protected, inherited]

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.

Definition at line 343 of file Spice.h.

SpiceDouble Isis::Spice::m_uB[3] [protected, inherited]

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 338 of file Spice.h.

Referenced by Isis::Sensor::IncidenceAngle(), LocalPhotometricAngles(), Isis::Sensor::PhaseAngle(), Isis::Spice::setTime(), Isis::Spice::subSolarPoint(), and Isis::Spice::sunPosition().

!< Flag showing if the raDec range has been computed successfully.

A pointer to the AlphaCube

Definition at line 498 of file Camera.h.

Referenced by CacheSize(), Camera(), LoadCache(), ParentLines(), ParentSamples(), RawFocalPlanetoImage(), SetImage(), SetRightAscensionDeclination(), StartEndEphemerisTimes(), and ~Camera().

int Isis::Camera::p_bands [private]

The number of bands in the image.

Definition at line 482 of file Camera.h.

Referenced by Bands(), Camera(), GroundRangeResolution(), and RaDecRange().

Band value for child.

Definition at line 501 of file Camera.h.

Referenced by Band(), Camera(), and SetBand().

double Isis::Camera::p_childLine [private]

Line value for child.

Definition at line 500 of file Camera.h.

Referenced by Line(), RawFocalPlanetoImage(), SetImage(), and SetRightAscensionDeclination().

double Isis::Camera::p_childSample [private]

Sample value for child.

Definition at line 499 of file Camera.h.

Referenced by RawFocalPlanetoImage(), Sample(), SetImage(), and SetRightAscensionDeclination().

A pointer to the DistortionMap.

Definition at line 502 of file Camera.h.

Referenced by Camera(), DistortionMap(), RawFocalPlanetoImage(), SetDistortionMap(), SetImage(), SetRightAscensionDeclination(), and ~Camera().

double Isis::Camera::p_focalLength [private]

The focal length, in units of millimeters.

Definition at line 463 of file Camera.h.

Referenced by Camera(), DetectorResolution(), FocalLength(), and SetFocalLength().

A pointer to the FocalPlaneMap.

Definition at line 503 of file Camera.h.

Referenced by Camera(), FocalPlaneMap(), RawFocalPlanetoImage(), SetFocalPlaneMap(), SetImage(), SetRightAscensionDeclination(), and ~Camera().

The ideal geometric tile size to end with when projecting.

Definition at line 514 of file Camera.h.

Referenced by GetGeometricTilingHint(), and SetGeometricTilingHint().

The ideal geometric tile size to start with when projecting.

Definition at line 513 of file Camera.h.

Referenced by GetGeometricTilingHint(), and SetGeometricTilingHint().

A pointer to the GroundMap.

Definition at line 505 of file Camera.h.

Referenced by Camera(), GroundMap(), RawFocalPlanetoImage(), SetGround(), SetGroundMap(), SetImage(), SetUniversalGround(), and ~Camera().

Whether or no to ignore the Projection.

Definition at line 487 of file Camera.h.

Referenced by Camera(), IgnoreProjection(), LoadCache(), RawFocalPlanetoImage(), SetImage(), and SetRightAscensionDeclination().

int Isis::Camera::p_lines [private]

The number of lines in the image.

Definition at line 481 of file Camera.h.

Referenced by Camera(), GroundRangeResolution(), Lines(), RaDecRange(), and RaDecResolution().

double Isis::Camera::p_maxdec [private]

The maximum declination.

Definition at line 490 of file Camera.h.

Referenced by RaDecRange().

double Isis::Camera::p_maxlat [private]

The maximum latitude.

Definition at line 468 of file Camera.h.

Referenced by BasicMapping(), GroundRange(), and GroundRangeResolution().

double Isis::Camera::p_maxlon [private]

The maximum longitude.

Definition at line 470 of file Camera.h.

Referenced by BasicMapping(), GroundRange(), and GroundRangeResolution().

double Isis::Camera::p_maxlon180 [private]

The maximum longitude in the 180 domain.

Definition at line 474 of file Camera.h.

Referenced by GroundRange(), and GroundRangeResolution().

double Isis::Camera::p_maxra [private]

The maxumum right ascension.

Definition at line 492 of file Camera.h.

Referenced by RaDecRange().

double Isis::Camera::p_maxra180 [private]

The maximum right ascension in the 180 domain.

Definition at line 494 of file Camera.h.

Referenced by RaDecRange().

double Isis::Camera::p_maxres [private]

The maximum resolution.

Definition at line 472 of file Camera.h.

Referenced by GroundRangeResolution(), and LowestImageResolution().

double Isis::Camera::p_mindec [private]

The minimum declination.

Definition at line 489 of file Camera.h.

Referenced by RaDecRange().

double Isis::Camera::p_minlat [private]

The minimum latitude.

Definition at line 467 of file Camera.h.

Referenced by BasicMapping(), GroundRange(), and GroundRangeResolution().

double Isis::Camera::p_minlon [private]

The minimum longitude.

Definition at line 469 of file Camera.h.

Referenced by BasicMapping(), GroundRange(), and GroundRangeResolution().

double Isis::Camera::p_minlon180 [private]

The minimum longitude in the 180 domain.

Definition at line 473 of file Camera.h.

Referenced by GroundRange(), and GroundRangeResolution().

double Isis::Camera::p_minra [private]

The minimum right ascension.

Definition at line 491 of file Camera.h.

Referenced by RaDecRange().

double Isis::Camera::p_minra180 [private]

The minimum right ascension in the 180 domain.

Definition at line 493 of file Camera.h.

Referenced by RaDecRange().

double Isis::Camera::p_minres [private]

The minimum resolution.

Definition at line 471 of file Camera.h.

Referenced by BasicMapping(), GroundRangeResolution(), and HighestImageResolution().

double Isis::Camera::p_pixelPitch [private]

The pixel pitch, in millimeters per pixel.

Definition at line 464 of file Camera.h.

Referenced by Camera(), DetectorResolution(), PixelPitch(), and SetPixelPitch().

!< Flag showing if the ground range was computed successfully.

Flag showing if Sample/Line has been computed

Definition at line 478 of file Camera.h.

Referenced by Camera(), ComputeAzimuth(), GetLocalNormal(), GroundRangeResolution(), RaDecRange(), RaDecResolution(), RawFocalPlanetoImage(), SetImage(), and SetRightAscensionDeclination().

The reference band.

Definition at line 484 of file Camera.h.

Referenced by Camera(), HasReferenceBand(), and ReferenceBand().

int Isis::Camera::p_samples [private]

The number of samples in the image.

Definition at line 480 of file Camera.h.

Referenced by Camera(), GroundRangeResolution(), RaDecRange(), RaDecResolution(), and Samples().

A pointer to the SkyMap.

Definition at line 506 of file Camera.h.

Referenced by Camera(), SetRightAscensionDeclination(), SetSkyMap(), SkyMap(), and ~Camera().


The documentation for this class was generated from the following files: