10#include "VimsGroundMap.h"
11#include "VimsSkyMap.h"
22#include "CameraDetectorMap.h"
23#include "CameraDistortionMap.h"
24#include "CameraFocalPlaneMap.h"
27#include "IException.h"
30#include "NaifStatus.h"
31#include "SpecialPixel.h"
63 QString channel = (QString) inst [
"Channel"];
68 if (channel ==
"VIS") {
72 if (QString((QString)inst[
"SamplingMode"]).toUpper() ==
"NORMAL") {
75 m_pixelPitchX = 0.024 * 3;
76 m_pixelPitchY = 0.024 * 3;
78 else if (QString((QString)inst[
"SamplingMode"]).toUpper() ==
"HI-RES") {
80 m_pixelPitchX = 0.024;
81 m_pixelPitchY = 0.024;
83 else if (QString((QString)inst[
"SamplingMode"]).toUpper() ==
"UNDER") {
84 QString msg =
"Isis cannot process images with a SamplingMode = \"UNDER\" (or NYQUIST)";
88 QString msg =
"Unknown SamplingMode [" + (QString) inst[
"SamplingMode"] +
"]";
92 else if (channel ==
"IR") {
97 if (QString((QString)inst[
"SamplingMode"]).toUpper() ==
"NORMAL") {
101 else if (QString((QString)inst[
"SamplingMode"]).toUpper() ==
"HI-RES") {
102 m_pixelPitchX = 0.103;
105 else if (QString((QString)inst[
"SamplingMode"]).toUpper() ==
"UNDER") {
106 QString msg =
"Isis cannot process images with a SamplingMode = \"UNDER\" (or NYQUIST)";
110 QString msg =
"Unknown SamplingMode [" + (QString) inst[
"SamplingMode"] +
"]";
116 QString stime = inst [
"NativeStartTime"][0];
117 QString intTime = stime.split(
".").first();
118 stime = stime.split(
".").last();
121 QString etime = (QString) inst [
"NativeStopTime"];
122 intTime = etime.split(
".").first();
123 etime = etime.split(
".").last();
167 for (
double x = -m_pixelPitchX / 2.0; x <= m_pixelPitchX / 2.0; x += m_pixelPitchX / (npts-1)) {
168 offsets.append(QPointF(x, -m_pixelPitchY / 2.0));
171 for (
double y = -m_pixelPitchY / 2.0; y <= m_pixelPitchY / 2.0; y += m_pixelPitchY / (npts-1)) {
172 offsets.append(QPointF(m_pixelPitchX / 2.0, y));
175 for (
double x = m_pixelPitchX / 2.0; x >= -m_pixelPitchX / 2.0; x -= m_pixelPitchX / (npts-1)) {
176 offsets.append(QPointF(x, m_pixelPitchY / 2.0));
179 for (
double y = m_pixelPitchY / 2.0; y >= -m_pixelPitchY / 2.0; y -= m_pixelPitchY / (npts-1)) {
180 offsets.append(QPointF(-m_pixelPitchX / 2.0, y));
Convert between parent image coordinates and detector coordinates.
Distort/undistort focal plane coordinates.
Convert between distorted focal plane and detector coordinates.
QString m_spacecraftNameLong
Full spacecraft name.
void IgnoreProjection(bool ignore)
Set whether or not the camera should ignore the Projection.
Camera(Cube &cube)
Constructs the Camera object.
CameraSkyMap * SkyMap()
Returns a pointer to the CameraSkyMap object.
virtual bool SetImage(const double sample, const double line)
Sets the sample/line values of the image to get the lat/lon values.
void SetFocalLength()
Reads the focal length from the instrument kernel.
void SetPixelPitch()
Reads the Pixel Pitch from the instrument kernel.
void LoadCache()
This loads the spice cache big enough for this image.
QString m_instrumentNameShort
Shortened instrument name.
QString m_spacecraftNameShort
Shortened spacecraft name.
CameraGroundMap * GroundMap()
Returns a pointer to the CameraGroundMap object.
QString m_instrumentNameLong
Full instrument name.
IO Handler for Isis Cubes.
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
@ Programmer
This error is for when a programmer made an API call that was illegal.
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred.
Contains multiple PvlContainers.
Container for cube-like labels.
@ Traverse
Search child objects.
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
SpiceInt naifIkCode() const
This returns the NAIF IK code to use when reading from instrument kernels.
Cassini Vims camera model.
VimsCamera(Cube &cube)
Constructor for the Cassini Vims Camera Model.
virtual QList< QPointF > PixelIfovOffsets()
Returns the pixel ifov offsets from center of pixel.
Convert between undistorted focal plane and ground coordinates.
Convert between undistorted focal plane and ground coordinates.
This is free and unencumbered software released into the public domain.
This is free and unencumbered software released into the public domain.
Namespace for the standard library.