Isis 3 Programmer Reference
|
Class for computing sensor ground coordinates. More...
#include <Sensor.h>
Public Member Functions | |
Sensor (Cube &cube) | |
Constructs a Sensor object and loads SPICE kernels using information from the label object. More... | |
virtual | ~Sensor () |
Destroys the Sensor. More... | |
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. More... | |
bool | SetLookDirection (const double v[3]) |
Sets the look direction of the spacecraft. More... | |
bool | SetRightAscensionDeclination (const double ra, const double dec) |
Given the ra/dec compute the look direction. More... | |
bool | SetUniversalGround (const double latitude, const double longitude, bool backCheck=true) |
This is the opposite routine for SetLookDirection. More... | |
bool | SetUniversalGround (const double latitude, const double longitude, const double radius, bool backCheck=true) |
This overloaded method has the opposite function as SetLookDirection. More... | |
bool | SetGround (const SurfacePoint &surfacePt, bool backCheck=true) |
This overloaded method has the opposite function as SetLookDirection. More... | |
bool | HasSurfaceIntersection () const |
Returns if the last call to either SetLookDirection or SetUniversalGround had a valid intersection with the target. More... | |
void | Coordinate (double p[3]) const |
Returns the x,y,z of the surface intersection in BodyFixed km. More... | |
virtual double | UniversalLatitude () const |
Returns the planetocentric latitude, in degrees, at the surface intersection point in the body fixed coordinate system. More... | |
Latitude | GetLatitude () const |
Returns a planetocentric latitude object at the surface intersection point in body fixed. More... | |
virtual double | UniversalLongitude () const |
Returns the positive east, 0-360 domain longitude, in degrees, at the surface intersection point in the body fixed coordinate system. More... | |
Longitude | GetLongitude () const |
Returns a positive east, 0-360 domain longitude object at the surface intersection point in the body fixed coordinate system. More... | |
SurfacePoint | GetSurfacePoint () const |
Returns the surface point (most efficient accessor). More... | |
Distance | LocalRadius () const |
Returns the local radius at the intersection point. More... | |
Distance | LocalRadius (Latitude lat, Longitude lon) |
Returns the local radius at the intersection point. More... | |
Distance | LocalRadius (double lat, double lon) |
Returns the local radius at the intersection point. More... | |
virtual double | PhaseAngle () const |
Returns the phase angle in degrees. More... | |
virtual double | EmissionAngle () const |
Returns the emission angle in degrees. More... | |
virtual double | IncidenceAngle () const |
Returns the incidence angle in degrees. More... | |
void | LookDirection (double v[3]) const |
Returns the look direction in the camera coordinate system. More... | |
std::vector< double > | lookDirectionJ2000 () const |
Returns the look direction in the camera coordinate system. More... | |
std::vector< double > | lookDirectionBodyFixed () const |
Returns the look direction in the body fixed coordinate system. More... | |
virtual double | RightAscension () |
Returns the right ascension angle (sky longitude). More... | |
virtual double | Declination () |
Returns the declination angle (sky latitude). More... | |
void | SpacecraftSurfaceVector (double scSurfaceVector[3]) const |
Sets the vector between the spacecraft and surface point in body-fixed. More... | |
virtual double | SlantDistance () const |
Return the distance between the spacecraft and surface point in kmv. More... | |
double | LocalSolarTime () |
Return the local solar time in hours. More... | |
virtual double | SolarDistance () const |
Returns the distance between the sun and surface point in AU. More... | |
double | SpacecraftAltitude () |
Returns the distance from the spacecraft to the subspacecraft point in km. More... | |
virtual double | resolution () |
Virtual method that returns the pixel resolution of the sensor in meters/pix. More... | |
void | IgnoreElevationModel (bool ignore) |
This allows you to ignore the cube elevation model and use the ellipse. More... | |
virtual QList< QPointF > | PixelIfovOffsets () |
This method is implemented in Camera which defaults to the (pixel pitch * summing mode ) / 2. More... | |
virtual QString | instrumentNameLong () const =0 |
virtual QString | instrumentNameShort () const =0 |
virtual QString | spacecraftNameLong () const =0 |
virtual QString | spacecraftNameShort () const =0 |
void | instrumentPosition (double p[3]) const |
Returns the spacecraft position in body-fixed frame km units. More... | |
virtual SpicePosition * | instrumentPosition () const |
Accessor method for the instrument position. More... | |
virtual void | instrumentBodyFixedPosition (double p[3]) const |
Returns the spacecraft position in body-fixed frame km units. More... | |
virtual 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. More... | |
virtual SpicePosition * | sunPosition () const |
Accessor method for the sun position. More... | |
virtual double | targetCenterDistance () const |
Calculates and returns the distance from the spacecraft to the target center. More... | |
virtual double | sunToBodyDist () const |
virtual Longitude | solarLongitude () |
Returns the solar longitude. More... | |
virtual void | instrumentBodyFixedVelocity (double v[3]) const |
Returns the spacecraft velocity in body-fixed frame km/sec units. More... | |
iTime | time () const |
Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions. More... | |
void | radii (Distance r[3]) const |
Returns the radii of the body in km. More... | |
virtual 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. More... | |
virtual iTime | cacheStartTime () const |
Accessor method for the cache start time. More... | |
virtual iTime | cacheEndTime () const |
Accessor method for the cache end time. More... | |
virtual void | subSpacecraftPoint (double &lat, double &lon) |
Returns the sub-spacecraft latitude/longitude in universal coordinates (0-360 positive east, ocentric) More... | |
virtual void | subSolarPoint (double &lat, double &lon) |
Returns the sub-solar latitude/longitude in universal coordinates (0-360 positive east, ocentric) More... | |
virtual Target * | target () const |
Returns a pointer to the target object. More... | |
QString | targetName () const |
Returns the QString name of the target. More... | |
virtual iTime | getClockTime (QString clockValue, int sclkCode=-1, bool clockTicks=false) |
This converts the spacecraft clock ticks value (clockValue) to an iTime. More... | |
SpiceDouble | getDouble (const QString &key, int index=0) |
This returns a value from the NAIF text pool. More... | |
SpiceInt | getInteger (const QString &key, int index=0) |
This returns a value from the NAIF text pool. More... | |
QString | getString (const QString &key, int index=0) |
This returns a value from the NAIF text pool. More... | |
virtual SpiceRotation * | bodyRotation () const |
Accessor method for the body rotation. More... | |
virtual SpiceRotation * | instrumentRotation () const |
Accessor method for the instrument rotation. More... | |
bool | isUsingAle () |
bool | hasKernels (Pvl &lab) |
Returns true if the kernel group has kernel files. More... | |
bool | isTimeSet () |
Returns true if time has been initialized. More... | |
SpiceInt | naifBodyCode () const |
This returns the NAIF body code of the target indicated in the labels. More... | |
SpiceInt | naifSpkCode () const |
This returns the NAIF SPK code to use when reading from SPK kernels. More... | |
SpiceInt | naifCkCode () const |
This returns the NAIF CK code to use when reading from CK kernels. More... | |
SpiceInt | naifIkCode () const |
This returns the NAIF IK code to use when reading from instrument kernels. More... | |
SpiceInt | naifSclkCode () const |
This returns the NAIF SCLK code to use when reading from instrument kernels. More... | |
SpiceInt | naifBodyFrameCode () const |
This returns the NAIF body frame code. More... | |
PvlObject | getStoredNaifKeywords () const |
This returns the PvlObject that stores all of the requested Naif data and can be a replacement for furnishing text kernels. More... | |
Protected Types | |
enum | SpiceValueType { SpiceDoubleType, SpiceStringType, SpiceIntType, SpiceByteCodeType } |
NAIF value primitive type. More... | |
Protected Member Functions | |
QVariant | readValue (QString key, SpiceValueType type, int index=0) |
This should be used for reading ALL text naif kernel values. More... | |
void | storeResult (QString name, SpiceValueType type, QVariant value) |
QVariant | getStoredResult (QString name, SpiceValueType type) |
void | storeValue (QString key, int index, SpiceValueType type, QVariant value) |
QVariant | readStoredValue (QString key, SpiceValueType type, int index) |
virtual void | computeSolarLongitude (iTime et) |
Computes the solar longitude for the given ephemeris time. More... | |
Protected Attributes | |
SpiceDouble | m_lookB [3] |
Look direction in body fixed. More... | |
bool | m_newLookB |
flag to indicate we need to recompute ra/dec More... | |
SpiceDouble | m_uB [3] |
This contains the sun position (u) in the bodyfixed reference frame (B). More... | |
SpiceDouble | m_BJ [3][3] |
This contains the transformation matrix from J2000 (J) to Body fixed (B). More... | |
Target * | m_target |
Target of the observation. More... | |
iTime * | m_et |
Ephemeris time (read NAIF documentation for a detailed description) More... | |
Longitude * | m_solarLongitude |
Body rotation solar longitude value. More... | |
Private Member Functions | |
void | CommonInitialize (const std::string &demCube) |
void | computeRaDec () |
Computes the ra/dec from the look direction. More... | |
bool | SetGroundLocal (bool backCheck) |
Computes look vector. More... | |
void | init (Pvl &pvl, bool noTables, nlohmann::json isd=NULL) |
Initialization of Spice object. More... | |
void | csmInit (Cube &cube, Pvl label) |
Initialize the Spice object for a CSMCamera. More... | |
void | defaultInit () |
Default initialize the members of the SPICE object. More... | |
void | load (PvlKeyword &key, bool notab) |
Loads/furnishes NAIF kernel(s) More... | |
Private Attributes | |
SpiceDouble | m_ra |
Right ascension (sky longitude) More... | |
SpiceDouble | m_dec |
Decliation (sky latitude) More... | |
QVector< QString > * | m_kernels |
Vector containing kernels filenames. More... | |
iTime * | m_startTime |
Corrected start (shutter open) time of the observation. More... | |
iTime * | m_endTime |
Corrected end (shutter close) time of the observation. More... | |
SpiceDouble * | m_cacheSize |
Cache size. Note: This value is 1 for Framing cameras. More... | |
SpiceDouble * | m_startTimePadding |
Kernels pvl group StartPadding keyword value. More... | |
SpiceDouble * | m_endTimePadding |
Kernels pvl group EndPadding keyword value. More... | |
SpicePosition * | m_instrumentPosition |
Instrument spice position. More... | |
SpiceRotation * | m_instrumentRotation |
Instrument spice rotation. More... | |
SpicePosition * | m_sunPosition |
Sun spice position. More... | |
SpiceRotation * | m_bodyRotation |
Body spice rotation. More... | |
bool | m_allowDownsizing |
Indicates whether to allow downsizing. More... | |
SpiceInt * | m_spkCode |
Spacecraft and planet ephemeris kernel (SPK) code. More... | |
SpiceInt * | m_ckCode |
Camera kernel (CK) code. More... | |
SpiceInt * | m_ikCode |
Instrument kernel (IK) code. More... | |
SpiceInt * | m_sclkCode |
Spacecraft clock correlation kernel (SCLK) code. More... | |
SpiceInt * | m_spkBodyCode |
Spacecraft and planet ephemeris kernel (SPK) body code. More... | |
SpiceInt * | m_bodyFrameCode |
Naif's BODY_FRAME_CODE value. More... | |
PvlObject * | m_naifKeywords |
NaifKeywords PvlObject from cube. More... | |
bool | m_usingNaif |
Indicates whether we are reading values from the NaifKeywords PvlObject in cube. More... | |
bool | m_usingAle |
Indicate whether we are reading values from an ISD returned from ALE. More... | |
Class for computing sensor ground coordinates.
The sensor class allows for the computation of parameters related to orbiting instruments. In particular, a time and look direction can be set and from those the ground coordinate (latitude/longitude) along with phase, incidence, and emission angles can be computed. Likewise, a ground point can be set and look direction can be computed. This class is derived from the Spice class.
An important capability of this class is the ability to use a surface model other than an ellipsoid when intersecting the look direction of the sensor with the planetary body. This allows for the generation of othrorectified products. The file containing the surface model is a cube and is obtained from the labels in the follow form:
|
protectedinherited |
Isis::Sensor::Sensor | ( | Cube & | cube | ) |
Constructs a Sensor object and loads SPICE kernels using information from the label object.
The constructor expects an Instrument and Kernels group to be in the labels (see Spice documentation).
Definition at line 45 of file Sensor.cpp.
References m_newLookB.
|
virtual |
Destroys the Sensor.
Definition at line 51 of file Sensor.cpp.
|
virtualinherited |
Accessor method for the body rotation.
Reimplemented in Isis::CSMCamera.
Definition at line 1611 of file Spice.cpp.
Referenced by computeRaDec(), EmissionAngle(), Isis::RadarGroundMap::GetdXYdPosition(), Isis::RadarGroundMap::GetXY(), lookDirectionJ2000(), Isis::MiniRF::MiniRF(), PhaseAngle(), Isis::RadarGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetGround(), SetGround(), SetGroundLocal(), SetLookDirection(), SetUniversalGround(), and SlantDistance().
|
virtualinherited |
|
virtualinherited |
|
private |
Computes the ra/dec from the look direction.
Protected method which computes the ra/dec of the current look direction.
Definition at line 585 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Isis::SpiceRotation::J2000Vector(), m_dec, m_lookB, m_newLookB, m_ra, and Isis::PI.
Referenced by Declination(), and RightAscension().
|
protectedvirtualinherited |
Computes the solar longitude for the given ephemeris time.
If the target is sky, the longitude is set to -999.0.
et | Ephemeris time |
Reimplemented in Isis::CSMCamera.
Definition at line 1400 of file Spice.cpp.
References Isis::iTime::Et(), and Isis::Longitude::force360Domain().
void Isis::Sensor::Coordinate | ( | double | p[3] | ) | const |
Returns the x,y,z of the surface intersection in BodyFixed km.
p[] | The coordinate of the surface intersection. |
Definition at line 196 of file Sensor.cpp.
References Isis::Displacement::kilometers(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::ControlPoint::ComputeApriori(), Isis::Camera::ComputeAzimuth(), Isis::Camera::DetectorResolution(), EmissionAngle(), Isis::QnetSetAprioriDialog::fillAverageAprioriLineEdits(), Isis::VimsGroundMap::Init(), Isis::Camera::OffNadirAngle(), PhaseAngle(), SetGround(), SetGroundLocal(), SetLookDirection(), SetUniversalGround(), SlantDistance(), and Isis::AdvancedTrackTool::updateRow().
|
virtualinherited |
This method creates an internal cache of spacecraft and sun positions over a specified time range.
The SPICE kernels are then immediately unloaded. This allows multiple instances of the Spice object to be created as the NAIF toolkit can clash if multiple sets of SPICE kernels are loaded. Note that the cache size is specified as an argument. Therefore, times requested via setTime() which are not directly loaded in the cache will be interpolated. If the instrument position is not cached and cacheSize is greater than 3, the tolerance is passed to the SpicePosition Memcache2HermiteCache() method.
Note: Before this method is called, the private variables m_cacheSize, m_startTime and m_endTime must be set. This is done in the Camera classes using the methods SetCacheSize() and SetStartEndEphemerisTime().
startTime | Starting ephemeris time to cache |
endTime | Ending ephemeris time to cache |
size | Size of the cache. |
tol | Tolerance. |
Isis::IException::Programmer | - "Argument cacheSize must be greater than zero" |
Isis::IException::Programmer | - "Argument startTime must be less than or equal to endTime" |
Isis::IException::User | - "This instrument does not support time padding" |
Definition at line 649 of file Spice.cpp.
References Isis::iTime::Et(), and Isis::FileName::expanded().
Referenced by Isis::CrismCamera::CrismCamera(), Isis::Camera::LoadCache(), and Isis::MiniRF::MiniRF().
|
virtual |
Returns the declination angle (sky latitude).
Reimplemented in Isis::CSMCamera.
Definition at line 574 of file Sensor.cpp.
References computeRaDec(), m_dec, and m_newLookB.
Referenced by Isis::Camera::CelestialNorthClockAngle(), Isis::VimsSkyMap::Init(), Isis::Camera::RaDecRange(), Isis::Camera::RaDecResolution(), Isis::Camera::RawFocalPlanetoImage(), and Isis::AdvancedTrackTool::updateRow().
|
privateinherited |
|
virtual |
Returns the emission angle in degrees.
Reimplemented in Isis::CSMCamera.
Definition at line 324 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Coordinate(), Isis::ShapeModel::emissionAngle(), Isis::Spice::instrumentPosition(), Isis::Target::shape(), and Isis::Spice::target().
Referenced by Isis::CameraStatistics::addStats(), Isis::ImagePolygon::FixPolePoly(), Isis::InterestOperator::InterestByMeasure(), Isis::Camera::ObliqueDetectorResolution(), Isis::Camera::OffNadirAngle(), Isis::ImagePolygon::SetImage(), and Isis::AdvancedTrackTool::updateRow().
|
virtualinherited |
This converts the spacecraft clock ticks value (clockValue) to an iTime.
If the clock ticks value is provided directly, rather than the spacecraft clock string, set clockTicks=true.
Use this when possible because naif calls (such as scs2e_c) cannot be called when not using naif.
Definition at line 1053 of file Spice.cpp.
References Isis::toString().
Referenced by Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HayabusaNirsCamera::HayabusaNirsCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::Hyb2OncCamera::Hyb2OncCamera(), Isis::VimsGroundMap::Init(), Isis::VimsSkyMap::Init(), Isis::JunoCamera::JunoCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::MarciCamera::MarciCamera(), Isis::MdisCamera::MdisCamera(), Isis::MexHrscSrcCamera::MexHrscSrcCamera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::OsirisRexOcamsCamera::OsirisRexOcamsCamera(), Isis::DawnVirCamera::readHouseKeeping(), Isis::RosettaVirtisCamera::readHouseKeeping(), Isis::RosettaVirtisCamera::readSCET(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::VimsCamera::VimsCamera().
|
inherited |
This returns a value from the NAIF text pool.
It is a static convience method
key | Name of NAIF keyword to obtain from the pool |
index | If the keyword is an array, the element to obtain. Defaults to 0 |
Isis::iException::Io | - "Can not find key in instrument kernels." |
Definition at line 1039 of file Spice.cpp.
Referenced by Isis::LroWideAngleCameraDistortionMap::addFilter(), Isis::LroWideAngleCameraFocalPlaneMap::addFilter(), Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::MdisCamera::computeFocalLength(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::DawnVirCamera::DawnVirCamera(), Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HayabusaNirsCamera::HayabusaNirsCamera(), Isis::HiresCamera::HiresCamera(), Isis::HrscCamera::HrscCamera(), Isis::Hyb2OncCamera::Hyb2OncCamera(), Isis::CameraFocalPlaneMap::Init(), Isis::RosettaOsirisCamera::initDistortion(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::JunoCamera::JunoCamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::KaguyaTcCameraDistortionMap::KaguyaTcCameraDistortionMap(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::MarciDistortionMap::MarciDistortionMap(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MexHrscSrcCamera::MexHrscSrcCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::OsirisRexOcamsCamera::OsirisRexOcamsCamera(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::RosettaVirtisCamera::RosettaVirtisCamera(), Isis::KaguyaMiCameraDistortionMap::SetDistortion(), Isis::LroNarrowAngleDistortionMap::SetDistortion(), Isis::TaylorCameraDistortionMap::SetDistortion(), Isis::Camera::SetFocalLength(), Isis::Camera::SetPixelPitch(), Isis::SsiCamera::SsiCamera(), Isis::TgoCassisCamera::TgoCassisCamera(), Isis::TgoCassisDistortionMap::TgoCassisDistortionMap(), and Isis::UvvisCamera::UvvisCamera().
|
inherited |
This returns a value from the NAIF text pool.
It is a static convience
key | Name of NAIF keyword to obtain from the pool |
index | If the keyword is an array, the element to obtain. Defaults to 0 |
Isis::iException::Io | - "Can not find key in instrument kernels |
Definition at line 1025 of file Spice.cpp.
Referenced by Isis::DawnVirCamera::getPointingTable(), Isis::RosettaVirtisCamera::getPointingTable(), Isis::LroWideAngleCamera::GetVector(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), and Isis::LroWideAngleCamera::LroWideAngleCamera().
Latitude Isis::Sensor::GetLatitude | ( | ) | const |
Returns a planetocentric latitude object at the surface intersection point in body fixed.
Definition at line 221 of file Sensor.cpp.
References Isis::SurfacePoint::GetLatitude(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::StereoTool::calculateElevation(), and UniversalLatitude().
Longitude Isis::Sensor::GetLongitude | ( | ) | const |
Returns a positive east, 0-360 domain longitude object at the surface intersection point in the body fixed coordinate system.
Definition at line 245 of file Sensor.cpp.
References Isis::SurfacePoint::GetLongitude(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::StereoTool::calculateElevation(), and UniversalLongitude().
|
inherited |
|
inherited |
This returns a value from the NAIF text pool.
It is a static convience method
key | Name of NAIF keyword to obtain from the pool |
index | If the keyword is an array, the element to obtain. Defaults to 0 |
Isis::IException::Io | - "Can not find key in instrument kernels." |
Definition at line 1261 of file Spice.cpp.
Referenced by Isis::LightTimeCorrectionState::checkAberrationCorrection(), Isis::LightTimeCorrectionState::checkLightTimeToSurfaceCorrect(), Isis::LightTimeCorrectionState::checkObserverTargetSwap(), Isis::MdisCamera::computeFocalLength(), Isis::MdisCamera::MdisCamera(), and Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera().
SurfacePoint Isis::Sensor::GetSurfacePoint | ( | ) | const |
Returns the surface point (most efficient accessor).
Definition at line 255 of file Sensor.cpp.
References Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::ControlPoint::ComputeResiduals(), Isis::QnetSetAprioriDialog::fillReferenceAprioriLineEdits(), Isis::QnetPointDistanceFilter::filter(), Isis::Camera::GetLocalNormal(), Isis::CSMCamera::GroundPartials(), Isis::CSMCamera::ImagePartials(), Isis::CSMCamera::IncidenceAngle(), Isis::Camera::LocalPhotometricAngles(), Isis::CSMCamera::PhaseAngle(), Isis::SunShadowTool::recalculateShadowHeight(), and Isis::CSMCamera::SlantDistance().
|
inherited |
Returns true if the kernel group has kernel files.
lab | Label containing Instrument and Kernels groups. |
Definition at line 1526 of file Spice.cpp.
References Isis::PvlObject::findGroup(), Isis::PvlContainer::hasKeyword(), and Isis::PvlKeyword::size().
bool Isis::Sensor::HasSurfaceIntersection | ( | ) | const |
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 186 of file Sensor.cpp.
References Isis::ShapeModel::hasIntersection(), Isis::Target::shape(), and Isis::Spice::target().
Referenced by Isis::CameraStatistics::addStats(), Isis::Camera::ComputeAzimuth(), Isis::Camera::DetectorResolution(), Isis::Chip::Load(), Isis::Camera::ObliqueDetectorResolution(), Isis::VimsGroundMap::SetGround(), and Isis::Camera::SetImageSkyMapProjection().
void Isis::Sensor::IgnoreElevationModel | ( | bool | ignore | ) |
This allows you to ignore the cube elevation model and use the ellipse.
ignore | Indicates whether the elevation model is ignored. |
Definition at line 60 of file Sensor.cpp.
References Isis::Target::restoreShape(), Isis::Target::setShapeEllipsoid(), and Isis::Spice::target().
Referenced by Isis::StereoTool::calculateElevation(), Isis::ImagePolygon::Create(), and Isis::ImagePolygon::initCube().
|
virtual |
Returns the incidence angle in degrees.
This does not use the surface model.
Reimplemented in Isis::CSMCamera.
Definition at line 335 of file Sensor.cpp.
References Isis::ShapeModel::incidenceAngle(), Isis::Spice::m_uB, Isis::Target::shape(), and Isis::Spice::target().
Referenced by Isis::CameraStatistics::addStats(), Isis::ImagePolygon::FixPolePoly(), Isis::InterestOperator::InterestByMeasure(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::ImagePolygon::SetImage(), and Isis::AdvancedTrackTool::updateRow().
|
privateinherited |
Initialization of Spice object.
lab | Pvl labels |
noTables | Indicates the use of tables. |
Isis::IException::Io | - "Can not find NAIF code for NAIF target" |
Isis::IException::Camera | - "No camera pointing available" |
Isis::IException::Camera | - "No instrument position available" |
Definition at line 154 of file Spice.cpp.
References Isis::LightTimeCorrectionState::checkSpkKernelsForAberrationCorrection(), Isis::PvlContainer::fileName(), Isis::PvlObject::findGroup(), Isis::PvlObject::findObject(), Isis::PvlObject::hasKeyword(), Isis::PvlContainer::hasKeyword(), Isis::PvlObject::hasObject(), Isis::Table::Label(), Isis::toDouble(), Isis::toInt(), and Isis::toString().
|
virtualinherited |
Returns the spacecraft position in body-fixed frame km units.
p[] | Spacecraft position |
Isis::iException::Programmer | - "You must call SetTime first" |
Reimplemented in Isis::CSMCamera.
Definition at line 835 of file Spice.cpp.
Referenced by Isis::Camera::LocalPhotometricAngles().
|
virtualinherited |
|
virtualinherited |
Accessor method for the instrument position.
Reimplemented in Isis::CSMCamera.
Definition at line 1600 of file Spice.cpp.
Referenced by Isis::Camera::DetectorResolution(), EmissionAngle(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MiniRF::MiniRF(), Isis::Camera::OffNadirAngle(), PhaseAngle(), SetGround(), SetGroundLocal(), SetLookDirection(), SetUniversalGround(), SlantDistance(), and SpacecraftAltitude().
|
inherited |
Returns the spacecraft position in body-fixed frame km units.
p[] | Spacecraft position |
Isis::iException::Programmer | - "You must call SetTime first" |
Definition at line 822 of file Spice.cpp.
Referenced by Isis::RadarGroundMap::GetdXYdPosition(), Isis::RadarGroundMap::GetXY(), Isis::RadarGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetGround(), and Isis::AdvancedTrackTool::updateRow().
|
virtualinherited |
Accessor method for the instrument rotation.
Reimplemented in Isis::CSMCamera.
Definition at line 1622 of file Spice.cpp.
Referenced by Isis::DawnVirCamera::DawnVirCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::JunoCamera::JunoCamera(), LookDirection(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::RosettaVirtisCamera::readSCET(), Isis::RosettaVirtisCamera::RosettaVirtisCamera(), Isis::RadarGroundMap::SetFocalPlane(), Isis::RadarGroundMap::SetGround(), SetLookDirection(), SetRightAscensionDeclination(), and Isis::TgoCassisCamera::TgoCassisCamera().
|
inherited |
Returns true if time has been initialized.
Definition at line 1577 of file Spice.cpp.
Referenced by Isis::CameraDetectorMap::SetParent(), and Isis::RollingShutterCameraDetectorMap::SetParent().
|
privateinherited |
Loads/furnishes NAIF kernel(s)
key | PvlKeyword |
noTables | Indicates the use of tables. |
Isis::IException::Io | - "Spice file does not exist." |
Definition at line 486 of file Spice.cpp.
References Isis::FileName::expanded(), Isis::FileName::fileExists(), and Isis::PvlKeyword::size().
Distance Isis::Sensor::LocalRadius | ( | ) | const |
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 267 of file Sensor.cpp.
References Isis::SurfacePoint::GetLocalRadius(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::CameraStatistics::addStats(), Isis::StereoTool::calculateElevation(), Isis::Camera::ComputeAzimuth(), Isis::ControlNetFilter::CubeDistanceFilter(), Isis::FindTool::distancePerPixel(), Isis::QnetCubeDistanceFilter::filter(), Isis::Camera::GetLocalNormal(), Isis::Camera::GroundRangeResolution(), Isis::RadarGroundMap::Iterate(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::ringRangeResolution(), Isis::ProjectionFactory::RingsCreateForCube(), Isis::LineScanCameraGroundMap::SetGround(), Isis::PushFrameCameraGroundMap::SetGround(), Isis::RadarGroundMap::SetGround(), Isis::VimsGroundMap::SetGround(), Isis::Camera::SetGround(), Isis::CSMCamera::SetGround(), Isis::Camera::SetImageMapProjection(), SpacecraftAltitude(), Isis::TrackTool::updateLabels(), and Isis::AdvancedTrackTool::updateRow().
Distance Isis::Sensor::LocalRadius | ( | double | lat, |
double | lon | ||
) |
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.
lat | |
lon |
Definition at line 301 of file Sensor.cpp.
References Isis::Angle::Degrees, Isis::Target::shape(), and Isis::Spice::target().
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.
lat | |
lon |
Definition at line 285 of file Sensor.cpp.
References Isis::Target::shape(), and Isis::Spice::target().
double Isis::Sensor::LocalSolarTime | ( | ) |
Return the local solar time in hours.
Definition at line 660 of file Sensor.cpp.
References Isis::Spice::subSolarPoint(), and UniversalLongitude().
Referenced by Isis::CameraStatistics::addStats(), and Isis::AdvancedTrackTool::updateRow().
void Isis::Sensor::LookDirection | ( | double | v[3] | ) | const |
Returns the look direction in the camera coordinate system.
v[] | The look vector. |
Definition at line 523 of file Sensor.cpp.
References Isis::Spice::instrumentRotation(), lookDirectionJ2000(), and Isis::SpiceRotation::ReferenceVector().
Referenced by Isis::PixelFOV::instantaneousFov().
vector< double > Isis::Sensor::lookDirectionBodyFixed | ( | ) | const |
Returns the look direction in the body fixed coordinate system.
Definition at line 535 of file Sensor.cpp.
References m_lookB.
Referenced by lookDirectionJ2000(), and SetGroundLocal().
vector< double > Isis::Sensor::lookDirectionJ2000 | ( | ) | const |
Returns the look direction in the camera coordinate system.
Definition at line 549 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Isis::SpiceRotation::J2000Vector(), and lookDirectionBodyFixed().
Referenced by LookDirection().
|
inherited |
This returns the NAIF body code of the target indicated in the labels.
Definition at line 941 of file Spice.cpp.
Referenced by Isis::Camera::SpkCenterId().
|
inherited |
|
inherited |
|
inherited |
This returns the NAIF IK code to use when reading from instrument kernels.
Definition at line 968 of file Spice.cpp.
Referenced by Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::Chandrayaan1M3Camera::Chandrayaan1M3Camera(), Isis::ClipperNacRollingShutterCamera::ClipperNacRollingShutterCamera(), Isis::ClipperPushBroomCamera::ClipperPushBroomCamera(), Isis::ClipperWacFcCamera::ClipperWacFcCamera(), Isis::CrismCamera::CrismCamera(), Isis::CTXCamera::CTXCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::DawnVirCamera::DawnVirCamera(), Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HayabusaNirsCamera::HayabusaNirsCamera(), Isis::HiresCamera::HiresCamera(), Isis::HiriseCamera::HiriseCamera(), Isis::HrscCamera::HrscCamera(), Isis::Hyb2OncCamera::Hyb2OncCamera(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::JunoCamera::JunoCamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LroWideAngleCamera::LroWideAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::MarciCamera::MarciCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MexHrscSrcCamera::MexHrscSrcCamera(), Isis::MiniRF::MiniRF(), Isis::MocNarrowAngleCamera::MocNarrowAngleCamera(), Isis::MocWideAngleCamera::MocWideAngleCamera(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLeisaCamera::NewHorizonsLeisaCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NewHorizonsMvicFrameCamera::NewHorizonsMvicFrameCamera(), Isis::NewHorizonsMvicTdiCamera::NewHorizonsMvicTdiCamera(), Isis::NirCamera::NirCamera(), Isis::OsirisRexOcamsCamera::OsirisRexOcamsCamera(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::RosettaVirtisCamera::RosettaVirtisCamera(), Isis::Camera::SetFocalLength(), Isis::Camera::SetPixelPitch(), Isis::SsiCamera::SsiCamera(), Isis::TgoCassisCamera::TgoCassisCamera(), Isis::ThemisIrCamera::ThemisIrCamera(), Isis::ThemisVisCamera::ThemisVisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), Isis::VimsCamera::VimsCamera(), and Isis::VoyagerCamera::VoyagerCamera().
|
inherited |
This returns the NAIF SCLK code to use when reading from instrument kernels.
Definition at line 978 of file Spice.cpp.
Referenced by Isis::CrismCamera::CrismCamera().
|
inherited |
This returns the NAIF SPK code to use when reading from SPK kernels.
Definition at line 950 of file Spice.cpp.
Referenced by Isis::DawnVirCamera::readHouseKeeping(), Isis::RosettaVirtisCamera::readHouseKeeping(), Isis::RosettaVirtisCamera::readSCET(), and Isis::Camera::SpkTargetId().
|
virtual |
Returns the phase angle in degrees.
This does not use the surface model.
Reimplemented in Isis::CSMCamera.
Definition at line 312 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Coordinate(), Isis::Spice::instrumentPosition(), Isis::Spice::m_uB, Isis::ShapeModel::phaseAngle(), Isis::Target::shape(), and Isis::Spice::target().
Referenced by Isis::CameraStatistics::addStats(), and Isis::AdvancedTrackTool::updateRow().
|
virtual |
This method is implemented in Camera which defaults to the (pixel pitch * summing mode ) / 2.
If the instrument has a non-square ifov, it must implement this method to return offsets from the center of the pixel.
Reimplemented in Isis::HayabusaNirsCamera, Isis::VimsCamera, Isis::CSMCamera, and Isis::Camera.
Definition at line 81 of file Sensor.cpp.
References Isis::IException::Programmer.
|
inherited |
Returns the radii of the body in km.
The radii are obtained from the appropriate SPICE kernel for the body specified by TargetName in the Instrument group of the labels.
r[] | Radii of the target in kilometers |
Definition at line 930 of file Spice.cpp.
Referenced by Isis::Camera::BasicMapping(), Isis::Camera::GroundRange(), Isis::VimsGroundMap::Init(), Isis::MiniRF::MiniRF(), Isis::ControlPointEditWidget::openReferenceRadius(), Isis::QnetTool::openReferenceRadius(), Isis::SunShadowTool::recalculateShadowHeight(), Isis::RadarGroundMap::SetFocalPlane(), Isis::CSMCamera::setTarget(), and Isis::AdvancedTrackTool::updateRow().
|
protectedinherited |
This should be used for reading ALL text naif kernel values.
This will read it from Naif if we're using naif/not attached kernels. If we have attached kernels and a NaifKeywords label object we will grab it from there instead. This allows us to not furnish kernels after spiceinit.
key | The naif keyword,value name |
type | The naif value's primitive type |
index | The index into the naif keyword array to read |
Definition at line 1093 of file Spice.cpp.
Referenced by Isis::IdealCamera::IdealCamera().
|
inlinevirtual |
Virtual method that returns the pixel resolution of the sensor in meters/pix.
Reimplemented from Isis::Spice.
Reimplemented in Isis::Camera.
|
virtual |
Returns the right ascension angle (sky longitude).
Reimplemented in Isis::CSMCamera.
Definition at line 561 of file Sensor.cpp.
References computeRaDec(), m_newLookB, and m_ra.
Referenced by Isis::Camera::CelestialNorthClockAngle(), Isis::VimsSkyMap::Init(), Isis::Camera::RaDecRange(), Isis::Camera::RaDecResolution(), Isis::Camera::RawFocalPlanetoImage(), and Isis::AdvancedTrackTool::updateRow().
bool Isis::Sensor::SetGround | ( | const SurfacePoint & | surfacePt, |
bool | backCheck = true |
||
) |
This overloaded method has the opposite function as SetLookDirection.
Instead of computing a point on the target, a point is set and the look direction is computed. Other methods such as lat/lon, phase, incidence, etc. can be used if this method returns a true.
backCheck | If true this method will check the lat/lon point to see if it falls on the backside of the target (or beyond the horizon). If false this test will not occur. Defaults to true. |
Definition at line 443 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Isis::ShapeModel::clearSurfacePoint(), Coordinate(), Isis::Spice::instrumentPosition(), SetGroundLocal(), Isis::Target::shape(), and Isis::Spice::target().
|
private |
Computes look vector.
This method handles the common functions for the overloaded SetUniversalGround methods.
Instead of computing a point on the target, a point is set (lat,lon,radius) and the look direction is computed.
backCheck | If true this method will check the lat/lon point to see if it falls on the backside of the target (or beyond the horizon). If false this test will not occur. Defaults to true. |
Definition at line 475 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Isis::ShapeModel::clearSurfacePoint(), Coordinate(), Isis::ShapeModel::hasIntersection(), Isis::Spice::instrumentPosition(), Isis::ShapeModel::isVisibleFrom(), Isis::Displacement::kilometers(), lookDirectionBodyFixed(), m_lookB, m_newLookB, Isis::SpiceRotation::ReferenceVector(), Isis::ShapeModel::setHasIntersection(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by SetGround(), and SetUniversalGround().
bool Isis::Sensor::SetLookDirection | ( | const double | v[3] | ) |
Sets the look direction of the spacecraft.
This routine will then attempt to intersect the look direction with the target. If successful you can utilize the methods which return the lat/lon, phase, incidence, etc. This routine returns false if the look direction does not intersect the target.
v[] | A look vector in camera coordinates. For example, (0,0,1) is usually the look direction out of the boresight of a camera. |
Definition at line 141 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Coordinate(), Isis::Spice::instrumentPosition(), Isis::Spice::instrumentRotation(), Isis::SpiceRotation::J2000Vector(), m_lookB, m_newLookB, Isis::SpiceRotation::ReferenceVector(), Isis::ShapeModel::setHasIntersection(), Isis::Target::shape(), and Isis::Spice::target().
Referenced by Isis::PixelFOV::instantaneousFov(), Isis::CameraSkyMap::SetFocalPlane(), Isis::VimsGroundMap::SetFocalPlane(), Isis::VimsSkyMap::SetFocalPlane(), and SetRightAscensionDeclination().
bool Isis::Sensor::SetRightAscensionDeclination | ( | const double | ra, |
const double | dec | ||
) |
Given the ra/dec compute the look direction.
ra | Right ascension in degrees (sky longitude). |
dec | Declination in degrees (sky latitude). |
Definition at line 608 of file Sensor.cpp.
References Isis::Spice::instrumentRotation(), Isis::PI, Isis::SpiceRotation::ReferenceVector(), and SetLookDirection().
|
virtual |
By setting the time you essential set the position of the spacecraft and body as indicated in the class Spice.
However, after this is invoked there will be no intersection point until SetLookDirection or SetUniversalGround is invoked. (Read NAIF documentation for a detailed description of ephemeris time.)
time | Ephemeris time. |
Reimplemented from Isis::Spice.
Definition at line 97 of file Sensor.cpp.
References Isis::ShapeModel::clearSurfacePoint(), Isis::Spice::setTime(), Isis::Target::shape(), Isis::Spice::target(), and Isis::Spice::time().
Referenced by Isis::ApolloMetricCamera::ApolloMetricCamera(), Isis::ApolloPanoramicCamera::ApolloPanoramicCamera(), Isis::ClipperNacRollingShutterCamera::ClipperNacRollingShutterCamera(), Isis::ClipperPushBroomCamera::ClipperPushBroomCamera(), Isis::ClipperWacFcCamera::ClipperWacFcCamera(), Isis::CrismCamera::CrismCamera(), Isis::DawnFcCamera::DawnFcCamera(), Isis::DawnVirCamera::DawnVirCamera(), Isis::HayabusaAmicaCamera::HayabusaAmicaCamera(), Isis::HayabusaNirsCamera::HayabusaNirsCamera(), Isis::HiresCamera::HiresCamera(), Isis::Hyb2OncCamera::Hyb2OncCamera(), Isis::IdealCamera::IdealCamera(), Isis::VimsGroundMap::Init(), Isis::VimsSkyMap::Init(), Isis::IssNACamera::IssNACamera(), Isis::IssWACamera::IssWACamera(), Isis::JunoCamera::JunoCamera(), Isis::KaguyaMiCamera::KaguyaMiCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::Camera::LoadCache(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LroNarrowAngleCamera::LroNarrowAngleCamera(), Isis::LwirCamera::LwirCamera(), Isis::Mariner10Camera::Mariner10Camera(), Isis::MdisCamera::MdisCamera(), Isis::MexHrscSrcCamera::MexHrscSrcCamera(), Isis::MiniRF::MiniRF(), Isis::MsiCamera::MsiCamera(), Isis::NewHorizonsLorriCamera::NewHorizonsLorriCamera(), Isis::NirCamera::NirCamera(), Isis::OsirisRexOcamsCamera::OsirisRexOcamsCamera(), Isis::RosettaOsirisCamera::RosettaOsirisCamera(), Isis::RosettaVirtisCamera::RosettaVirtisCamera(), Isis::ThemisVisCamera::SetBand(), Isis::NewHorizonsMvicFrameCamera::SetBand(), Isis::VimsGroundMap::SetFocalPlane(), Isis::VimsSkyMap::SetFocalPlane(), Isis::PushFrameCameraDetectorMap::SetFramelet(), Isis::RadarPulseMap::SetParent(), Isis::CameraDetectorMap::SetParent(), Isis::LineScanCameraDetectorMap::SetParent(), Isis::RollingShutterCameraDetectorMap::SetParent(), Isis::VariableLineScanCameraDetectorMap::SetParent(), Isis::SsiCamera::SsiCamera(), Isis::TgoCassisCamera::TgoCassisCamera(), Isis::UvvisCamera::UvvisCamera(), Isis::VikingCamera::VikingCamera(), and Isis::VoyagerCamera::VoyagerCamera().
bool Isis::Sensor::SetUniversalGround | ( | const double | latitude, |
const double | longitude, | ||
bool | backCheck = true |
||
) |
This is the opposite routine for SetLookDirection.
Instead of computing a point on the target, a point is set and the look direction is computed. Other methods such as lat/lon, phase, incidence, etc. can be used if this method returns a true.
latitude | Planetocentric latitude. |
longitude | Positive east longitude. |
backCheck | If true this method will check the lat/lon point to see if it falls on the backside of the target (or beyond the horizon). If false this test will not occur. Defaults to true. |
Definition at line 359 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Isis::ShapeModel::clearSurfacePoint(), Coordinate(), Isis::Angle::Degrees, Isis::Spice::instrumentPosition(), SetGroundLocal(), Isis::Target::shape(), and Isis::Spice::target().
bool Isis::Sensor::SetUniversalGround | ( | const double | latitude, |
const double | longitude, | ||
const double | radius, | ||
bool | backCheck = true |
||
) |
This overloaded method has the opposite function as SetLookDirection.
Instead of computing a point on the target, a point is set and the look direction is computed. Other methods such as lat/lon, phase, incidence, etc. can be used if this method returns a true.
latitude | Planetocentric latitude in degrees. |
longitude | Positive east longitude in degrees. |
radius | Radius in meters. |
backCheck | If true this method will check the lat/lon point to see if it falls on the backside of the target (or beyond the horizon). If false this test will not occur. Defaults to true. |
Definition at line 401 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Isis::ShapeModel::clearSurfacePoint(), Coordinate(), Isis::Angle::Degrees, Isis::Spice::instrumentPosition(), Isis::Distance::Meters, SetGroundLocal(), Isis::Target::shape(), and Isis::Spice::target().
|
virtual |
Return the distance between the spacecraft and surface point in kmv.
Reimplemented in Isis::CSMCamera.
Definition at line 637 of file Sensor.cpp.
References Isis::Spice::bodyRotation(), Coordinate(), Isis::Spice::instrumentPosition(), Isis::Displacement::kilometers(), Isis::SpiceRotation::ReferenceVector(), Isis::Target::shape(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
Referenced by Isis::PushFrameCameraGroundMap::FindSpacecraftDistance(), and Isis::AdvancedTrackTool::updateRow().
|
virtual |
Returns the distance between the sun and surface point in AU.
Reimplemented in Isis::CSMCamera.
Definition at line 677 of file Sensor.cpp.
References Isis::Displacement::kilometers(), Isis::Target::shape(), Isis::Spice::sunPosition(), Isis::ShapeModel::surfaceIntersection(), and Isis::Spice::target().
|
virtualinherited |
Returns the solar longitude.
Definition at line 1509 of file Spice.cpp.
Referenced by Isis::AdvancedTrackTool::updateRow().
double Isis::Sensor::SpacecraftAltitude | ( | ) |
Returns the distance from the spacecraft to the subspacecraft point in km.
It uses the ellipsoid, not the shape model.
Definition at line 701 of file Sensor.cpp.
References Isis::Spice::instrumentPosition(), Isis::Distance::kilometers(), LocalRadius(), Isis::PI, and Isis::Spice::subSpacecraftPoint().
Referenced by Isis::CrismCamera::CrismCamera(), Isis::Camera::LoadCache(), and Isis::MiniRF::MiniRF().
void Isis::Sensor::SpacecraftSurfaceVector | ( | double | scSurfaceVector[3] | ) | const |
Sets the vector between the spacecraft and surface point in body-fixed.
scSurfaceVector | The direction vector from the observer to the surface intersection. |
Definition at line 625 of file Sensor.cpp.
References m_lookB.
|
virtualinherited |
Returns the sub-solar latitude/longitude in universal coordinates (0-360 positive east, ocentric)
lat | Sub-solar latitude |
lon | Sub-solar longitude |
Isis::IException::Programmer | - "You must call SetTime first." |
Reimplemented in Isis::CSMCamera.
Definition at line 1329 of file Spice.cpp.
References Isis::PI.
Referenced by LocalSolarTime(), and Isis::Camera::SunAzimuth().
|
virtualinherited |
Returns the sub-spacecraft latitude/longitude in universal coordinates (0-360 positive east, ocentric)
lat | Sub-spacecraft latitude |
lon | Sub-spacecraft longitude |
Isis::IException::Programmer | - "You must call SetTime first." |
Reimplemented in Isis::CSMCamera.
Definition at line 1278 of file Spice.cpp.
References Isis::PI.
Referenced by Isis::Camera::GroundRangeResolution(), SpacecraftAltitude(), and Isis::Camera::SpacecraftAzimuth().
|
virtualinherited |
Accessor method for the sun position.
Reimplemented in Isis::CSMCamera.
Definition at line 1589 of file Spice.cpp.
Referenced by SolarDistance().
|
virtualinherited |
Fills the input vector with sun position information, in either body-fixed or J2000 reference frame and km units.
p[] | Sun position |
Reimplemented in Isis::CSMCamera.
Definition at line 902 of file Spice.cpp.
Referenced by Isis::SunShadowTool::recalculateShadowHeight().
|
virtualinherited |
Returns a pointer to the target object.
Definition at line 1368 of file Spice.cpp.
Referenced by Isis::Camera::BasicMapping(), Isis::Camera::basicRingMapping(), Coordinate(), Isis::CSMCamera::EmissionAngle(), EmissionAngle(), Isis::FeatureNomenclatureTool::findMissingNomenclature(), GetLatitude(), Isis::Camera::GetLocalNormal(), GetLongitude(), GetSurfacePoint(), Isis::UniversalGroundMap::GroundRange(), Isis::Camera::GroundRangeResolution(), HasSurfaceIntersection(), IgnoreElevationModel(), Isis::ImportImagesWorkOrder::importConfirmedImages(), Isis::CSMCamera::IncidenceAngle(), IncidenceAngle(), Isis::Camera::LoadCache(), LocalRadius(), Isis::Camera::NorthAzimuth(), Isis::CSMCamera::PhaseAngle(), PhaseAngle(), Isis::Camera::RawFocalPlanetoImage(), Isis::VimsGroundMap::SetGround(), Isis::RadarGroundMap::SetGround(), SetGround(), Isis::Camera::SetGround(), Isis::CSMCamera::SetGround(), SetGroundLocal(), Isis::Camera::SetImage(), Isis::CSMCamera::SetImage(), SetLookDirection(), Isis::Camera::SetRightAscensionDeclination(), Isis::CSMCamera::setTarget(), setTime(), Isis::Camera::SetUniversalGround(), SetUniversalGround(), SlantDistance(), SolarDistance(), Isis::TrackTool::updateLabels(), and Isis::AdvancedTrackTool::updateRow().
|
virtualinherited |
Calculates and returns the distance from the spacecraft to the target center.
Reimplemented in Isis::CSMCamera.
|
inherited |
Returns the QString name of the target.
Definition at line 1378 of file Spice.cpp.
References Isis::Target::name().
|
inherited |
Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions.
IException::Programmer | "Unable to retrieve the time Spice::setTime must be called first." |
Definition at line 884 of file Spice.cpp.
Referenced by Isis::RadarSlantRangeMap::ComputeA(), Isis::HiresCamera::HiresCamera(), Isis::KaguyaTcCamera::KaguyaTcCamera(), Isis::LoHighCamera::LoHighCamera(), Isis::LoMediumCamera::LoMediumCamera(), Isis::LwirCamera::LwirCamera(), Isis::NewHorizonsMvicFrameCamera::SetBand(), Isis::LineScanCameraDetectorMap::SetDetector(), Isis::RadarPulseMap::SetDetector(), Isis::VariableLineScanCameraDetectorMap::SetDetector(), Isis::RadarSlantRangeMap::SetFocalPlane(), Isis::CameraDetectorMap::SetParent(), Isis::RollingShutterCameraDetectorMap::SetParent(), setTime(), Isis::RadarSlantRangeMap::SetUndistortedFocalPlane(), Isis::ApolloMetricCamera::ShutterOpenCloseTimes(), Isis::IssNACamera::ShutterOpenCloseTimes(), Isis::IssWACamera::ShutterOpenCloseTimes(), Isis::HiresCamera::ShutterOpenCloseTimes(), Isis::LwirCamera::ShutterOpenCloseTimes(), Isis::NirCamera::ShutterOpenCloseTimes(), Isis::UvvisCamera::ShutterOpenCloseTimes(), Isis::ClipperWacFcCamera::ShutterOpenCloseTimes(), Isis::DawnFcCamera::ShutterOpenCloseTimes(), Isis::SsiCamera::ShutterOpenCloseTimes(), Isis::HayabusaAmicaCamera::ShutterOpenCloseTimes(), Isis::HayabusaNirsCamera::ShutterOpenCloseTimes(), Isis::Hyb2OncCamera::ShutterOpenCloseTimes(), Isis::JunoCamera::ShutterOpenCloseTimes(), Isis::LoHighCamera::ShutterOpenCloseTimes(), Isis::LoMediumCamera::ShutterOpenCloseTimes(), Isis::Mariner10Camera::ShutterOpenCloseTimes(), Isis::MdisCamera::ShutterOpenCloseTimes(), Isis::MexHrscSrcCamera::ShutterOpenCloseTimes(), Isis::MsiCamera::ShutterOpenCloseTimes(), Isis::NewHorizonsLorriCamera::ShutterOpenCloseTimes(), Isis::NewHorizonsMvicFrameCamera::ShutterOpenCloseTimes(), Isis::OsirisRexOcamsCamera::ShutterOpenCloseTimes(), Isis::RosettaOsirisCamera::ShutterOpenCloseTimes(), Isis::TgoCassisCamera::ShutterOpenCloseTimes(), Isis::VikingCamera::ShutterOpenCloseTimes(), Isis::VoyagerCamera::ShutterOpenCloseTimes(), Isis::FramingCamera::ShutterOpenCloseTimes(), Isis::Camera::StartEndEphemerisTimes(), Isis::AdvancedTrackTool::updateRow(), and Isis::UvvisCamera::UvvisCamera().
|
virtual |
Returns the planetocentric latitude, in degrees, at the surface intersection point in the body fixed coordinate system.
Definition at line 210 of file Sensor.cpp.
References Isis::Angle::degrees(), and GetLatitude().
Referenced by Isis::QnetTool::addMeasure(), Isis::CameraStatistics::addStats(), Isis::ProjectionFactory::CreateForCube(), Isis::ControlPointEditWidget::createTemporaryGroundMeasure(), Isis::ControlNetFilter::CubeDistanceFilter(), Isis::QnetCubeDistanceFilter::filter(), Isis::InterestOperator::FindCnetRef(), Isis::QnetTool::findPointLocation(), Isis::SmtkMatcher::getLatLon(), Isis::Camera::GroundRangeResolution(), Isis::PixelFOV::instantaneousFov(), Isis::Cube::latLonRange(), Isis::Chip::Load(), Isis::Camera::NorthAzimuth(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::SetRightAscensionDeclination(), Isis::ControlPointEditWidget::setShapesForPoint(), Isis::UniversalGroundMap::UniversalLatitude(), Isis::TrackTool::updateLabels(), and Isis::AdvancedTrackTool::updateRow().
|
virtual |
Returns the positive east, 0-360 domain longitude, in degrees, at the surface intersection point in the body fixed coordinate system.
Definition at line 233 of file Sensor.cpp.
References Isis::Angle::degrees(), and GetLongitude().
Referenced by Isis::QnetTool::addMeasure(), Isis::CameraStatistics::addStats(), Isis::ProjectionFactory::CreateForCube(), Isis::ControlPointEditWidget::createTemporaryGroundMeasure(), Isis::ControlNetFilter::CubeDistanceFilter(), Isis::QnetCubeDistanceFilter::filter(), Isis::InterestOperator::FindCnetRef(), Isis::QnetTool::findPointLocation(), Isis::SmtkMatcher::getLatLon(), Isis::Camera::GroundRangeResolution(), Isis::PixelFOV::instantaneousFov(), Isis::Cube::latLonRange(), Isis::Chip::Load(), LocalSolarTime(), Isis::ControlNetFilter::PointDistanceFilter(), Isis::ControlNetFilter::PointLatLonFilter(), Isis::Camera::RawFocalPlanetoImage(), Isis::Camera::ringRangeResolution(), Isis::ProjectionFactory::RingsCreateForCube(), Isis::Camera::SetRightAscensionDeclination(), Isis::ControlPointEditWidget::setShapesForPoint(), Isis::UniversalGroundMap::UniversalLongitude(), Isis::TrackTool::updateLabels(), and Isis::AdvancedTrackTool::updateRow().
|
privateinherited |
|
protectedinherited |
This contains the transformation matrix from J2000 (J) to Body fixed (B).
Recall that the transpose of this matrix JB will convert from body-fixed to J2000. It is left in protected space so that conversions between double and SpiceDouble do not have to occur in inheriting classes.
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
private |
Decliation (sky latitude)
Definition at line 250 of file Sensor.h.
Referenced by computeRaDec(), and Declination().
|
privateinherited |
|
privateinherited |
|
protectedinherited |
Ephemeris time (read NAIF documentation for a detailed description)
Definition at line 382 of file Spice.h.
Referenced by Isis::CSMCamera::SetGround(), and Isis::CSMCamera::SetImage().
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
protected |
Look direction in body fixed.
Definition at line 239 of file Sensor.h.
Referenced by computeRaDec(), lookDirectionBodyFixed(), Isis::CSMCamera::SetGround(), SetGroundLocal(), Isis::CSMCamera::SetImage(), SetLookDirection(), and SpacecraftSurfaceVector().
|
privateinherited |
|
protected |
flag to indicate we need to recompute ra/dec
Definition at line 240 of file Sensor.h.
Referenced by computeRaDec(), Declination(), RightAscension(), Sensor(), Isis::CSMCamera::SetGround(), SetGroundLocal(), Isis::CSMCamera::SetImage(), and SetLookDirection().
|
private |
Right ascension (sky longitude)
Definition at line 249 of file Sensor.h.
Referenced by computeRaDec(), and RightAscension().
|
privateinherited |
|
protectedinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
privateinherited |
|
protectedinherited |
Target of the observation.
Definition at line 381 of file Spice.h.
Referenced by Isis::CSMCamera::setTarget().
|
protectedinherited |
This contains the sun position (u) in the bodyfixed reference frame (B).
It is left protected so that conversions between double and SpiceDouble do not have to occur in inheriting classes. Units are km
Definition at line 369 of file Spice.h.
Referenced by IncidenceAngle(), Isis::Camera::LocalPhotometricAngles(), and PhaseAngle().
|
privateinherited |
|
privateinherited |