USGS

Isis 3.0 Developer's Reference (API)

Home

Isis::LwirCamera Class Reference
[Spice, Instruments, and CamerasClementine]

This is the camera model for the Clementine Long-Wavelength Infrared Camera. More...

#include <LwirCamera.h>

Inherits Isis::FramingCamera.

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

 LwirCamera (Pvl &lab)
 Constructs a LwirCamera object using the image labels.
 ~LwirCamera ()
 Destroys the LwirCamera object.
virtual std::pair< iTime, iTimeShutterOpenCloseTimes (double time, double exposureDuration)
 Returns the shutter open and close times.
virtual int CkFrameId () const
 CK frame ID - - Instrument Code from spacit run on CK.
virtual int CkReferenceId () const
 CK Reference ID - J2000.
virtual int SpkReferenceId () const
 SPK Reference ID - J2000.
virtual CameraType GetCameraType () const
 This method returns Framing camera type.
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 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 (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 SetGround (const SurfacePoint &surfacePt, bool backCheck=true)
 This overloaded method has the opposite function as SetLookDirection.
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 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 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 vector between 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.
Distance DemRadius (const SurfacePoint &pt)
 Return local radius from dem.
Distance DemRadius (const Latitude &lat, const Longitude &lon)
 Gets the radius from the DEM, if we have one.
bool HasElevationModel ()
 Indicates whether the Kernels PvlGroup has an ElevationModel or ShapeModel PvlKeyword value.
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
 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).
iString Target () const
 Returns the string name of the target.
bool IsSky () const
 Return if our target is the sky.
iTime getClockTime (iString clockValue, int sclkCode=-1)
 This converts the spacecraft clock ticks value (clockValue) to an iTime.
SpiceDouble GetDouble (const iString &key, int index=0)
 This returns a value from the NAIF text pool.
SpiceInt GetInteger (const iString &key, int index=0)
 This returns a value from the NAIF text pool.
iString GetString (const iString &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.
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 }

Protected Member Functions

void SetFocalLength (double v)
 Sets the focal length.
void SetFocalLength ()
 Reads the focal length from the instrument kernel.
void SetPixelPitch (double v)
 Sets the pixel pitch.
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 (iString key, SpiceValueType type, int index=0)
 This should be used for reading ALL text naif kernel values.
void storeResult (iString name, SpiceValueType type, QVariant value)
QVariant getStoredResult (iString name, SpiceValueType type)
void storeValue (iString key, int index, SpiceValueType type, QVariant value)
QVariant readStoredValue (iString key, SpiceValueType type, int index)

Protected Attributes

bool p_hasIntersection
 This indicates if the surface point or look direction is valid.
Cubep_demCube
 The cube containing the model.
SurfacePointp_surfacePoint
 Surface intersection point.
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).
Distancep_radii
 The radii of the target.

Friends

class RadarGroundMap
class RadarSlantRangeMap

Detailed Description

This is the camera model for the Clementine Long-Wavelength Infrared Camera.

See also:
http://astrogeology.usgs.gov/Projects/Clementine/nasaclem/sensors/lwir/lwir.html
http://astrogeology.usgs.gov/Projects/Clementine/nasaclem/clemhome.html
http://pds-imaging.jpl.nasa.gov/portal/clementine_mission.html
http://astrogeology.usgs.gov/Missions/Clementine
Author:
2009-01-16 Jeannie Walldren

Member Enumeration Documentation

enum Isis::Camera::CameraType [inherited]

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.

enum Isis::Spice::SpiceValueType [protected, inherited]
Enumerator:
SpiceDoubleType 
SpiceStringType 
SpiceIntType 
SpiceByteCodeType 

Constructor & Destructor Documentation

Isis::LwirCamera::LwirCamera ( Pvl lab  ) 
Isis::LwirCamera::~LwirCamera (  )  [inline]

Destroys the LwirCamera object.


Member Function Documentation

int Isis::Camera::Band (  )  [inline, inherited]

Returns the current band.

Returns:
int Band

Referenced by Isis::Camera::RaDecRange(), and Isis::Camera::RaDecResolution().

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

Returns the number of bands in the image.

Returns:
int Number of Bands

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

void Isis::Camera::BasicMapping ( Pvl pvl  )  [inherited]

Writes the basic mapping group to the specified Pvl.

Parameters:
pvl Pvl to write mapping group to

References Isis::PvlObject::AddGroup(), Isis::Spice::p_radii, and Isis::Spice::Target().

Referenced by Isis::ImagePolygon::Create(), and Isis::GroundGrid::GroundGrid().

SpiceRotation* Isis::Spice::BodyRotation (  )  const [inline, inherited]
iTime Isis::Spice::CacheEndTime (  )  const [inherited]

Accessor method for the cache end time.

Returns:
iTime End time for the image.
Author:
Steven Lambright
int Isis::Camera::CacheSize ( double  startTime,
double  endTime 
) [inherited]

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

Referenced by Isis::Camera::LoadCache().

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

Accessor method for the cache start time.

Returns:
iTime Start time for the image.
Author:
Steven Lambright
virtual int Isis::LwirCamera::CkFrameId (  )  const [inline, virtual]

CK frame ID - - Instrument Code from spacit run on CK.

Returns:
int The appropriate instrument code for the "Camera-matrix" Kernel Frame ID

Implements Isis::Camera.

virtual int Isis::LwirCamera::CkReferenceId (  )  const [inline, virtual]

CK Reference ID - J2000.

Returns:
int The appropriate instrument code for the "Camera-matrix" Kernel Reference ID

Implements Isis::Camera.

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 p_cacheSize, p_startTime and p_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"
History:
2011-04-10 Debbie A. Cook - Updated to only create cache for instrumentPosition if type is Spice.

References _FILEINFO_, Isis::NaifStatus::CheckErrors(), Isis::iTime::Et(), Isis::SpicePosition::GetSource(), Isis::Spice::InstrumentPosition(), Isis::SpicePosition::IsCached(), Isis::SpicePosition::LoadCache(), Isis::SpicePosition::Memcache, Isis::SpicePosition::Memcache2HermiteCache(), Isis::iException::Message(), Isis::iException::Programmer, Isis::SpicePosition::SetAberrationCorrection(), and Isis::iException::User.

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

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

Returns the declination angle (sky latitude).

Returns:
double Declination angle.

Referenced by Isis::VimsSkyMap::Init(), Isis::Camera::RaDecRange(), and Isis::Camera::RaDecResolution().

Distance Isis::Sensor::DemRadius ( const Latitude lat,
const Longitude lon 
) [inherited]
Distance Isis::Sensor::DemRadius ( const SurfacePoint pt  )  [inherited]

Return local radius from dem.

Gets the radius from the DEM, if we have one.

Returns:
double Local radius from the DEM

References Isis::SurfacePoint::GetLatitude(), and Isis::SurfacePoint::GetLongitude().

Referenced by Isis::Camera::GetLocalNormal(), Isis::Sensor::LocalRadius(), and Isis::Sensor::SetLookDirection().

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

Returns a pointer to the CameraDetectorMap object.

Returns:
CameraDetectorMap*

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

Referenced by Isis::LineScanCameraGroundMap::FindFocalPlane(), and Isis::LineScanCameraGroundMap::FindSpacecraftDistance().

double Isis::Camera::DetectorResolution (  )  [inherited]

Returns the detector resolution at the current position.

Returns:
double The detector resolution

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

Referenced by Isis::Camera::LineResolution(), and Isis::Camera::SampleResolution().

CameraDistortionMap* Isis::Camera::DistortionMap (  )  [inline, inherited]
double Isis::Sensor::EmissionAngle (  )  const [inherited]

Returns the emission angle in degrees.

This does not use the surface model.

Returns:
double Emission angle, in degrees.

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

Referenced by Isis::Camera::OffNadirAngle(), and Isis::ControlNetValidMeasure::ValidStandardOptions().

double Isis::Camera::FocalLength (  )  const [inline, inherited]
CameraFocalPlaneMap* Isis::Camera::FocalPlaneMap (  )  [inline, inherited]
virtual CameraType Isis::FramingCamera::GetCameraType (  )  const [inline, virtual, inherited]

This method returns Framing camera type.

Returns:
CameraType Type of camera, Framing.

Implements Isis::Camera.

References Isis::Camera::Framing.

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

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

..).

Parameters:
startSize Tiling start size
endSize Tiling end size
SpiceInt Isis::Spice::GetInteger ( const iString 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

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

Referenced by Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), and Isis::LroWideAngleCamera::LroWideAngleCamera().

Latitude Isis::Sensor::GetLatitude (  )  const [inherited]
void Isis::Camera::GetLocalNormal ( double  normal[3]  )  [inherited]
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.

QVariant Isis::Spice::getStoredResult ( iString  name,
SpiceValueType  type 
) [protected, inherited]
iString Isis::Spice::GetString ( const iString 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."

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

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

SurfacePoint Isis::Sensor::GetSurfacePoint (  )  const [inherited]

Returns the surface point (most efficient accessor).

References Isis::Sensor::p_surfacePoint.

double Isis::Camera::GroundAzimuth ( double  glat,
double  glon,
double  slat,
double  slon 
) [static, inherited]

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

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

CameraGroundMap* Isis::Camera::GroundMap (  )  [inline, inherited]
bool Isis::Camera::GroundRange ( double &  minlat,
double &  maxlat,
double &  minlon,
double &  maxlon,
Pvl pvl 
) [inherited]

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

References a, Isis::PvlObject::FindGroup(), Isis::PvlContainer::HasKeyword(), Isis::Distance::Meters, Isis::PI(), Isis::Spice::Radii(), Isis::PvlObject::Traverse, and Isis::iString::UpCase().

Referenced by Isis::Camera::IntersectsLongitudeDomain().

bool Isis::Sensor::HasElevationModel (  )  [inline, inherited]

Indicates whether the Kernels PvlGroup has an ElevationModel or ShapeModel PvlKeyword value.

Returns:
bool True if an elevation model exists.
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

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

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

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

Referenced by Isis::CubeViewport::CubeViewport(), and Isis::ImagePolygon::initCube().

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

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

Referenced by Isis::ThemisVisCamera::BandEphemerisTimeOffset(), and Isis::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.

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

References Isis::Sensor::p_hasIntersection.

Referenced by Isis::Camera::DetectorResolution(), Isis::Chip::Load(), Isis::VimsGroundMap::SetGround(), and Isis::Camera::SetImage().

double Isis::Camera::HighestImageResolution (  )  [inherited]

Returns the highest/best resolution in the entire image.

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

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

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

This allows you to ignore the elevation model.

Parameters:
ignore True if the elevation model is ignored

Referenced by Isis::ImagePolygon::Create(), and Isis::ImagePolygon::initCube().

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

Set whether or not the camera should ignore the Projection.

Parameters:
ignore 

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

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

Returns the incidence angle in degrees.

This does not use the surface model.

Returns:
double Incidence angle, in degrees.

References Isis::Displacement::GetKilometers(), Isis::SurfacePoint::GetX(), Isis::SurfacePoint::GetY(), Isis::SurfacePoint::GetZ(), Isis::Sensor::p_surfacePoint, Isis::Spice::p_uB, and Isis::PI().

Referenced by Isis::ControlNetValidMeasure::ValidStandardOptions().

bool Isis::Camera::InCube (  )  [inherited]

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

References Isis::Camera::Line(), Isis::Camera::Lines(), Isis::Camera::Sample(), and Isis::Camera::Samples().

Referenced by Isis::UniversalGroundMap::SetGround(), and Isis::UniversalGroundMap::SetUniversalGround().

SpicePosition* Isis::Spice::InstrumentPosition (  )  const [inline, inherited]
void Isis::Spice::InstrumentPosition ( double  p[3]  )  const [inherited]
SpiceRotation* Isis::Spice::InstrumentRotation (  )  const [inline, 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

References _FILEINFO_, Isis::iException::Message(), Isis::iException::Programmer, and Isis::SpicePosition::Velocity().

bool Isis::Camera::IntersectsLongitudeDomain ( Pvl pvl  )  [inherited]

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

References Isis::Camera::GroundRange(), maxlat, maxlon, minlat, and minlon.

virtual bool Isis::Camera::IsBandIndependent (  )  [inline, virtual, inherited]

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::MarciCamera, Isis::ThemisIrCamera, and Isis::ThemisVisCamera.

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

bool Isis::Spice::IsSky (  )  const [inline, inherited]
double Isis::Camera::Line (  )  [inline, inherited]
double Isis::Camera::LineResolution (  )  [inherited]

Returns the line resolution at the current position.

Returns:
double The line resolution

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

Referenced by Isis::Camera::PixelResolution(), and Isis::VimsGroundMap::SetGround().

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

Returns the number of lines in the image.

Returns:
int Number of Lines

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

void Isis::Camera::LoadCache (  )  [inherited]

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.

References Isis::Camera::CacheSize(), Isis::Spice::CreateCache(), Isis::Camera::FocalLength(), Isis::Spice::IsSky(), Isis::Camera::PixelPitch(), Isis::Camera::PixelResolution(), Isis::Camera::SetBand(), Isis::Camera::SetImage(), Isis::Sensor::SetTime(), Isis::Sensor::SpacecraftAltitude(), and Isis::Camera::StartEndEphemerisTimes().

Referenced by Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::DawnVirCamera::DawnVirCamera(), 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(), 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 
) [inherited]

Calculates LOCAL photometric angles using the DEM (not ellipsoid).

These calcualtions 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

References Isis::Spice::BodyRotation(), Isis::Sensor::Coordinate(), dist, Isis::Displacement::GetKilometers(), Isis::Camera::GetLocalNormal(), Isis::SurfacePoint::GetX(), Isis::SurfacePoint::GetY(), Isis::SurfacePoint::GetZ(), Isis::Spice::InstrumentPosition(), Isis::Sensor::p_surfacePoint, Isis::Spice::p_uB, and Isis::Angle::Radians.

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

References a, c, Isis::Angle::Degrees, Isis::Sensor::DemRadius(), Isis::Distance::GetKilometers(), Isis::Distance::Kilometers, Isis::Spice::p_radii, and radius.

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

References Isis::Angle::GetDegrees(), and Isis::Sensor::LocalRadius().

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

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

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

Returns the look direction in the camera coordinate system.

Parameters:
v[] The look vector

References Isis::Spice::BodyRotation(), and Isis::Spice::InstrumentRotation().

double Isis::Camera::LowestImageResolution (  )  [inherited]

Returns the lowest/worst resolution in the entire image.

Returns:
double The lowest/worst resolution in the image
SpiceInt Isis::Spice::NaifBodyCode (  )  const [inherited]

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

Returns:
SpiceInt NAIF body code

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

Referenced by Isis::Camera::SpkCenterId().

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

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

Returns:
SpiceInt NAIF CK code
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

Referenced by 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

Referenced by Isis::Camera::SpkTargetId().

double Isis::Camera::NorthAzimuth (  )  [inherited]

Returns the North Azimuth.

Returns:
double North Azimuth

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

double Isis::Camera::OffNadirAngle (  )  [inherited]

Return the off nadir angle in degrees.

Returns:
double Off Nadir Angle

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

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

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

References _FILEINFO_, band, Isis::Camera::Band(), Isis::Sensor::Declination(), Isis::Camera::IsBandIndependent(), Isis::Projection::IsSky(), line, Isis::Camera::Line(), Isis::iException::Message(), Isis::iException::Programmer, Isis::Sensor::RightAscension(), Isis::Camera::Sample(), Isis::Camera::SetBand(), Isis::Camera::SetImage(), and Isis::Camera::SetRightAscensionDeclination().

double Isis::Camera::RaDecResolution (  )  [inherited]
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

References Isis::Spice::p_radii.

Referenced by Isis::Camera::GroundRange(), Isis::MiniRF::MiniRF(), Isis::RadarGroundMap::RadarGroundMap(), and Isis::VimsGroundMap::SetGround().

QVariant Isis::Spice::readStoredValue ( iString  key,
SpiceValueType  type,
int  index 
) [protected, inherited]
QVariant Isis::Spice::readValue ( iString  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

References _FILEINFO_, Isis::NaifStatus::CheckErrors(), Isis::iException::Io, Isis::iException::Message(), Isis::Spice::readStoredValue(), Isis::iException::Spice, Isis::Spice::SpiceDoubleType, Isis::Spice::SpiceIntType, Isis::Spice::SpiceStringType, and Isis::Spice::storeValue().

Referenced by Isis::Spice::GetDouble(), Isis::Spice::GetInteger(), and Isis::Spice::GetString().

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

Returns the reference band.

Returns:
int Reference Band

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

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

Returns the resolution of the camera.

Returns:
double pixel resolution

Reimplemented from Isis::Sensor.

References Isis::Camera::PixelResolution().

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

Returns the right ascension angle (sky longitude).

Referenced by Isis::VimsSkyMap::Init(), Isis::Camera::RaDecRange(), and Isis::Camera::RaDecResolution().

double Isis::Camera::Sample (  )  [inline, inherited]
double Isis::Camera::SampleResolution (  )  [inherited]

Returns the sample resolution at the current position.

Returns:
double The sample resolution

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

Referenced by Isis::Camera::PixelResolution(), and Isis::VimsGroundMap::SetGround().

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

Returns the number of samples in the image.

Returns:
int Number of Samples

Referenced by Isis::ProjectionFactory::CreateForCube(), Isis::Camera::InCube(), Isis::MiniRF::MiniRF(), and Isis::MocWideAngleDetectorMap::SetParent().

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

Sets the Detector Map.

This object will take ownership of the detector map pointer.

Parameters:
*map Pointer to a CameraDetectorMap object
void Isis::Camera::SetDistortionMap ( CameraDistortionMap map  )  [inherited]

Sets the Distortion Map.

This object will take ownership of the distortion map pointer.

Parameters:
*map Pointer to a CameraDistortionMap object
void Isis::Camera::SetFocalLength (  )  [protected, inherited]
void Isis::Camera::SetFocalLength ( double  v  )  [inline, protected, inherited]

Sets the focal length.

Parameters:
v Focal Length

Referenced by Isis::RadarGroundMap::RadarGroundMap().

void Isis::Camera::SetFocalPlaneMap ( CameraFocalPlaneMap map  )  [inherited]

Sets the Focal Plane Map.

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

Parameters:
*map Pointer to a CameraFocalPlaneMap object
void Isis::Camera::SetGeometricTilingHint ( int  startSize = 128,
int  endSize = 8 
) [protected, inherited]

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

References _FILEINFO_, Isis::iException::Message(), and Isis::iException::Programmer.

Referenced by Isis::Camera::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

References Isis::Spice::IsSky(), Isis::Sensor::p_hasIntersection, and Isis::Sensor::p_surfacePoint.

bool Isis::Camera::SetGround ( const SurfacePoint surfacePt  )  [inherited]

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

References Isis::Sensor::p_hasIntersection, Isis::CameraGroundMap::SetGround(), and Isis::SurfacePoint::Valid().

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

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

References Isis::Sensor::LocalRadius(), Isis::Sensor::p_hasIntersection, and Isis::Distance::Valid().

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

void Isis::Camera::SetGroundMap ( CameraGroundMap map  )  [inherited]

Sets the Ground Map.

This object will take ownership of the ground map pointer.

Parameters:
*map Pointer to a CameraGroundMap object

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

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

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

References 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(), Isis::Sensor::p_hasIntersection, Isis::CameraFocalPlaneMap::SetDetector(), Isis::CameraGroundMap::SetFocalPlane(), Isis::CameraDistortionMap::SetFocalPlane(), Isis::Camera::SetGround(), Isis::CameraDetectorMap::SetParent(), Isis::Camera::SetRightAscensionDeclination(), 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::ControlPoint::ComputeApriori(), Isis::ControlPoint::ComputeResiduals(), Isis::ControlPoint::ComputeResiduals_Millimeters(), Isis::ProjectionFactory::CreateForCube(), Isis::Camera::GetLocalNormal(), Isis::VimsSkyMap::Init(), Isis::VimsGroundMap::Init(), Isis::Chip::Load(), Isis::Camera::LoadCache(), Isis::ControlNetValidMeasure::MetersFromEdge(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::Camera::RaDecRange(), Isis::Camera::RaDecResolution(), Isis::CameraPointInfo::SetCenter(), Isis::VimsGroundMap::SetGround(), Isis::UniversalGroundMap::SetImage(), Isis::CameraPointInfo::SetImage(), Isis::CameraPointInfo::SetLine(), Isis::CameraPointInfo::SetSample(), Isis::VimsSkyMap::SetSky(), Isis::Camera::StartEndEphemerisTimes(), Isis::ControlNetValidMeasure::ValidStandardOptions(), 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.

References a, Isis::Spice::BodyRotation(), c, Isis::NaifStatus::CheckErrors(), Isis::Sensor::Coordinate(), d, Isis::Sensor::DemRadius(), dist, Isis::E(), Isis::SurfacePoint::FromNaifArray(), Isis::Distance::GetKilometers(), Isis::Spice::InstrumentPosition(), Isis::Spice::InstrumentRotation(), Isis::Projection::IsEquatorialCylindrical(), Isis::Spice::IsSky(), Isis::IsSpecial(), MAX, Isis::Sensor::p_hasIntersection, Isis::Spice::p_radii, Isis::Sensor::p_surfacePoint, Isis::PI(), r1, r2, Isis::Sensor::Resolution(), and tolerance.

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

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

Sets the pixel pitch.

Parameters:
v Pixel Pitch
bool Isis::Camera::SetRightAscensionDeclination ( const double  ra,
const double  dec 
) [inherited]
void Isis::Camera::SetSkyMap ( CameraSkyMap map  )  [inherited]

Sets the Sky Map.

This object will take ownership of the sky map pointer.

Parameters:
*map Pointer to a CameraSkyMap object
void Isis::Sensor::SetTime ( const iTime time  )  [inherited]
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.

References Isis::Angle::Degrees, Isis::Spice::IsSky(), Isis::Distance::Meters, Isis::Sensor::p_hasIntersection, Isis::Sensor::p_surfacePoint, and Isis::SurfacePoint::SetSpherical().

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.

References Isis::Angle::Degrees, Isis::Spice::IsSky(), Isis::Sensor::LocalRadius(), Isis::Sensor::p_hasIntersection, Isis::Sensor::p_surfacePoint, Isis::SurfacePoint::SetSpherical(), and Isis::SurfacePoint::Valid().

bool Isis::Camera::SetUniversalGround ( const double  latitude,
const double  longitude,
const double  radius 
) [inherited]

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

References Isis::Angle::Degrees, Isis::Distance::Meters, Isis::Sensor::p_hasIntersection, and Isis::CameraGroundMap::SetGround().

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

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

References Isis::Angle::Degrees, Isis::Sensor::p_hasIntersection, and Isis::CameraGroundMap::SetGround().

Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::ProjectionFactory::CreateForCube(), Isis::Chip::Load(), Isis::CameraPointInfo::SetGround(), and Isis::UniversalGroundMap::SetUniversalGround().

pair< iTime, iTime > Isis::LwirCamera::ShutterOpenCloseTimes ( double  time,
double  exposureDuration 
) [virtual]

Returns the shutter open and close times.

The user should pass in the ExposureDuration keyword value, converted from milliseconds to seconds, and the StartTime keyword value, converted to ephemeris time. The StartTime keyword value from the labels represents the time at the start of the observation, as noted in the Clementine EDR image SIS. This method uses the FramingCamera class implementation, returning the given time value as the shutter open and the sum of the time value and exposure duration as the shutter close.

Parameters:
exposureDuration ExposureDuration keyword value from the labels, converted to seconds.
time The StartTime keyword value from the labels, converted to ephemeris time.
Returns:
pair < iTime, iTime > The first value is the shutter open time and the second is the shutter close time.
See also:
http://pds-imaging.jpl.nasa.gov/documentation/clementine_edrsis.pdf
Author:
2011-05-03 Jeannie Walldren

Implements Isis::FramingCamera.

Referenced by LwirCamera().

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

Returns a pointer to the CameraSkyMap object.

Returns:
CameraSkyMap*

Reimplemented in Isis::LineScanCamera.

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

References Isis::Displacement::GetKilometers(), Isis::SurfacePoint::GetX(), Isis::SurfacePoint::GetY(), Isis::SurfacePoint::GetZ(), Isis::Sensor::p_surfacePoint, and Isis::Spice::SunPosition().

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

Returns the solar longitude.

Returns:
double The Solar Longitude
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.

References Isis::Distance::GetKilometers(), Isis::Spice::InstrumentPosition(), Isis::Sensor::LocalRadius(), Isis::PI(), and Isis::Spice::SubSpacecraftPoint().

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

double Isis::Camera::SpacecraftAzimuth (  )  [inherited]

Return the Spacecraft Azimuth.

Returns:
double Spacecraft Azimuth

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

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

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

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

Author:
2011-12-20 Tracie Sucharski
virtual int Isis::Camera::SpkCenterId (  )  const [inline, virtual, inherited]

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.

References Isis::Spice::NaifBodyCode().

virtual int Isis::LwirCamera::SpkReferenceId (  )  const [inline, virtual]

SPK Reference ID - J2000.

Returns:
int The appropriate instrument code for the Spacecraft Kernel Reference ID

Implements Isis::Camera.

virtual int Isis::Camera::SpkTargetId (  )  const [inline, virtual, inherited]

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.

References Isis::Spice::NaifSpkCode().

pair< double, double > Isis::Camera::StartEndEphemerisTimes (  )  [inherited]

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

References _FILEINFO_, band, Isis::Camera::Bands(), Isis::iTime::Et(), Isis::iException::Message(), min(), Isis::iException::Programmer, Isis::Camera::SetBand(), Isis::Camera::SetImage(), and Isis::Spice::Time().

Referenced by Isis::Camera::LoadCache().

void Isis::Spice::storeResult ( iString  name,
SpiceValueType  type,
QVariant  value 
) [protected, inherited]
void Isis::Spice::storeValue ( iString  key,
int  index,
SpiceValueType  type,
QVariant  value 
) [protected, inherited]
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."

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

Referenced by Isis::Sensor::LocalSolarTime(), and Isis::Camera::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."

References _FILEINFO_, a, c, Isis::NaifStatus::CheckErrors(), Isis::SpicePosition::Coordinate(), dist, Isis::Distance::GetKilometers(), Isis::iException::Message(), Isis::Spice::p_radii, Isis::PI(), and Isis::iException::Programmer.

Referenced by Isis::Sensor::SpacecraftAltitude(), and Isis::Camera::SpacecraftAzimuth().

double Isis::Camera::SunAzimuth (  )  [inherited]

Returns the Sun Azimuth.

Returns:
double Sun Azimuth

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

SpicePosition* Isis::Spice::SunPosition (  )  const [inline, inherited]

Accessor method for the sun position.

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

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()

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

iString Isis::Spice::Target (  )  const [inherited]

Returns the string name of the target.

Returns:
string

Referenced by Isis::Camera::BasicMapping().

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

References Isis::SpicePosition::Coordinate().

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

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

Returns:
double

Referenced by Isis::LineScanCameraGroundMap::FindFocalPlane(), Isis::Camera::StartEndEphemerisTimes(), and Isis::VariableLineScanCameraDetectorMap::VariableLineScanCameraDetectorMap().

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

Friends And Related Function Documentation

friend class RadarGroundMap [friend, inherited]

Referenced by Isis::MiniRF::MiniRF().

friend class RadarSlantRangeMap [friend, inherited]

Referenced by Isis::MiniRF::MiniRF().


Member Data Documentation

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.

Cube* Isis::Sensor::p_demCube [protected, inherited]

The cube containing the model.

Referenced by Isis::Sensor::DemRadius(), Isis::Sensor::Sensor(), and Isis::Sensor::~Sensor().

bool Isis::Sensor::p_hasIntersection [protected, inherited]
Distance* Isis::Spice::p_radii [protected, inherited]
SurfacePoint* Isis::Sensor::p_surfacePoint [protected, inherited]
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

Referenced by Isis::Sensor::IncidenceAngle(), Isis::Camera::LocalPhotometricAngles(), Isis::Sensor::PhaseAngle(), Isis::Spice::SetTime(), Isis::Spice::SubSolarPoint(), and Isis::Spice::SunPosition().


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