Isis 3 Programmer Reference
Isis::IsisSensor Class Reference

Implementation of SensorUtilities::Sensor backed by an ISIS camera model. More...

#include <IsisSensor.h>

Inheritance diagram for Isis::IsisSensor:
Inheritance graph
Collaboration diagram for Isis::IsisSensor:
Collaboration graph

Public Member Functions

 IsisSensor (Camera *cam)
 Create an IsisSensor wrapping an ISIS Camera object.
 
virtual SensorUtilities::ObserverState getState (const SensorUtilities::ImagePt &imagePoint)
 Get the sensor state at an image coordinate.
 
virtual SensorUtilities::ObserverState getState (const SensorUtilities::GroundPt3D &groundPt)
 Get the sensor state as it observes a ground point.
 

Private Attributes

Cameram_cam
 

Detailed Description

Implementation of SensorUtilities::Sensor backed by an ISIS camera model.

This includes a full shape model and sun, but they are not used except when getting the state from a ground point, the ground point is mapped back onto the surface model prior to back-projection.

Definition at line 20 of file IsisSensor.h.

Constructor & Destructor Documentation

◆ IsisSensor()

Isis::IsisSensor::IsisSensor ( Camera * cam)

Create an IsisSensor wrapping an ISIS Camera object.

Definition at line 23 of file IsisSensor.cpp.

Member Function Documentation

◆ getState() [1/2]

SensorUtilities::ObserverState Isis::IsisSensor::getState ( const SensorUtilities::GroundPt3D & groundPt)
virtual

Get the sensor state as it observes a ground point.

The ground points is mapped back onto the surface model used by the ISIS Camera prior to back projecting it into the image. So, it is possible this will not perfectly invert with getState(ImagePt) depending on how what surface model you then intersect it with.

Definition at line 90 of file IsisSensor.cpp.

References Isis::Camera::Band(), Isis::Sensor::GetSurfacePoint(), Isis::Spice::instrumentBodyFixedPosition(), Isis::Camera::Line(), Isis::Sensor::lookDirectionBodyFixed(), Isis::Sensor::lookDirectionJ2000(), Isis::Distance::Meters, Isis::Angle::Radians, Isis::Camera::Sample(), Isis::Camera::SetBand(), Isis::Camera::SetGround(), Isis::Camera::SetImage(), and Isis::Spice::time().

◆ getState() [2/2]

SensorUtilities::ObserverState Isis::IsisSensor::getState ( const SensorUtilities::ImagePt & imagePoint)
virtual

Get the sensor state at an image coordinate.

If the image coordinate matches the image coordinate that the ISIS Camera is already set to, then it will not compute a new intersection. Note that SensorUtilities::ImagePt are 0-based and ISIS image coordiantes are 0.5-based. The input is expected to use the SensorUtilities convention to conform to the interface. This function handles the conversion to and from ISIS image coordinates.

Definition at line 37 of file IsisSensor.cpp.

References Isis::Camera::Band(), Isis::Spice::instrumentBodyFixedPosition(), Isis::Camera::IsBandIndependent(), Isis::Camera::Line(), Isis::Sensor::lookDirectionBodyFixed(), Isis::Sensor::lookDirectionJ2000(), Isis::Camera::Sample(), Isis::Camera::SetBand(), Isis::Camera::SetImage(), and Isis::Spice::time().

Member Data Documentation

◆ m_cam

Camera* Isis::IsisSensor::m_cam
private

Definition at line 27 of file IsisSensor.h.


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