69 QString fl =
"INS" + ikCode +
"_FOCAL_LENGTH";
75 QString pp =
"INS" + ikCode +
"_PIXEL_SIZE";
92 double pixelAveragingWidth=(double) inst[
"PixelAveragingWidth"];
93 double pixelAveragingHeight=(double) inst[
"PixelAveragingHeight"];
104 QString clockStartCount = inst[
"SpacecraftClockStartCount"];
108 double exposureTime = (double) inst[
"ExposureDuration"];
112 QString filterNumber = BandBin[
"FilterNumber"];
118 double referenceSample =
Spice::getDouble(
"INS" + ikCode +
"_BORESIGHT",0) + 1.0;
119 double referenceLine =
Spice::getDouble(
"INS" + ikCode +
"_BORESIGHT",1) + 1.0;
125 distortionMap->
setBoresight(referenceSample, referenceLine);
127 iTime centerTime = start + (exposureTime / 2.0);
157 double exposureDuration) {
176 for (
int i = 0; i < 4; i++) {
177 for (
int j = 0; j < 4; j++) {
178 toUnDistX(i, j) =
Spice::getDouble(
"INS" + ikCode +
"_TO_UNDISTORTED_X", 4 * i + j);
179 toUnDistY(i, j) =
Spice::getDouble(
"INS" + ikCode +
"_TO_UNDISTORTED_Y", 4 * i + j);
void SetFocalLength()
Reads the focal length from the instrument kernel.
Unless noted otherwise, the portions of Isis written by the USGS are public domain.
Isis::Camera * RosettaOsirisCameraPlugin(Isis::Cube &cube)
This is the function that is called in order to instantiate an OsirisNacCamera object.
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
Parse and return pieces of a time string.
This is the camera model for the Osiris NAC Framing Camera.
Distortion map for converting between undistorted focal plane and distorted focal plane coordinates f...
QString m_instrumentNameLong
Full instrument name.
void SetDetectorSampleSumming(const double summing)
Set sample summing mode.
void setUnDistortedXMatrix(LinearAlgebra::Matrix xMat)
Set the matrix for converting from distorted to undistorted samples.
void SetPixelPitch()
Reads the Pixel Pitch from the instrument kernel.
Namespace for the standard library.
boost::numeric::ublas::matrix< double > Matrix
Definition for an Isis::LinearAlgebra::Matrix of doubles.
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.
static Matrix zeroMatrix(int rows, int columns)
Returns a matrix with given dimensions that is filled with zeroes.
void initDistortion(QString ikCode, RosettaOsirisCameraDistortionMap *distortionMap)
Initialize the distortion map using the paramters from the NAIF SPICE kernels.
void SetDetectorLineSumming(const double summing)
Set line summing mode.
void SetStartingDetectorLine(const double line)
Set the starting detector line.
void setPixelPitch(double pitch)
Set the pixel pitch for converting from focal plane coordinates to pixel coordinates.
virtual std::pair< iTime, iTime > ShutterOpenCloseTimes(double time, double exposureDuration)=0
Returns the shutter open and close times.
void setBoresight(double sample, double line)
Set the boresight location for converting from focal plane coordinates to pixel coordinates.
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.
Contains multiple PvlContainers.
SpiceInt naifIkCode() const
This returns the NAIF IK code to use when reading from instrument kernels.
iTime getClockTime(QString clockValue, int sclkCode=-1, bool clockTicks=false)
This converts the spacecraft clock ticks value (clockValue) to an iTime.
void setUnDistortedYMatrix(LinearAlgebra::Matrix yMat)
Set the matrix for converting from distorted to undistorted lines.
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.
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
void SetStartingDetectorSample(const double sample)
Set the starting detector sample.
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred.
Namespace for ISIS/Bullet specific routines.
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)
Reimplemented from FrameCamera.
virtual double exposureDuration() const
Return the exposure duration for the pixel that the camera is set to.
Generic class for Framing Cameras.
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...