67 QString spacecraft = inst[
"SPACECRAFTNAME"];
68 QString instId = inst[
"INSTRUMENTID"];
71 double raster, cone, crosscone;
73 if(spacecraft ==
"VIKING_ORBITER_1") {
81 if(instId ==
"VISUAL_IMAGING_SUBSYSTEM_CAMERA_A") {
84 crosscone = -0.707350;
90 else if(instId ==
"VISUAL_IMAGING_SUBSYSTEM_CAMERA_B") {
100 QString msg =
"File does not appear to be a Viking image. InstrumentId ["
101 + instId +
"] is invalid Viking value.";
105 else if(spacecraft ==
"VIKING_ORBITER_2") {
112 altinstcode = -30999;
113 if(instId ==
"VISUAL_IMAGING_SUBSYSTEM_CAMERA_A") {
116 crosscone = -0.679330;
122 else if(instId ==
"VISUAL_IMAGING_SUBSYSTEM_CAMERA_B") {
125 crosscone = 0.663000;
132 QString msg =
"File does not appear to be a Viking image. InstrumentId ["
133 + instId +
"] is invalid Viking value.";
138 QString msg =
"File does not appear to be a Viking image. SpacecraftName ["
139 + spacecraft +
"] is invalid Viking value.";
162 QString spacecraftClock = inst[
"SpacecraftClockCount"];
169 SpiceDouble CP[3][3];
170 eul2m_c((SpiceDouble)raster * rpd_c(), (SpiceDouble)cone * rpd_c(),
171 (SpiceDouble) - crosscone * rpd_c(), 3, 2, 1, CP);
178 double centerTime = shuttertimes.first.Et() + exposureDuration / 2.0;
180 et2utc_c(centerTime,
"ISOC", 3, 25, timepds);
181 utc2et_c(timepds, ¢erTime);
192 +
"MasterReseaus.pvl").expanded();
226 double exposureDuration) {
227 pair<iTime, iTime> shuttertimes;
229 if(exposureDuration <= .420) {
230 offset1 = 7.0 / 8.0 * 4.48;
233 offset1 = 3.0 / 8.0 * 4.48;
235 double offset2 = 1.0 / 64.0 * 4.48;
238 shuttertimes.first = time + offset1 + offset2;
void SetFocalLength()
Reads the focal length from the instrument kernel.
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
File name manipulation and expansion.
QString m_instrumentNameLong
Full instrument name.
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
void SetPixelPitch()
Reads the Pixel Pitch from the instrument kernel.
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.
double Et() const
Returns the ephemeris time (TDB) representation of the time as a double.
int p_spkTargetId
Spacecraft Kernel Target ID.
virtual double exposureDuration() const
Return the exposure duration for the pixel that the camera is set to.
Convert between parent image coordinates and detector coordinates.
Convert between undistorted focal plane and ground coordinates.
Convert between distorted focal plane and detector coordinates.
QString m_instrumentNameShort
Shortened instrument name.
Distort/undistort focal plane coordinates.
Contains multiple PvlContainers.
int p_ckFrameId
"Camera-matrix" Kernel Frame ID
#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...
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.
void LoadCache()
This loads the spice cache big enough for this image.
QString m_spacecraftNameLong
Full spacecraft name.
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred.
SpiceInt naifIkCode() const
This returns the NAIF IK code to use when reading from instrument kernels.
Isis::Camera * VikingCameraPlugin(Isis::Cube &cube)
This is the function that is called in order to instantiate a VikingCamera object.
iTime getClockTime(QString clockValue, int sclkCode=-1)
This converts the spacecraft clock ticks value (clockValue) to an iTime.
Convert between undistorted focal plane and ra/dec coordinates.
QString m_spacecraftNameShort
Shortened spacecraft name.
virtual std::pair< iTime, iTime > ShutterOpenCloseTimes(double time, double exposureDuration)
Returns the shutter open and close times.
Generic class for Framing Cameras.
IO Handler for Isis Cubes.