57 if (frameCode == -64361) {
61 else if (frameCode == -64362) {
65 else if (frameCode == -64360) {
70 QString msg =
"Unable to construct OSIRIS-REx camera model. " 71 "Unrecognized NaifFrameCode [" +
toString(frameCode) +
"].";
78 QString ikCode =
toString(frameCode);
79 if (inst.
hasKeyword(
"PolyCamFocusPositionNaifId") && frameCode == -64360) {
80 if (QString::compare(
"NONE", inst[
"PolyCamFocusPositionNaifId"],
81 Qt::CaseInsensitive) != 0) {
82 ikCode = inst[
"PolyCamFocusPositionNaifId"][0];
86 QString focalLength =
"INS" + ikCode +
"_FOCAL_LENGTH";
90 QString pitch =
"INS" + ikCode +
"_PIXEL_SIZE";
95 QString clockCount = inst[
"SpacecraftClockStartCount"];
121 QString filterName = bandBin[
"FilterName"];
197 double exposureDuration) {
void SetFocalLength()
Reads the focal length from the instrument kernel.
bool hasKeyword(const QString &name) const
Check to see if a keyword exists.
virtual int CkFrameId() const
The frame ID for the spacecraft (or instrument) used by the Camera-matrix Kernel. ...
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
This class models the behavior and attributes of the OSIRIS-REx Cameras: Mapping Camera, PolyMath Camera, and Sample Camera.
Parse and return pieces of a time string.
QString m_instrumentNameLong
Full instrument name.
virtual void SetDistortion(int naifIkCode, QString filterName)
Load distortion coefficients and center-of-distortion for OCAMS.
void SetPixelPitch()
Reads the Pixel Pitch from the instrument kernel.
Namespace for the standard library.
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
void SetDetectorOrigin(const double sample, const double line)
Set the detector origin.
~OsirisRexOcamsCamera()
Destroys the MapCamera object.
virtual std::pair< iTime, iTime > ShutterOpenCloseTimes(double time, double exposureDuration)=0
Returns the shutter open and close times.
Convert between parent image coordinates and detector coordinates.
Convert between undistorted focal plane and ground coordinates.
Distort/undistort focal plane coordinates for OSIRIS REx's cameras.
Convert between distorted focal plane and detector coordinates.
QString m_instrumentNameShort
Shortened instrument name.
Contains multiple PvlContainers.
SpiceInt naifIkCode() const
This returns the NAIF IK code to use when reading from instrument kernels.
#define _FILEINFO_
Macro for the filename and line number.
A type of error that could only have occurred due to a mistake on the user's part (e...
iTime getClockTime(QString clockValue, int sclkCode=-1, bool clockTicks=false)
This converts the spacecraft clock ticks value (clockValue) to an iTime.
virtual int SpkReferenceId() const
The reference frame ID for the Spacecraft Kernel is 1, representing J2000.
void setTime(const iTime &time)
By setting the time you essential set the position of the spacecraft and body as indicated in the cla...
Container for cube-like labels.
virtual int CkReferenceId() const
The frame ID for the reference coordinate system used by the Camera-matrix Kernel.
void LoadCache()
This loads the spice cache big enough for this image.
QString m_spacecraftNameLong
Full spacecraft name.
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
virtual std::pair< iTime, iTime > ShutterOpenCloseTimes(double time, double exposureDuration)
Returns the shutter open and close times.
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred.
Namespace for ISIS/Bullet specific routines.
Isis::Camera * OsirisRexOcamsCameraPlugin(Isis::Cube &cube)
This is the function that is called in order to instantiate a MapCamera object.
Convert between undistorted focal plane and ra/dec coordinates.
QString m_spacecraftNameShort
Shortened spacecraft name.
virtual double exposureDuration() const
Return the exposure duration for the pixel that the camera is set to.
Generic class for Framing Cameras.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
double Et() const
Returns the ephemeris time (TDB) representation of the time as a double.
SpiceDouble getDouble(const QString &key, int index=0)
This returns a value from the NAIF text pool.
IO Handler for Isis Cubes.
iTime time() const
Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions...