USGS

Isis 3.0 Object Programmers' Reference

Home

Isis::Camera Class Reference

#include <Camera.h>

Inheritance diagram for Isis::Camera:

Inheritance graph
[legend]
Collaboration diagram for Isis::Camera:
[legend]
List of all members.

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

Definition at line 120 of file Camera.h.

Public Types

 Framing
 PushFrame
 LineScan
 Radar
 Point
enum  CameraType {
  Framing, PushFrame, LineScan, Radar,
  Point
}

Public Member Functions

 Camera (Isis::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 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 SetRightAscensionDeclination (const double ra, const double dec)
 Sets the right ascension declination.
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, Isis::Pvl &pvl)
 Computes the Ground Range.
bool IntersectsLongitudeDomain (Isis::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 (Isis::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 (int cacheSize=0)
 This loads the spice cache big enough for this image.
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.
void SetEphemerisTime (const double time)
 By setting the ephemeris 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 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.
double UniversalLongitude () const
 Returns a positive east, 0-360 domain longitude.
double LocalRadius () const
 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).
double SlantDistance () const
 Return the distance between the spacecraft and surface point in km.
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.
double DemRadius (double lat, double lon)
 Grab the radius from the dem if we have one.
bool HasElevationModel ()
void IgnoreElevationModel (bool ignore)
 This allows you to ignore the elevation model.
void InstrumentPosition (double p[3]) const
 Returns the spacecraft position in body-fixed frame km units.
SpicePositionInstrumentPosition () const
void SunPosition (double p[3]) const
 Returns the sun position in either body-fixed or J2000 reference frame and km units.
SpicePositionSunPosition () const
double TargetCenterDistance () const
 Calculates and returns the distance from the spacecraft to the target center.
double SolarLongitude ()
 Returns the solar longitude.
void InstrumentVelocity (double v[3]) const
 Returns the spacecraft velocity in body-fixed frame km/sec units.
double EphemerisTime () const
 Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions.
void Radii (double r[3]) const
 Returns the radii of the body in km.
void CreateCache (const double startTime, const double endTime, const int size, double tol)
 This method creates an internal cache of spacecraft and sun positions over a specified time range.
void CreateCache (const double time, double tol)
 See previous CreateCache method.
double CacheStartTime () const
double CacheEndTime () const
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).
std::string Target () const
 Returns the string name of the target.
bool IsSky () const
 Return if our target is the sky.
SpiceRotationBodyRotation () const
SpiceRotationInstrumentRotation () const
bool HasKernels (Isis::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

Static Public Member Functions

static double Distance (double lat1, double lon1, double lat2, double lon2, double radius)
 Computes and returns the distance between two latitude/longitude points in meters, given the radius of the sphere.
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.
static SpiceDouble GetDouble (const std::string &key, int index=0)
 This returns a value from the NAIF text pool.
static SpiceInt GetInteger (const std::string &key, int index=0)
 This returns a value from the NAIF text pool.
static std::string GetString (const std::string &key, int index=0)
 This returns a value from the NAIF text pool.

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.

Protected Attributes

bool p_hasIntersection
 This indicates if the surface point or look direction is valid.
SpiceDouble p_uB [3]
 This contains the sun position (u) in the bodyfixed reference frame (B).
SpiceDouble p_BJ [3][3]
 This contains the transformation matrix from J2000 (J) to Body fixed (B).
SpiceDouble p_radii [3]
 The radii of the target in kilometers.

Private Member Functions

void GroundRangeResolution ()
 Computes the ground range and min/max resolution.
double ComputeAzimuth (const double radius, const double lat, const double lon)
 Computes the Azimuth value at specified lat/lon with the entered radius.
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
 Flag showing if the ground range was computed successfully.
bool p_pointComputed
 Flag showing if Sample/Line has been computed.
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
 Flag showing if the raDec range has been computed successfully.
Isis::AlphaCubep_alphaCube
 A pointer to the AlphaCube.
double p_childSample
double p_childLine
int p_childBand
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


Constructor & Destructor Documentation

Isis::Camera::Camera ( Isis::Pvl lab  ) 

Constructs the Camera object.

Parameters:
lab Pvl label used to create the Camera object

Definition at line 43 of file Camera.cpp.

References Isis::ProjectionFactory::CreateFromCube(), Isis::PvlObject::FindObject(), Isis::PvlContainer::HasKeyword(), p_alphaCube, p_bands, p_childBand, p_detectorMap, p_distortionMap, p_focalLength, p_focalPlaneMap, p_groundMap, p_groundRangeComputed, p_ignoreProjection, p_lines, p_pixelPitch, p_pointComputed, p_projection, p_raDecRangeComputed, p_referenceBand, p_samples, p_skyMap, and SetGeometricTilingHint().

Referenced by Isis::BundleAdjust::ApplyHeldList(), Isis::ControlPoint::ComputeApriori(), and Isis::ControlPoint::ComputeErrors().

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

Destroys the Camera Object.

Definition at line 90 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 (  )  [inline]

Returns the current band.

Returns:
int Band

Definition at line 185 of file Camera.h.

References p_childBand.

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

int Isis::Camera::Bands (  )  const [inline]

Returns the number of bands in the image.

Returns:
int Number of Bands

Definition at line 248 of file Camera.h.

References p_bands.

Referenced by Isis::ProjectionFactory::CreateForCube(), and LoadCache().

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

Writes the basic mapping group to the specified Pvl.

Parameters:
pvl Pvl to write mapping group to

Definition at line 661 of file Camera.cpp.

References GroundRangeResolution(), p_maxlat, p_maxlon, p_minlat, p_minlon, p_minres, Isis::Spice::p_radii, pvl(), and Isis::Spice::Target().

Referenced by Isis::ImagePolygon::Create().

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

Computes the Azimuth value at specified lat/lon with the entered radius.

Parameters:
radius The Radius
lat The Latitude
lon The Longitude
Returns:
double Azimuth value
Todo:
Write PushState and PopState method to ensure the internals of the class are set based on SetImage or SetGround

Definition at line 1002 of file Camera.cpp.

References Isis::NaifStatus::CheckErrors(), Isis::Sensor::Coordinate(), Isis::Sensor::HasSurfaceIntersection(), Line(), Isis::Sensor::LocalRadius(), p_pointComputed, Isis::PI(), PixelResolution(), Sample(), SetImage(), and SetUniversalGround().

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

void Isis::Sensor::Coordinate ( double  p[3]  )  const [inherited]

Returns the x,y,z of the surface intersection in BodyFixed km.

Parameters:
p[] The coordinate of the surface intersection

Definition at line 245 of file Sensor.cpp.

References Isis::Sensor::p_pB.

Referenced by ComputeAzimuth(), DetectorResolution(), Isis::Sensor::EmissionAngle(), Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::CameraPointInfo::GetPointInfo(), OffNadirAngle(), Isis::Sensor::PhaseAngle(), Isis::Sensor::SetGroundLocal(), Isis::Sensor::SetLookDirection(), Isis::Sensor::SlantDistance(), and Qisis::AdvancedTrackTool::updateRow().

void Isis::Spice::CreateCache ( const double  time,
double  tol 
) [inherited]

See previous CreateCache method.

This method simply invokes that one with the same start and end time and a cache size of one.

Parameters:
time Ephemeris time to cache

Definition at line 383 of file Spice.cpp.

References Isis::Spice::CreateCache().

void Isis::Spice::CreateCache ( const double  startTime,
const double  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 SetEphemerisTime which are not directly loaded in the cache will be interpolated.

Parameters:
startTime Starting ephemeris time to cache
endTime Ending ephemeris time to cache
size Size of the cache.
Exceptions:
Isis::iException::Programmer 

Definition at line 297 of file Spice.cpp.

References _FILEINFO_, Isis::NaifStatus::CheckErrors(), Isis::Spice::ComputeSolarLongitude(), Isis::SpicePosition::IsCached(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::Memcache2HermiteCache(), Isis::iException::Message(), Isis::Spice::p_bodyRotation, Isis::Spice::p_cacheSize, Isis::Spice::p_endTime, Isis::Spice::p_endTimePadding, Isis::Spice::p_et, Isis::Spice::p_instrumentPosition, Isis::Spice::p_instrumentRotation, Isis::Spice::p_kernels, Isis::Spice::p_startTime, Isis::Spice::p_startTimePadding, and Isis::Spice::p_sunPosition.

Referenced by Isis::Spice::CreateCache(), LoadCache(), Isis::Lro::MiniRF::MiniRF(), and Isis::Cassini::VimsCamera::VimsCamera().

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

Returns the declination angle (sky latitude).

Definition at line 465 of file Sensor.cpp.

References Isis::Sensor::computeRaDec(), Isis::Sensor::p_dec, and Isis::Sensor::p_newLookB.

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

double Isis::Sensor::DemRadius ( double  lat,
double  lon 
) [inherited]

Grab the radius from the dem if we have one.

Definition at line 588 of file Sensor.cpp.

References Isis::Buffer::DoubleBuffer(), Isis::Interpolator::Interpolate(), Isis::Projection::IsGood(), Isis::IsSpecial(), Isis::Null, Isis::Sensor::p_demCube, Isis::Sensor::p_demProj, Isis::Sensor::p_hasElevationModel, Isis::Sensor::p_interp, Isis::Sensor::p_portal, radius, Isis::Cube::Read(), Isis::Portal::SetPosition(), Isis::Projection::SetUniversalGround(), Isis::Projection::WorldX(), and Isis::Projection::WorldY().

Referenced by Isis::RadarGroundMap::GetRadius(), Isis::Sensor::SetLookDirection(), Isis::Sensor::SetUniversalGround(), and Isis::Sensor::SpacecraftAltitude().

CameraDetectorMap* Isis::Camera::DetectorMap (  )  [inline]

Returns a pointer to the CameraDetectorMap object.

Returns:
CameraDetectorMap*

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

Definition at line 287 of file Camera.h.

References p_detectorMap.

Referenced by Isis::PushFrameCamera::DetectorMap(), Isis::LineScanCamera::DetectorMap(), Isis::PushFrameCameraGroundMap::FindDistance(), Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::PushFrameCameraGroundMap::FindSpacecraftDistance(), Isis::LineScanCameraGroundMap::FindSpacecraftDistance(), Isis::PushFrameCameraGroundMap::SetGround(), and Isis::LineScanCameraSkyMap::SetSky().

double Isis::Camera::DetectorResolution (  ) 

Returns the detector resolution at the current position.

Returns:
double The detector resolution

Definition at line 305 of file Camera.cpp.

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

Referenced by LineResolution(), and SampleResolution().

double Isis::Camera::Distance ( double  lat1,
double  lon1,
double  lat2,
double  lon2,
double  radius 
) [static]

Computes and returns the distance between two latitude/longitude points in meters, given the radius of the sphere.

The method uses the haversine formula to compute the distance.

Parameters:
lat1 The first latitude value
lon1 The first longitude value
lat2 The second latitude value
lon2 The second longitude value
radius The radius of the sphere (in meters)
Returns:
double The distance between the two points

Definition at line 1174 of file Camera.cpp.

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

Referenced by Qisis::MeasureTool::updateDist().

CameraDistortionMap* Isis::Camera::DistortionMap (  )  [inline]

Returns a pointer to the CameraDistortionMap object.

Returns:
CameraDistortionMap*

Definition at line 273 of file Camera.h.

References p_distortionMap.

Referenced by Isis::BundleAdjust::AddPartials(), Isis::ControlPoint::ComputeApriori(), Isis::PushFrameCameraGroundMap::FindDistance(), Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::Odyssey::ThemisIrCamera::SetBand(), Isis::Mro::MarciCamera::SetBand(), and Isis::LineScanCameraSkyMap::SetSky().

double Isis::Sensor::EmissionAngle (  )  const [inherited]

Returns the emission angle in degrees.

This does not use the surface model.

Returns:
double

Definition at line 277 of file Sensor.cpp.

References Isis::Spice::BodyRotation(), Isis::Sensor::Coordinate(), dist, Isis::Spice::InstrumentPosition(), Isis::Sensor::p_pB, and Isis::PI().

Referenced by Isis::ImagePolygon::FixPolePoly(), Isis::CameraPointInfo::GetPointInfo(), OffNadirAngle(), Isis::Sensor::SetGroundLocal(), Isis::ImagePolygon::SetImage(), and Qisis::AdvancedTrackTool::updateRow().

double Isis::Spice::EphemerisTime (  )  const [inline, inherited]

Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions.

Returns:
double

Definition at line 175 of file Spice.h.

References Isis::Spice::p_et.

Referenced by Isis::RadarSlantRangeMap::ComputeA(), Isis::ControlPoint::ComputeApriori(), Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::CameraPointInfo::GetPointInfo(), LoadCache(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::LineScanCameraDetectorMap::SetDetector(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), and Qisis::AdvancedTrackTool::updateRow().

double Isis::Camera::FocalLength (  )  const [inline]

Returns the focal length.

Returns:
double Focal Length

Definition at line 220 of file Camera.h.

References p_focalLength.

Referenced by Isis::PushFrameCameraGroundMap::FindDistance(), Isis::LineScanCameraGroundMap::FindFocalPlane(), LoadCache(), Isis::CameraGroundMap::LookCtoFocalPlaneXY(), Isis::Lro::MiniRF::MiniRF(), Isis::Mgs::MocWideAngleDistortionMap::SetFocalPlane(), Isis::LineScanCameraSkyMap::SetSky(), Isis::CameraSkyMap::SetSky(), Isis::Mgs::MocWideAngleDistortionMap::SetUndistortedFocalPlane(), and Isis::Cassini::VimsCamera::VimsCamera().

CameraFocalPlaneMap* Isis::Camera::FocalPlaneMap (  )  [inline]

Returns a pointer to the CameraFocalPlaneMap object.

Returns:
CameraFocalPlaneMap*

Definition at line 280 of file Camera.h.

References p_focalPlaneMap.

Referenced by Isis::PushFrameCameraGroundMap::FindDistance(), Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::Mex::HrscCamera::HrscCamera(), Isis::Lro::LroWideAngleCamera::LroWideAngleCamera(), Isis::Mro::MarciCamera::MarciCamera(), Isis::Odyssey::ThemisIrCamera::SetBand(), Isis::Lo::LoMediumDistortionMap::SetDistortion(), Isis::Lo::LoMediumDistortionMap::SetFocalPlane(), Isis::ReseauDistortionMap::SetFocalPlane(), Isis::VariableLineScanCameraDetectorMap::SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), Isis::LineScanCameraSkyMap::SetSky(), Isis::Lo::LoMediumDistortionMap::SetUndistortedFocalPlane(), and Isis::ReseauDistortionMap::SetUndistortedFocalPlane().

virtual CameraType Isis::Camera::GetCameraType (  )  const [pure virtual]

Returns the type of camera that was created.

Returns:
CameraType

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

SpiceDouble Isis::Spice::GetDouble ( const std::string &  key,
int  index = 0 
) [static, 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:
SpiceDouble
Exceptions:
Isis::iException::Io 

Definition at line 581 of file Spice.cpp.

References _FILEINFO_, Isis::NaifStatus::CheckErrors(), Isis::iException::Message(), and value.

Referenced by Isis::Mro::CTXCamera::CTXCamera(), Isis::Mex::HrscCamera::HrscCamera(), Isis::CameraFocalPlaneMap::Init(), Isis::Lro::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::Mro::MarciCamera::MarciCamera(), Isis::MarciDistortionMap::MarciDistortionMap(), Isis::Messenger::MdisCamera::MdisCamera(), Isis::TaylorCameraDistortionMap::SetDistortion(), Isis::Lro::LroNarrowAngleDistortionMap::SetDistortion(), SetFocalLength(), SetPixelPitch(), and Galileo::SsiCamera::SsiCamera().

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 1398 of file Camera.cpp.

References p_geometricTilingEndSize, and p_geometricTilingStartSize.

SpiceInt Isis::Spice::GetInteger ( const std::string &  key,
int  index = 0 
) [static, 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
Exceptions:
Isis::iException::Io 

Definition at line 553 of file Spice.cpp.

References _FILEINFO_, Isis::NaifStatus::CheckErrors(), Isis::iException::Message(), and value.

string Isis::Spice::GetString ( const std::string &  key,
int  index = 0 
) [static, 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
Exceptions:
Isis::iException::Io 

Definition at line 610 of file Spice.cpp.

References _FILEINFO_, Isis::NaifStatus::CheckErrors(), and Isis::iException::Message().

Referenced by Isis::Messenger::MdisCamera::MdisCamera().

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 1120 of file Camera.cpp.

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

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

CameraGroundMap* Isis::Camera::GroundMap (  )  [inline]

Returns a pointer to the CameraGroundMap object.

Returns:
CameraCGroundMap*

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

Definition at line 294 of file Camera.h.

References p_groundMap.

Referenced by Isis::PushFrameCamera::GroundMap(), Isis::LineScanCamera::GroundMap(), and Isis::Cassini::VimsCamera::VimsCamera().

bool Isis::Camera::GroundRange ( double &  minlat,
double &  maxlat,
double &  minlon,
double &  maxlon,
Isis::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 570 of file Camera.cpp.

References a, b, GroundRangeResolution(), Isis::PvlContainer::HasKeyword(), p_maxlat, p_maxlon, p_maxlon180, p_minlat, p_minlon, p_minlon180, Isis::PI(), pvl(), Isis::Spice::Radii(), and Isis::PvlObject::Traverse.

Referenced by IntersectsLongitudeDomain().

void Isis::Camera::GroundRangeResolution (  )  [private]

Computes the ground range and min/max resolution.

Definition at line 374 of file Camera.cpp.

References _FILEINFO_, band, Band(), IsBandIndependent(), line, Line(), Isis::iException::Message(), p_bands, p_groundRangeComputed, p_lines, p_maxlat, p_maxlon, p_maxlon180, p_maxres, p_minlat, p_minlon, p_minlon180, p_minres, p_pointComputed, p_samples, PixelResolution(), Sample(), SetBand(), SetImage(), SetUniversalGround(), Isis::Spice::SubSpacecraftPoint(), Isis::Sensor::UniversalLatitude(), and Isis::Sensor::UniversalLongitude().

Referenced by BasicMapping(), GroundRange(), HighestImageResolution(), and LowestImageResolution().

bool Isis::Spice::HasKernels ( Isis::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 789 of file Spice.cpp.

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

bool Isis::Camera::HasProjection (  )  [inline]

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 141 of file Camera.h.

References p_projection.

Referenced by Isis::ImagePolygon::Create(), and Qisis::CubeViewport::CubeViewport().

bool Isis::Camera::HasReferenceBand (  )  const [inline]

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 164 of file Camera.h.

References p_referenceBand.

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

bool Isis::Sensor::HasSurfaceIntersection (  )  const [inline, inherited]

Returns if the last call to either SetLookDirection or SetUniversalGround had a valid intersection with the target.

If so then other methods such as Coordinate, UniversalLatitude, UniversalLongitude, etc can be used with confidence.

Definition at line 142 of file Sensor.h.

References Isis::Sensor::p_hasIntersection.

Referenced by Isis::CameraPointInfo::CheckConditions(), ComputeAzimuth(), DetectorResolution(), Isis::Chip::Load(), Isis::Cassini::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 366 of file Camera.cpp.

References GroundRangeResolution(), and p_minres.

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

This allows you to ignore the elevation model.

Parameters:
ignore True for no elevation model

Definition at line 105 of file Sensor.cpp.

References Isis::Sensor::p_demProj, and Isis::Sensor::p_hasElevationModel.

Referenced by Isis::ImagePolygon::Create().

void Isis::Camera::IgnoreProjection ( bool  ignore  )  [inline]

Set whether or not the camera should ignore the Projection.

Parameters:
ignore 

Definition at line 354 of file Camera.h.

References p_ignoreProjection.

Referenced by Isis::Cassini::VimsSkyMap::Init(), Isis::Cassini::VimsGroundMap::Init(), Isis::Cassini::VimsGroundMap::SetGround(), Isis::Cassini::VimsSkyMap::SetSky(), and Isis::Cassini::VimsCamera::VimsCamera().

double Isis::Sensor::IncidenceAngle (  )  const [inherited]

Returns the incidence angle in degrees.

This does not use the surface model.

Returns:
double

Definition at line 295 of file Sensor.cpp.

References dist, Isis::Sensor::p_pB, Isis::Spice::p_uB, and Isis::PI().

Referenced by Isis::ImagePolygon::FixPolePoly(), Isis::CameraPointInfo::GetPointInfo(), Isis::ImagePolygon::SetImage(), and Qisis::AdvancedTrackTool::updateRow().

bool Isis::Camera::InCube (  ) 

This returns true if the current Sample() or Line() value is outside of the cube (meaning the point must have been extrapolated).

Returns:
bool Point was extrapolated

Definition at line 1412 of file Camera.cpp.

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

Referenced by Isis::CameraPointInfo::CheckConditions(), and Isis::UniversalGroundMap::SetUniversalGround().

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

Returns the spacecraft position in body-fixed frame km units.

Parameters:
p[] Spacecraft position

Definition at line 420 of file Spice.cpp.

References _FILEINFO_, Isis::SpicePosition::Coordinate(), Isis::iException::Message(), Isis::Spice::p_bodyRotation, Isis::Spice::p_et, and Isis::Spice::p_instrumentPosition.

Referenced by Isis::BundleAdjust::AddPartials(), Isis::RadarGroundMap::ComputeXv(), Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::CameraPointInfo::GetPointInfo(), Isis::RadarGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetGround(), Isis::BundleAdjust::Solve(), Isis::BundleAdjust::SpVector(), Isis::BundleAdjust::Update(), and Qisis::AdvancedTrackTool::updateRow().

void Isis::Spice::InstrumentVelocity ( double  v[3]  )  const [inherited]

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

Parameters:
p[] Spacecraft velocity

Definition at line 438 of file Spice.cpp.

References _FILEINFO_, Isis::iException::Message(), Isis::Spice::p_bodyRotation, Isis::Spice::p_et, Isis::Spice::p_instrumentPosition, and Isis::SpicePosition::Velocity().

bool Isis::Camera::IntersectsLongitudeDomain ( Isis::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 549 of file Camera.cpp.

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

virtual bool Isis::Camera::IsBandIndependent (  )  [inline, 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::Lro::LroWideAngleCamera, Isis::Mro::MarciCamera, Isis::Odyssey::ThemisIrCamera, and Isis::Odyssey::ThemisVisCamera.

Definition at line 149 of file Camera.h.

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

bool Isis::Spice::IsSky (  )  const [inline, inherited]

Return if our target is the sky.

Definition at line 196 of file Spice.h.

References Isis::Spice::p_sky.

Referenced by LoadCache(), Isis::Sensor::Sensor(), Isis::Sensor::SetLookDirection(), and Isis::Sensor::SetUniversalGround().

double Isis::Camera::Line (  )  [inline]

Returns the current line number.

Returns:
double Line Number

Definition at line 192 of file Camera.h.

References p_childLine.

Referenced by ComputeAzimuth(), Isis::ProjectionFactory::CreateForCube(), Isis::CameraPointInfo::GetPointInfo(), GroundRangeResolution(), InCube(), Isis::UniversalGroundMap::Line(), Isis::Chip::Load(), RaDecRange(), and RaDecResolution().

double Isis::Camera::LineResolution (  ) 

Returns the line resolution at the current position.

Returns:
double The line resolution

Definition at line 334 of file Camera.cpp.

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

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

int Isis::Camera::Lines (  )  const [inline]

Returns the number of lines in the image.

Returns:
int Number of Lines

Definition at line 241 of file Camera.h.

References p_lines.

Referenced by Isis::ProjectionFactory::CreateForCube(), InCube(), Isis::RadarGroundMap::RadarGroundMap(), and Isis::LineScanCameraGroundMap::SetGround().

void Isis::Camera::LoadCache ( int  cacheSize = 0  ) 

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.

Parameters:
cacheSize The size of the spice cache. Should be >1 or not entered.

Definition at line 1269 of file Camera.cpp.

References _FILEINFO_, band, Bands(), Isis::AlphaCube::BetaLines(), Isis::AlphaCube::BetaSamples(), Isis::Spice::CreateCache(), Isis::Spice::EphemerisTime(), FocalLength(), Isis::Spice::IsSky(), Isis::iException::Message(), p_alphaCube, p_ignoreProjection, PixelPitch(), PixelResolution(), SetBand(), Isis::Sensor::SetEphemerisTime(), SetImage(), and Isis::Sensor::SpacecraftAltitude().

Referenced by Isis::Mro::CTXCamera::CTXCamera(), Clementine::HiresCamera::HiresCamera(), Isis::Mro::HiriseCamera::HiriseCamera(), Isis::Mex::HrscCamera::HrscCamera(), Isis::IdealCamera::IdealCamera(), Cassini::IssNACamera::IssNACamera(), Cassini::IssWACamera::IssWACamera(), Isis::Lo::LoHighCamera::LoHighCamera(), Isis::Lo::LoMediumCamera::LoMediumCamera(), Isis::Lro::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::Lro::LroWideAngleCamera::LroWideAngleCamera(), Clementine::LwirCamera::LwirCamera(), Isis::Mro::MarciCamera::MarciCamera(), Isis::Messenger::MdisCamera::MdisCamera(), Isis::Mgs::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::Mgs::MocWideAngleCamera::MocWideAngleCamera(), Clementine::NirCamera::NirCamera(), Galileo::SsiCamera::SsiCamera(), Isis::Odyssey::ThemisIrCamera::ThemisIrCamera(), Isis::Odyssey::ThemisVisCamera::ThemisVisCamera(), Clementine::UvvisCamera::UvvisCamera(), and Isis::VikingCamera::VikingCamera().

double Isis::Sensor::LocalRadius (  )  const [inline, inherited]

Returns the local radius at the intersection point.

This is either the radius on the ellipsoid, the radius from the surface model passed into the constructor, or the radius set with SetUniversalGround.

Definition at line 161 of file Sensor.h.

References Isis::Sensor::p_radius.

Referenced by Isis::BundleAdjust::ApplyHeldList(), Isis::ControlPoint::ComputeApriori(), ComputeAzimuth(), Isis::CameraPointInfo::GetPointInfo(), SpacecraftAzimuth(), SunAzimuth(), Qisis::MeasureTool::updateDist(), and Qisis::AdvancedTrackTool::updateRow().

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

Return the local solar time in hours.

Definition at line 516 of file Sensor.cpp.

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

Referenced by Isis::CameraPointInfo::GetPointInfo(), and Qisis::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 442 of file Sensor.cpp.

References Isis::Spice::BodyRotation(), Isis::Spice::InstrumentRotation(), and Isis::Sensor::p_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 356 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
Exceptions:
Isis::iException::Io 

Definition at line 497 of file Spice.cpp.

References _FILEINFO_, code, Isis::iException::Message(), and Isis::Spice::p_target.

Referenced by Isis::Spice::Spice().

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

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

Returns:
SpiceInt

Definition at line 524 of file Spice.cpp.

References Isis::Spice::p_ckCode.

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

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

Returns:
SpiceInt

Definition at line 533 of file Spice.cpp.

References Isis::Spice::p_ikCode.

Referenced by Isis::Mro::CTXCamera::CTXCamera(), Clementine::HiresCamera::HiresCamera(), Isis::Mro::HiriseCamera::HiriseCamera(), Isis::Mex::HrscCamera::HrscCamera(), Cassini::IssNACamera::IssNACamera(), Cassini::IssWACamera::IssWACamera(), Isis::Lo::LoHighCamera::LoHighCamera(), Isis::Lo::LoMediumCamera::LoMediumCamera(), Isis::Lro::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::Lro::LroWideAngleCamera::LroWideAngleCamera(), Clementine::LwirCamera::LwirCamera(), Isis::Mro::MarciCamera::MarciCamera(), Isis::Messenger::MdisCamera::MdisCamera(), Isis::Lro::MiniRF::MiniRF(), Isis::Mgs::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::Mgs::MocWideAngleCamera::MocWideAngleCamera(), Clementine::NirCamera::NirCamera(), SetFocalLength(), SetPixelPitch(), Galileo::SsiCamera::SsiCamera(), Isis::Odyssey::ThemisIrCamera::ThemisIrCamera(), Isis::Odyssey::ThemisVisCamera::ThemisVisCamera(), Clementine::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::Cassini::VimsCamera::VimsCamera().

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

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

Returns:
SpiceInt

Definition at line 515 of file Spice.cpp.

References Isis::Spice::p_spkCode.

Referenced by Isis::Mro::CTXCamera::CTXCamera(), Isis::Messenger::MdisCamera::MdisCamera(), Isis::Mgs::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::Mgs::MocWideAngleCamera::MocWideAngleCamera(), and Isis::Cassini::VimsCamera::VimsCamera().

double Isis::Camera::NorthAzimuth (  ) 

Returns the North Azimuth.

Returns:
double North Azimuth

Definition at line 958 of file Camera.cpp.

References ComputeAzimuth(), and Isis::Spice::p_radii.

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

double Isis::Camera::OffNadirAngle (  ) 

Return the off nadir angle in degrees.

Returns:
double Off Nadir Angle

Definition at line 1085 of file Camera.cpp.

References a, b, 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 [inline]

Returns the number of lines in the parent alphacube.

Returns:
int Number of Lines in parent alphacube

Definition at line 255 of file Camera.h.

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

Referenced by Isis::Cassini::VimsSkyMap::Init(), Isis::Cassini::VimsGroundMap::Init(), Isis::Lro::LroWideAngleCamera::LroWideAngleCamera(), Isis::Mro::MarciCamera::MarciCamera(), Isis::Lro::MiniRF::MiniRF(), Isis::Cassini::VimsSkyMap::SetFocalPlane(), Isis::Cassini::VimsGroundMap::SetFocalPlane(), Isis::Cassini::VimsGroundMap::SetGround(), Isis::Cassini::VimsSkyMap::SetSky(), and Isis::PushFrameCameraDetectorMap::TotalFramelets().

int Isis::Camera::ParentSamples (  )  const [inline]

Returns the number of samples in the parent alphacube.

Returns:
int Number of Samples in the parent alphacube

Definition at line 262 of file Camera.h.

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

Referenced by Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::LineScanCameraGroundMap::FindSpacecraftDistance(), Isis::Cassini::VimsSkyMap::Init(), Isis::Cassini::VimsGroundMap::Init(), Isis::Cassini::VimsSkyMap::SetFocalPlane(), Isis::Cassini::VimsGroundMap::SetFocalPlane(), Isis::Cassini::VimsGroundMap::SetGround(), and Isis::Cassini::VimsSkyMap::SetSky().

double Isis::Sensor::PhaseAngle (  )  const [inherited]

Returns the phase angle in degrees.

This does not use the surface model.

Returns:
double

Definition at line 256 of file Sensor.cpp.

References Isis::Spice::BodyRotation(), Isis::Sensor::Coordinate(), dist, Isis::Spice::InstrumentPosition(), Isis::Sensor::p_pB, Isis::Spice::p_uB, and Isis::PI().

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

double Isis::Camera::PixelPitch (  )  const [inline]

Returns the pixel pitch.

Returns:
double Pixel Pitch

Definition at line 227 of file Camera.h.

References p_pixelPitch.

Referenced by LoadCache(), Isis::Lro::MiniRF::MiniRF(), Isis::Mgs::MocWideAngleCamera::MocWideAngleCamera(), Isis::ReseauDistortionMap::ReseauDistortionMap(), Isis::MarciDistortionMap::SetFocalPlane(), Isis::MarciDistortionMap::SetUndistortedFocalPlane(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), Isis::BundleAdjust::Solve(), and Isis::Cassini::VimsCamera::VimsCamera().

double Isis::Camera::PixelResolution (  ) 

Returns the pixel resolution at the current position in m/pix.

Returns:
double The pixel resolution

Definition at line 343 of file Camera.cpp.

References LineResolution(), and SampleResolution().

Referenced by ComputeAzimuth(), GroundRangeResolution(), LoadCache(), Isis::Lro::MiniRF::MiniRF(), Isis::UniversalGroundMap::Resolution(), Resolution(), Qisis::MeasureTool::updateDist(), Qisis::AdvancedTrackTool::updateRow(), and Isis::Cassini::VimsCamera::VimsCamera().

bool Isis::Camera::RaDecRange ( double &  minra,
double &  maxra,
double &  mindec,
double &  maxdec 
)

Computes the RaDec range.

Parameters:
minra 
maxra 
mindec 
maxdec 
Returns:
bool Returns true if the range computation was successful and false if it was not

Definition at line 762 of file Camera.cpp.

References _FILEINFO_, band, Band(), Isis::Sensor::Declination(), IsBandIndependent(), Isis::Projection::IsSky(), line, Line(), Isis::iException::Message(), p_bands, p_lines, p_maxdec, p_maxra, p_maxra180, p_mindec, p_minra, p_minra180, p_pointComputed, p_projection, p_raDecRangeComputed, p_samples, 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 909 of file Camera.cpp.

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

void Isis::Spice::Radii ( double  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 484 of file Spice.cpp.

References Isis::Spice::p_radii.

Referenced by Isis::CameraPointInfo::GetPointInfo(), Isis::RadarGroundMap::GetRadius(), GroundRange(), Isis::Lro::MiniRF::MiniRF(), Isis::RadarGroundMap::RadarGroundMap(), Isis::RadarGroundMap::SetFocalPlane(), Isis::Cassini::VimsGroundMap::SetGround(), and Qisis::AdvancedTrackTool::updateRow().

bool Isis::Camera::RawFocalPlanetoImage (  )  [private]

Computes the image coordinate for the current universal ground point.

Returns:
bool Returns true if image coordinate was computed successfully and false if it was not

Definition at line 228 of file Camera.cpp.

References Isis::AlphaCube::BetaLine(), Isis::AlphaCube::BetaSample(), Isis::Sensor::Declination(), Isis::CameraFocalPlaneMap::DetectorLine(), Isis::CameraFocalPlaneMap::DetectorSample(), Isis::CameraDistortionMap::FocalPlaneX(), Isis::CameraGroundMap::FocalPlaneX(), Isis::CameraDistortionMap::FocalPlaneY(), Isis::CameraGroundMap::FocalPlaneY(), Isis::Projection::IsSky(), p_alphaCube, p_childLine, p_childSample, p_detectorMap, p_distortionMap, p_focalPlaneMap, p_groundMap, Isis::Sensor::p_hasIntersection, p_ignoreProjection, p_pointComputed, p_projection, Isis::CameraDetectorMap::ParentLine(), Isis::CameraDetectorMap::ParentSample(), Isis::Sensor::RightAscension(), Isis::CameraDetectorMap::SetDetector(), Isis::CameraFocalPlaneMap::SetFocalPlane(), Isis::Projection::SetGround(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), Isis::Projection::SetUniversalGround(), Isis::Sensor::UniversalLatitude(), Isis::Sensor::UniversalLongitude(), Isis::Projection::WorldX(), and Isis::Projection::WorldY().

Referenced by SetUniversalGround().

int Isis::Camera::ReferenceBand (  )  const [inline]

Returns the reference band.

Returns:
int Reference Band

Definition at line 156 of file Camera.h.

References p_referenceBand.

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

virtual double Isis::Camera::Resolution (  )  [inline, virtual]

Returns the resolution of the camera.

Returns:
double pixel resolution

Reimplemented from Isis::Sensor.

Definition at line 208 of file Camera.h.

References PixelResolution().

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

Returns the right ascension angle (sky longitude).

Definition at line 457 of file Sensor.cpp.

References Isis::Sensor::computeRaDec(), Isis::Sensor::p_newLookB, and Isis::Sensor::p_ra.

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

double Isis::Camera::Sample (  )  [inline]

Returns the current sample number.

Returns:
double Sample Number

Definition at line 178 of file Camera.h.

References p_childSample.

Referenced by ComputeAzimuth(), Isis::ProjectionFactory::CreateForCube(), Isis::CameraPointInfo::GetPointInfo(), GroundRangeResolution(), InCube(), Isis::Chip::Load(), RaDecRange(), RaDecResolution(), and Isis::UniversalGroundMap::Sample().

double Isis::Camera::SampleResolution (  ) 

Returns the sample resolution at the current position.

Returns:
double The sample resolution

Definition at line 325 of file Camera.cpp.

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

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

int Isis::Camera::Samples (  )  const [inline]

Returns the number of samples in the image.

Returns:
int Number of Samples

Definition at line 234 of file Camera.h.

References p_samples.

Referenced by Isis::ProjectionFactory::CreateForCube(), InCube(), Isis::RadarSlantRangeMap::RadarSlantRangeMap(), and Isis::Mgs::MocWideAngleDetectorMap::SetParent().

virtual void Isis::Camera::SetBand ( const int  band  )  [inline, virtual]

Virtual method that sets the band number.

Parameters:
band Band Number

Reimplemented in Isis::Lro::LroWideAngleCamera, Isis::Mro::MarciCamera, Isis::Odyssey::ThemisIrCamera, and Isis::Odyssey::ThemisVisCamera.

Definition at line 171 of file Camera.h.

References p_childBand.

Referenced by Isis::ProjectionFactory::CreateForCube(), GroundRangeResolution(), LoadCache(), RaDecRange(), RaDecResolution(), Isis::Odyssey::ThemisVisCamera::SetBand(), Isis::Mro::MarciCamera::SetBand(), Isis::Lro::LroWideAngleCamera::SetBand(), and Isis::UniversalGroundMap::SetBand().

void Isis::Camera::SetDetectorMap ( CameraDetectorMap map  ) 

Sets the Detector Map.

Parameters:
*map Pointer to a CameraDetectorMap object

Definition at line 1226 of file Camera.cpp.

References p_detectorMap.

Referenced by Isis::CameraDetectorMap::CameraDetectorMap().

void Isis::Camera::SetDistortionMap ( CameraDistortionMap map  ) 

Sets the Distortion Map.

Parameters:
*map Pointer to a CameraDistortionMap object

Definition at line 1198 of file Camera.cpp.

References p_distortionMap.

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

void Isis::Sensor::SetEphemerisTime ( const double  time  )  [inherited]

By setting the ephemeris 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 125 of file Sensor.cpp.

References Isis::Sensor::p_hasIntersection, and Isis::Spice::SetEphemerisTime().

Referenced by Clementine::HiresCamera::HiresCamera(), Isis::IdealCamera::IdealCamera(), Isis::Cassini::VimsSkyMap::Init(), Isis::Cassini::VimsGroundMap::Init(), Cassini::IssNACamera::IssNACamera(), Cassini::IssWACamera::IssWACamera(), LoadCache(), Isis::Lo::LoHighCamera::LoHighCamera(), Isis::Lo::LoMediumCamera::LoMediumCamera(), Isis::Lro::LroNarrowAngleCamera::LroNarrowAngleCamera(), Clementine::LwirCamera::LwirCamera(), Isis::Messenger::MdisCamera::MdisCamera(), Isis::Lro::MiniRF::MiniRF(), Clementine::NirCamera::NirCamera(), Isis::Odyssey::ThemisVisCamera::SetBand(), Isis::Cassini::VimsSkyMap::SetFocalPlane(), Isis::Cassini::VimsGroundMap::SetFocalPlane(), Isis::PushFrameCameraDetectorMap::SetFramelet(), Isis::VariableLineScanCameraDetectorMap::SetParent(), Isis::RadarPulseMap::SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), Galileo::SsiCamera::SsiCamera(), Clementine::UvvisCamera::UvvisCamera(), and Isis::VikingCamera::VikingCamera().

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

Reads the focal length from the instrument kernel.

Definition at line 682 of file Camera.cpp.

References code, Isis::Spice::GetDouble(), and Isis::Spice::NaifIkCode().

Referenced by Isis::Mro::CTXCamera::CTXCamera(), Clementine::HiresCamera::HiresCamera(), Isis::Mro::HiriseCamera::HiriseCamera(), Isis::Mex::HrscCamera::HrscCamera(), Isis::IdealCamera::IdealCamera(), Cassini::IssNACamera::IssNACamera(), Cassini::IssWACamera::IssWACamera(), Isis::Lo::LoHighCamera::LoHighCamera(), Isis::Lo::LoMediumCamera::LoMediumCamera(), Isis::Lro::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::Lro::LroWideAngleCamera::LroWideAngleCamera(), Clementine::LwirCamera::LwirCamera(), Isis::Mro::MarciCamera::MarciCamera(), Isis::Messenger::MdisCamera::MdisCamera(), Isis::Lro::MiniRF::MiniRF(), Isis::Mgs::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::Mgs::MocWideAngleCamera::MocWideAngleCamera(), Clementine::NirCamera::NirCamera(), Galileo::SsiCamera::SsiCamera(), Isis::Odyssey::ThemisIrCamera::ThemisIrCamera(), Isis::Odyssey::ThemisVisCamera::ThemisVisCamera(), Clementine::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::Cassini::VimsCamera::VimsCamera().

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

Sets the focal length.

Parameters:
v Focal Length

Definition at line 384 of file Camera.h.

References p_focalLength.

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

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

Sets the Focal Plane Map.

Parameters:
*map Pointer to a CameraFocalPlaneMap object

Definition at line 1212 of file Camera.cpp.

References p_focalPlaneMap.

Referenced by Isis::CameraFocalPlaneMap::Init().

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 1348 of file Camera.cpp.

References _FILEINFO_, Isis::iException::Message(), p_geometricTilingEndSize, and p_geometricTilingStartSize.

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

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

Sets the Ground Map.

Parameters:
*map Pointer to a CameraGroundMap object

Definition at line 1240 of file Camera.cpp.

References p_groundMap.

Referenced by Isis::CameraGroundMap::CameraGroundMap().

bool Isis::Camera::SetImage ( const double  sample,
const double  line 
)

Sets the sample/line values of the 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 137 of file Camera.cpp.

References Isis::AlphaCube::AlphaLine(), Isis::AlphaCube::AlphaSample(), Isis::CameraDetectorMap::DetectorLine(), Isis::CameraDetectorMap::DetectorSample(), Isis::CameraFocalPlaneMap::FocalPlaneX(), Isis::CameraFocalPlaneMap::FocalPlaneY(), Isis::Sensor::HasSurfaceIntersection(), Isis::Projection::IsSky(), Isis::Projection::Longitude(), p_alphaCube, p_childLine, p_childSample, p_detectorMap, p_distortionMap, p_focalPlaneMap, p_groundMap, Isis::Sensor::p_hasIntersection, p_ignoreProjection, p_pointComputed, p_projection, Isis::CameraFocalPlaneMap::SetDetector(), Isis::CameraGroundMap::SetFocalPlane(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::CameraDetectorMap::SetParent(), SetRightAscensionDeclination(), SetUniversalGround(), Isis::Projection::SetWorld(), 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::BundleAdjust::ApplyHeldList(), Isis::ControlPoint::ComputeApriori(), ComputeAzimuth(), Isis::ControlPoint::ComputeErrors(), Isis::ProjectionFactory::CreateForCube(), GroundRangeResolution(), Isis::Cassini::VimsSkyMap::Init(), Isis::Cassini::VimsGroundMap::Init(), Isis::Chip::Load(), LoadCache(), RaDecRange(), RaDecResolution(), Isis::CameraPointInfo::SetCenter(), Isis::Cassini::VimsGroundMap::SetGround(), Isis::UniversalGroundMap::SetImage(), Isis::CameraPointInfo::SetImage(), Isis::CameraPointInfo::SetLine(), Isis::CameraPointInfo::SetSample(), Isis::Cassini::VimsSkyMap::SetSky(), Qisis::MeasureTool::updateDist(), Qisis::TrackTool::updateLabels(), Qisis::AdvancedTrackTool::updateRow(), and Isis::Cassini::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

Definition at line 141 of file Sensor.cpp.

References a, b, Isis::Spice::BodyRotation(), c, Isis::Sensor::Coordinate(), Isis::Sensor::DemRadius(), dist, Isis::Spice::InstrumentPosition(), Isis::Spice::InstrumentRotation(), Isis::Spice::IsSky(), Isis::IsSpecial(), Isis::Sensor::p_hasElevationModel, Isis::Sensor::p_hasIntersection, Isis::Sensor::p_latitude, Isis::Sensor::p_longitude, Isis::Sensor::p_lookB, Isis::Sensor::p_newLookB, Isis::Sensor::p_pB, Isis::Spice::p_radii, Isis::Sensor::p_radius, Isis::PI(), radius, Isis::Sensor::Resolution(), and tolerance.

Referenced by Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::Cassini::VimsSkyMap::SetFocalPlane(), Isis::Cassini::VimsGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetFocalPlane(), Isis::CameraSkyMap::SetFocalPlane(), Isis::CameraGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetGround(), and Isis::Sensor::SetRightAscensionDeclination().

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

Reads the Pixel Pitch from the instrument kernel.

Definition at line 689 of file Camera.cpp.

References code, Isis::Spice::GetDouble(), and Isis::Spice::NaifIkCode().

Referenced by Isis::Mro::CTXCamera::CTXCamera(), Clementine::HiresCamera::HiresCamera(), Isis::Mro::HiriseCamera::HiriseCamera(), Isis::Mex::HrscCamera::HrscCamera(), Isis::IdealCamera::IdealCamera(), Cassini::IssNACamera::IssNACamera(), Cassini::IssWACamera::IssWACamera(), Isis::Lo::LoHighCamera::LoHighCamera(), Isis::Lo::LoMediumCamera::LoMediumCamera(), Isis::Lro::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::Lro::LroWideAngleCamera::LroWideAngleCamera(), Clementine::LwirCamera::LwirCamera(), Isis::Mro::MarciCamera::MarciCamera(), Isis::Messenger::MdisCamera::MdisCamera(), Isis::Lro::MiniRF::MiniRF(), Isis::Mgs::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::Mgs::MocWideAngleCamera::MocWideAngleCamera(), Clementine::NirCamera::NirCamera(), Galileo::SsiCamera::SsiCamera(), Isis::Odyssey::ThemisIrCamera::ThemisIrCamera(), Isis::Odyssey::ThemisVisCamera::ThemisVisCamera(), Clementine::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::Cassini::VimsCamera::VimsCamera().

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

Sets the pixel pitch.

Parameters:
v Pixel Pitch

Definition at line 391 of file Camera.h.

References p_pixelPitch.

bool Isis::Camera::SetRightAscensionDeclination ( const double  ra,
const double  dec 
)

Sets the right ascension declination.

Parameters:
ra 
dec 
Returns:
bool Returns true if the declination was set successfully and false if it was not

Reimplemented from Isis::Sensor.

Definition at line 705 of file Camera.cpp.

References Isis::AlphaCube::BetaLine(), Isis::AlphaCube::BetaSample(), Isis::CameraFocalPlaneMap::DetectorLine(), Isis::CameraFocalPlaneMap::DetectorSample(), Isis::CameraDistortionMap::FocalPlaneX(), Isis::CameraSkyMap::FocalPlaneX(), Isis::CameraDistortionMap::FocalPlaneY(), Isis::CameraSkyMap::FocalPlaneY(), Isis::Projection::IsSky(), p_alphaCube, p_childLine, p_childSample, p_detectorMap, p_distortionMap, p_focalPlaneMap, Isis::Sensor::p_hasIntersection, p_ignoreProjection, p_pointComputed, p_projection, p_skyMap, Isis::CameraDetectorMap::ParentLine(), Isis::CameraDetectorMap::ParentSample(), Isis::CameraDetectorMap::SetDetector(), Isis::CameraFocalPlaneMap::SetFocalPlane(), Isis::Projection::SetGround(), Isis::CameraSkyMap::SetSky(), Isis::CameraDistortionMap::SetUndistortedFocalPlane(), Isis::Projection::SetUniversalGround(), Isis::Sensor::UniversalLatitude(), Isis::Sensor::UniversalLongitude(), Isis::Projection::WorldX(), and Isis::Projection::WorldY().

Referenced by RaDecRange(), and SetImage().

void Isis::Camera::SetSkyMap ( CameraSkyMap map  ) 

Sets the Sky Map.

Parameters:
*map Pointer to a CameraSkyMap object

Definition at line 1253 of file Camera.cpp.

References p_skyMap.

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

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

Definition at line 377 of file Sensor.cpp.

References Isis::Spice::IsSky(), Isis::Sensor::p_hasIntersection, Isis::Sensor::p_latitude, Isis::Sensor::p_longitude, Isis::Sensor::p_radius, and Isis::Sensor::SetGroundLocal().

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

Definition at line 324 of file Sensor.cpp.

References a, b, c, Isis::Sensor::DemRadius(), Isis::Spice::IsSky(), Isis::IsSpecial(), Isis::Sensor::p_hasElevationModel, Isis::Sensor::p_hasIntersection, Isis::Sensor::p_latitude, Isis::Sensor::p_longitude, Isis::Spice::p_radii, Isis::Sensor::p_radius, Isis::PI(), and Isis::Sensor::SetGroundLocal().

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 289 of file Camera.cpp.

References p_groundMap, Isis::Sensor::p_hasIntersection, RawFocalPlanetoImage(), and Isis::CameraGroundMap::SetGround().

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 209 of file Camera.cpp.

References p_groundMap, Isis::Sensor::p_hasIntersection, RawFocalPlanetoImage(), and Isis::CameraGroundMap::SetGround().

Referenced by ComputeAzimuth(), Isis::ProjectionFactory::CreateForCube(), GroundRangeResolution(), Isis::Chip::Load(), Isis::CameraPointInfo::SetGround(), SetImage(), and Isis::UniversalGroundMap::SetUniversalGround().

CameraSkyMap* Isis::Camera::SkyMap (  )  [inline]

Returns a pointer to the CameraSkyMap object.

Returns:
CameraSkyMap*

Reimplemented in Isis::LineScanCamera.

Definition at line 301 of file Camera.h.

References p_skyMap.

Referenced by Isis::LineScanCamera::SkyMap(), and Isis::Cassini::VimsCamera::VimsCamera().

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

Return the distance between the spacecraft and surface point in km.

Definition at line 505 of file Sensor.cpp.

References Isis::Spice::BodyRotation(), Isis::Sensor::Coordinate(), dist, Isis::Spice::InstrumentPosition(), and Isis::Sensor::p_pB.

Referenced by Isis::PushFrameCameraGroundMap::FindSpacecraftDistance(), Isis::LineScanCameraGroundMap::FindSpacecraftDistance(), Isis::CameraPointInfo::GetPointInfo(), and Qisis::AdvancedTrackTool::updateRow().

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

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

Definition at line 528 of file Sensor.cpp.

References dist, Isis::Sensor::p_pB, and Isis::Spice::SunPosition().

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

double Isis::Spice::SolarLongitude (  )  [inherited]

Returns the solar longitude.

Returns:
double - The Solar Longitude

Definition at line 777 of file Spice.cpp.

References Isis::Spice::ComputeSolarLongitude(), Isis::Spice::p_et, and Isis::Spice::p_solarLongitude.

Referenced by Isis::CameraPointInfo::GetPointInfo(), Isis::Spice::Spice(), and Qisis::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

Definition at line 548 of file Sensor.cpp.

References a, b, c, Isis::Sensor::DemRadius(), dist, Isis::Spice::InstrumentPosition(), Isis::Sensor::p_hasElevationModel, Isis::Spice::p_radii, Isis::PI(), and Isis::Spice::SubSpacecraftPoint().

Referenced by Isis::CameraPointInfo::GetPointInfo(), LoadCache(), Isis::Lro::MiniRF::MiniRF(), and Isis::Cassini::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 982 of file Camera.cpp.

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

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

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

Definition at line 679 of file Spice.cpp.

References _FILEINFO_, a, b, c, Isis::NaifStatus::CheckErrors(), dist, Isis::iException::Message(), Isis::Spice::p_et, Isis::Spice::p_radii, Isis::Spice::p_uB, and Isis::PI().

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

Definition at line 635 of file Spice.cpp.

References _FILEINFO_, a, b, c, Isis::NaifStatus::CheckErrors(), Isis::SpicePosition::Coordinate(), dist, Isis::iException::Message(), Isis::Spice::p_bodyRotation, Isis::Spice::p_et, Isis::Spice::p_instrumentPosition, Isis::Spice::p_radii, and Isis::PI().

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 969 of file Camera.cpp.

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

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

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

Returns the sun position in either body-fixed or J2000 reference frame and km units.

Parameters:
p[] Sun position

Definition at line 456 of file Spice.cpp.

References _FILEINFO_, Isis::iException::Message(), Isis::Spice::p_et, and Isis::Spice::p_uB.

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

std::string Isis::Spice::Target (  )  const [inline, inherited]

Returns the string name of the target.

Returns:
string

Definition at line 193 of file Spice.h.

References Isis::Spice::p_target.

Referenced by BasicMapping(), and Isis::Spice::ComputeSolarLongitude().

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 472 of file Spice.cpp.

References Isis::SpicePosition::Coordinate(), Isis::Spice::p_bodyRotation, and Isis::Spice::p_instrumentPosition.

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

double Isis::Sensor::UniversalLatitude (  )  const [inline, inherited]

Returns the planetocentric latitude.

Definition at line 149 of file Sensor.h.

References Isis::Sensor::p_latitude.

Referenced by Isis::BundleAdjust::ApplyHeldList(), Isis::ControlPoint::ComputeApriori(), Isis::ProjectionFactory::CreateForCube(), Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::CameraPointInfo::GetPointInfo(), GroundRangeResolution(), Isis::Cassini::VimsGroundMap::Init(), Isis::Chip::Load(), RawFocalPlanetoImage(), SetRightAscensionDeclination(), Isis::UniversalGroundMap::UniversalLatitude(), Qisis::MeasureTool::updateDist(), Qisis::TrackTool::updateLabels(), and Qisis::AdvancedTrackTool::updateRow().

double Isis::Sensor::UniversalLongitude (  )  const [inline, inherited]

Returns a positive east, 0-360 domain longitude.

Definition at line 154 of file Sensor.h.

References Isis::Sensor::p_longitude.

Referenced by Isis::BundleAdjust::ApplyHeldList(), Isis::ControlPoint::ComputeApriori(), Isis::ProjectionFactory::CreateForCube(), Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::CameraPointInfo::GetPointInfo(), GroundRangeResolution(), Isis::Cassini::VimsGroundMap::Init(), Isis::Chip::Load(), Isis::Sensor::LocalSolarTime(), RawFocalPlanetoImage(), SetRightAscensionDeclination(), Isis::UniversalGroundMap::UniversalLongitude(), Qisis::MeasureTool::updateDist(), Qisis::TrackTool::updateLabels(), and Qisis::AdvancedTrackTool::updateRow().


Member Data Documentation

Isis::AlphaCube* Isis::Camera::p_alphaCube [private]

A pointer to the AlphaCube.

Definition at line 441 of file Camera.h.

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

int Isis::Camera::p_bands [private]

The number of bands in the image.

Definition at line 425 of file Camera.h.

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

SpiceDouble Isis::Spice::p_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 225 of file Spice.h.

CameraDetectorMap* Isis::Camera::p_detectorMap [private]

A pointer to the DetectorMap.

Definition at line 447 of file Camera.h.

Referenced by Camera(), DetectorMap(), LineResolution(), RawFocalPlanetoImage(), SampleResolution(), SetDetectorMap(), SetImage(), SetRightAscensionDeclination(), and ~Camera().

CameraDistortionMap* Isis::Camera::p_distortionMap [private]

A pointer to the DistortionMap.

Definition at line 445 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 406 of file Camera.h.

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

CameraFocalPlaneMap* Isis::Camera::p_focalPlaneMap [private]

A pointer to the FocalPlaneMap.

Definition at line 446 of file Camera.h.

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

int Isis::Camera::p_geometricTilingEndSize [private]

The ideal geometric tile size to end with when projecting.

Definition at line 457 of file Camera.h.

Referenced by GetGeometricTilingHint(), and SetGeometricTilingHint().

int Isis::Camera::p_geometricTilingStartSize [private]

The ideal geometric tile size to start with when projecting.

Definition at line 456 of file Camera.h.

Referenced by GetGeometricTilingHint(), and SetGeometricTilingHint().

CameraGroundMap* Isis::Camera::p_groundMap [private]

A pointer to the GroundMap.

Definition at line 448 of file Camera.h.

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

bool Isis::Camera::p_groundRangeComputed [private]

Flag showing if the ground range was computed successfully.

Definition at line 418 of file Camera.h.

Referenced by Camera(), and GroundRangeResolution().

bool Isis::Sensor::p_hasIntersection [protected, inherited]

This indicates if the surface point or look direction is valid.

It is made protected so inheriting classes can change it if necessary.

Definition at line 184 of file Sensor.h.

Referenced by Isis::Sensor::HasSurfaceIntersection(), RawFocalPlanetoImage(), Isis::Sensor::Sensor(), Isis::Sensor::SetEphemerisTime(), Isis::Sensor::SetGroundLocal(), SetImage(), Isis::Sensor::SetLookDirection(), SetRightAscensionDeclination(), Isis::Sensor::SetUniversalGround(), and SetUniversalGround().

bool Isis::Camera::p_ignoreProjection [private]

Whether or no to ignore the Projection.

Definition at line 430 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 424 of file Camera.h.

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

double Isis::Camera::p_maxdec [private]

The maximum declination.

Definition at line 433 of file Camera.h.

Referenced by RaDecRange().

double Isis::Camera::p_maxlat [private]

The maximum latitude.

Definition at line 411 of file Camera.h.

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

double Isis::Camera::p_maxlon [private]

The maximum longitude.

Definition at line 413 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 417 of file Camera.h.

Referenced by GroundRange(), and GroundRangeResolution().

double Isis::Camera::p_maxra [private]

The maxumum right ascension.

Definition at line 435 of file Camera.h.

Referenced by RaDecRange().

double Isis::Camera::p_maxra180 [private]

The maximum right ascension in the 180 domain.

Definition at line 437 of file Camera.h.

Referenced by RaDecRange().

double Isis::Camera::p_maxres [private]

The maximum resolution.

Definition at line 415 of file Camera.h.

Referenced by GroundRangeResolution(), and LowestImageResolution().

double Isis::Camera::p_mindec [private]

The minimum declination.

Definition at line 432 of file Camera.h.

Referenced by RaDecRange().

double Isis::Camera::p_minlat [private]

The minimum latitude.

Definition at line 410 of file Camera.h.

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

double Isis::Camera::p_minlon [private]

The minimum longitude.

Definition at line 412 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 416 of file Camera.h.

Referenced by GroundRange(), and GroundRangeResolution().

double Isis::Camera::p_minra [private]

The minimum right ascension.

Definition at line 434 of file Camera.h.

Referenced by RaDecRange().

double Isis::Camera::p_minra180 [private]

The minimum right ascension in the 180 domain.

Definition at line 436 of file Camera.h.

Referenced by RaDecRange().

double Isis::Camera::p_minres [private]

The minimum resolution.

Definition at line 414 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 407 of file Camera.h.

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

bool Isis::Camera::p_pointComputed [private]

Flag showing if Sample/Line has been computed.

Definition at line 421 of file Camera.h.

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

Projection* Isis::Camera::p_projection [private]

A pointer to the Projection.

Definition at line 429 of file Camera.h.

Referenced by Camera(), HasProjection(), RaDecRange(), RaDecResolution(), RawFocalPlanetoImage(), SetImage(), SetRightAscensionDeclination(), and ~Camera().

bool Isis::Camera::p_raDecRangeComputed [private]

Flag showing if the raDec range has been computed successfully.

Definition at line 438 of file Camera.h.

Referenced by Camera(), and RaDecRange().

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

The radii of the target in kilometers.

Definition at line 232 of file Spice.h.

Referenced by BasicMapping(), NorthAzimuth(), Isis::Spice::Radii(), Isis::Sensor::SetLookDirection(), Isis::Sensor::SetUniversalGround(), Isis::Sensor::SpacecraftAltitude(), Isis::Spice::Spice(), Isis::Spice::SubSolarPoint(), and Isis::Spice::SubSpacecraftPoint().

int Isis::Camera::p_referenceBand [private]

The reference band.

Definition at line 427 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 423 of file Camera.h.

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

CameraSkyMap* Isis::Camera::p_skyMap [private]

A pointer to the SkyMap.

Definition at line 449 of file Camera.h.

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

SpiceDouble Isis::Spice::p_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 220 of file Spice.h.

Referenced by Isis::Sensor::IncidenceAngle(), Isis::Sensor::PhaseAngle(), Isis::Spice::SetEphemerisTime(), Isis::Spice::SubSolarPoint(), and Isis::Spice::SunPosition().


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