Isis Developer Reference
Camera.h
Go to the documentation of this file.
1 #ifndef Camera_h
2 #define Camera_h
3 
8 /* SPDX-License-Identifier: CC0-1.0 */
9 
10 #include "Sensor.h"
11 
12 #include <QList>
13 #include <QPointF>
14 #include <QString>
15 
16 #include "AlphaCube.h"
17 
18 namespace Isis {
19  class Angle;
20  class CameraDetectorMap;
21  class CameraFocalPlaneMap;
22  class CameraDistortionMap;
23  class CameraGroundMap;
24  class CameraSkyMap;
25  class Distance;
26  class Latitude;
27  class Longitude;
28  class Projection;
29  class SurfacePoint;
30 
236  class Camera : public Sensor {
237  public:
238  // constructors
239  Camera(Cube &cube);
240 
241  // destructor
243  virtual ~Camera();
244 
245  // Methods
246  virtual bool SetImage(const double sample, const double line);
247  virtual bool SetImage(const double sample, const double line, const double deltaT);
248 
249  virtual bool SetUniversalGround(const double latitude, const double longitude);
250  virtual bool SetUniversalGround(const double latitude, const double longitude,
251  const double radius);
252  virtual bool SetGround(Latitude latitude, Longitude longitude);
253  virtual bool SetGround(const SurfacePoint & surfacePt);
254  bool SetRightAscensionDeclination(const double ra, const double dec);
255 
256  void LocalPhotometricAngles(Angle & phase, Angle & incidence,
257  Angle & emission, bool &success);
258 
259  void GetLocalNormal(double normal[3]);
260 
261  bool HasProjection();
262  virtual bool IsBandIndependent();
263  int ReferenceBand() const;
264  bool HasReferenceBand() const;
265  virtual void SetBand(const int band);
266  virtual double Sample() const;
267  int Band() const;
268  virtual double Line() const;
269 
270  bool GroundRange(double &minlat, double &maxlat, double &minlon,
271  double &maxlon, Pvl &pvl);
272  bool ringRange(double &minRingRadius, double &maxRingRadius,
273  double &minRingLongitude, double &maxRingLongitude, Pvl &pvl);
274  bool IntersectsLongitudeDomain(Pvl &pvl);
275 
276  virtual double PixelResolution();
277  virtual double LineResolution();
278  virtual double SampleResolution();
279  virtual double DetectorResolution();
280 
281  virtual double ObliqueDetectorResolution();
282  virtual double ObliqueSampleResolution();
283  virtual double ObliqueLineResolution();
284  virtual double ObliquePixelResolution();
285 
286 
287  virtual double resolution();
288  double LowestImageResolution();
289  double HighestImageResolution();
292 
293  void BasicMapping(Pvl &map);
294  void basicRingMapping(Pvl &map);
295 
296  double FocalLength() const;
297  double PixelPitch() const;
298  virtual double exposureDuration() const;
299  virtual double exposureDuration(const double sample,
300  const double line,
301  const int band = -1) const;
303 
304  int Samples() const;
305  int Lines() const;
306  int Bands() const;
307  int ParentLines() const;
308  int ParentSamples() const;
309 
310  double CelestialNorthClockAngle();
311 
312  bool RaDecRange(double &minra, double &maxra,
313  double &mindec, double &maxdec);
314  double RaDecResolution();
315 
320  CameraSkyMap *SkyMap();
321 
322  QString instrumentId();
323 
324  QString instrumentNameLong() const;
325  QString instrumentNameShort() const;
326  QString spacecraftNameLong() const;
327  QString spacecraftNameShort() const;
328 
329  void SetDistortionMap(CameraDistortionMap *map, bool deleteExisting = true);
332  void SetGroundMap(CameraGroundMap *map);
333  void SetSkyMap(CameraSkyMap *map);
334 
335  double NorthAzimuth();
336  double SunAzimuth();
337  double SpacecraftAzimuth();
338  double OffNadirAngle();
339 
340  static double GroundAzimuth(double glat, double glon, double slat,
341  double slon);
342 
343  void IgnoreProjection(bool ignore);
344 
345  void LoadCache();
346  std::pair< double, double > StartEndEphemerisTimes();
347  int CacheSize(double startTime, double endTime);
348 
349 
350  void GetGeometricTilingHint(int &startSize, int &endSize);
351 
352  bool InCube();
353 
357  enum CameraType {
364  Csm
365  };
366 
374  virtual CameraType GetCameraType() const = 0;
375 
407  virtual int CkFrameId() const = 0;
408 
440  virtual int CkReferenceId() const = 0;
441 
472  virtual int SpkReferenceId() const = 0;
473  virtual int SpkTargetId() const;
474  virtual int SpkCenterId() const;
475 
476 
477  protected:
478 
479  void SetFocalLength(double v);
480  void SetPixelPitch(double v);
481 
482  void SetFocalLength();
483  void SetPixelPitch();
484 
485  void SetGeometricTilingHint(int startSize = 128, int endSize = 8);
486 
487  // These 2 classes need to be friends of the Camera class because
488  // of the way Radar works - there is no set focal length for the
489  // instrument, so the focal length needs to be set each time the
490  // slant range changes.
491  friend class RadarGroundMap;
492  friend class RadarSlantRangeMap;
493 
494  QString m_instrumentId;
495 
500 
501  double p_childSample;
502  double p_childLine;
504 
506 
507  private:
508  void GroundRangeResolution();
509  void ringRangeResolution();
510  double ComputeAzimuth(const double lat, const double lon);
511  bool RawFocalPlanetoImage();
512  // SetImage helper functions:
513  // bool SetImageNoProjection(const double sample, const double line);
514  bool SetImageMapProjection(const double sample, const double line, ShapeModel *shape);
515  bool SetImageSkyMapProjection(const double sample, const double line, ShapeModel *shape);
516 
517 
518  double p_focalLength;
519  double p_pixelPitch;
520 
521  double p_minlat;
522  double p_maxlat;
523  double p_minlon;
524  double p_maxlon;
525  double p_minres;
526  double p_maxres;
527  double p_minobliqueres;
528  double p_maxobliqueres;
529  double p_minlon180;
530  double p_maxlon180;
531 
532  bool p_groundRangeComputed;
533 
534 
535  int p_samples;
536  int p_lines;
537  int p_bands;
538 
539  int p_referenceBand;
540 
541  Projection *p_projection;
542  bool p_ignoreProjection;
543 
544  double p_mindec;
545  double p_maxdec;
546  double p_minra;
547  double p_maxra;
548  double p_minra180;
549  double p_maxra180;
550 
551  bool p_raDecRangeComputed;
552 
553  double p_minRingRadius;
554  double p_maxRingRadius;
555  double p_minRingLongitude;
556  double p_maxRingLongitude;
557  double p_minRingLongitude180;
558  double p_maxRingLongitude180;
559 
560  bool p_ringRangeComputed;
561 
562 
563  int p_childBand;
564  CameraDistortionMap *p_distortionMap;
565  CameraFocalPlaneMap *p_focalPlaneMap;
566  CameraDetectorMap *p_detectorMap;
567  CameraGroundMap *p_groundMap;
568  CameraSkyMap *p_skyMap;
569 
571  int p_geometricTilingStartSize;
573  int p_geometricTilingEndSize;
574 
575  };
576 };
577 
578 #endif
579 
580 
Isis::Distance::kilometers
double kilometers() const
Get the distance in kilometers.
Definition: Distance.cpp:106
Isis::Spice::radii
void radii(Distance r[3]) const
Returns the radii of the body in km.
Definition: Spice.cpp:930
Isis::Camera::SetBand
virtual void SetBand(const int band)
Virtual method that sets the band number.
Definition: Camera.cpp:2680
Isis::Camera::CacheSize
int CacheSize(double startTime, double endTime)
This method calculates the spice cache size.
Definition: Camera.cpp:2527
Isis::Angle::Degrees
@ Degrees
Degrees are generally considered more human readable, 0-360 is one circle, however most math does not...
Definition: Angle.h:56
Isis::Camera::CkFrameId
virtual int CkFrameId() const =0
Provides the NAIF frame code for an instruments CK kernel.
Isis::Camera::~Camera
virtual ~Camera()
Destroys the Camera Object.
Definition: Camera.cpp:108
Isis::Camera::IgnoreProjection
void IgnoreProjection(bool ignore)
Set whether or not the camera should ignore the Projection.
Definition: Camera.cpp:2925
Isis::Camera::SetRightAscensionDeclination
bool SetRightAscensionDeclination(const double ra, const double dec)
Sets the right ascension declination.
Definition: Camera.cpp:1435
Isis::HALFPI
const double HALFPI
The mathematical constant PI/2.
Definition: Constants.h:41
AlphaCube.h
Isis::Camera::exposureDuration
virtual double exposureDuration() const
Return the exposure duration for the pixel that the camera is set to.
Definition: Camera.cpp:3063
Isis::CameraGroundMap::FocalPlaneX
double FocalPlaneX() const
Definition: CameraGroundMap.h:122
Isis::Projection::SetGround
virtual bool SetGround(const double lat, const double lon)=0
Isis::Spice::time
iTime time() const
Returns the ephemeris time in seconds which was used to obtain the spacecraft and sun positions.
Definition: Spice.cpp:884
Isis::Camera::SetGeometricTilingHint
void SetGeometricTilingHint(int startSize=128, int endSize=8)
This method sets the best geometric tiling size for projecting from this camera model.
Definition: Camera.cpp:2554
ProjectionFactory.h
Isis::CameraSkyMap::SetSky
virtual bool SetSky(const double ra, const double dec)
Compute undistorted focal plane coordinate from ra/dec.
Definition: CameraSkyMap.cpp:65
Isis::Target::shape
ShapeModel * shape() const
Return the shape.
Definition: Target.cpp:655
Isis::PvlObject::findGroup
PvlGroupIterator findGroup(const QString &name, PvlGroupIterator beg, PvlGroupIterator end)
Find a group with the specified name, within these indexes.
Definition: PvlObject.h:129
Isis::Spice::subSolarPoint
virtual void subSolarPoint(double &lat, double &lon)
Returns the sub-solar latitude/longitude in universal coordinates (0-360 positive east,...
Definition: Spice.cpp:1329
Isis::Camera::Band
int Band() const
Returns the current band.
Definition: Camera.cpp:2700
Isis::ShapeModel::clearSurfacePoint
virtual void clearSurfacePoint()
Clears or resets the current surface point.
Definition: ShapeModel.cpp:386
Isis::CameraFocalPlaneMap::FocalPlaneY
double FocalPlaneY() const
Definition: CameraFocalPlaneMap.cpp:247
Isis::Spice::subSpacecraftPoint
virtual void subSpacecraftPoint(double &lat, double &lon)
Returns the sub-spacecraft latitude/longitude in universal coordinates (0-360 positive east,...
Definition: Spice.cpp:1278
Isis::ShapeModel::calculateLocalNormal
virtual void calculateLocalNormal(QVector< double * > neighborPoints)=0
Isis::SurfacePoint::GetX
Displacement GetX() const
Definition: SurfacePoint.cpp:1436
Isis::Spice::instrumentPosition
virtual SpicePosition * instrumentPosition() const
Accessor method for the instrument position.
Definition: Spice.cpp:1600
Isis::CameraDetectorMap
Convert between parent image coordinates and detector coordinates.
Definition: CameraDetectorMap.h:47
Isis::PI
const double PI
The mathematical constant PI.
Definition: Constants.h:40
Isis::Sensor::SpacecraftAltitude
double SpacecraftAltitude()
Returns the distance from the spacecraft to the subspacecraft point in km.
Definition: Sensor.cpp:701
Isis::Camera::ParentLines
int ParentLines() const
Returns the number of lines in the parent alphacube.
Definition: Camera.cpp:2806
Isis::Spice::naifBodyCode
SpiceInt naifBodyCode() const
This returns the NAIF body code of the target indicated in the labels.
Definition: Spice.cpp:941
Isis::Camera::ObliquePixelResolution
virtual double ObliquePixelResolution()
Returns the oblique pixel resolution at the current position in meters/pixel.
Definition: Camera.cpp:685
Isis::Camera::SkyMap
CameraSkyMap * SkyMap()
Returns a pointer to the CameraSkyMap object.
Definition: Camera.cpp:2866
Isis::PvlKeyword
A single keyword-value pair.
Definition: PvlKeyword.h:82
Isis::Camera::SpkTargetId
virtual int SpkTargetId() const
Provides target code for instruments SPK NAIF kernel.
Definition: Camera.cpp:2963
QList
This is free and unencumbered software released into the public domain.
Definition: BoxcarCachingAlgorithm.h:13
Isis::Camera::p_childLine
double p_childLine
Line value for child.
Definition: Camera.h:502
Isis::Latitude
This class is designed to encapsulate the concept of a Latitude.
Definition: Latitude.h:51
Isis::Camera::SetSkyMap
void SetSkyMap(CameraSkyMap *map)
Sets the Sky Map.
Definition: Camera.cpp:2401
Isis::Spice::naifIkCode
SpiceInt naifIkCode() const
This returns the NAIF IK code to use when reading from instrument kernels.
Definition: Spice.cpp:968
Isis::TProjection::UniversalLatitude
virtual double UniversalLatitude()
This returns a universal latitude (planetocentric).
Definition: TProjection.cpp:908
Isis::Sensor::HasSurfaceIntersection
bool HasSurfaceIntersection() const
Returns if the last call to either SetLookDirection or SetUniversalGround had a valid intersection wi...
Definition: Sensor.cpp:186
Isis::Camera::SetImage
virtual bool SetImage(const double sample, const double line)
Sets the sample/line values of the image to get the lat/lon values.
Definition: Camera.cpp:154
Isis::Camera::Radar
@ Radar
Radar Camera.
Definition: Camera.h:361
SpecialPixel.h
ShapeModel.h
Isis::Camera::IntersectsLongitudeDomain
bool IntersectsLongitudeDomain(Pvl &pvl)
Checks whether the ground range intersects the longitude domain or not.
Definition: Camera.cpp:1165
Isis::DEG2RAD
const double DEG2RAD
Multiplier for converting from degrees to radians.
Definition: Constants.h:43
Isis::Camera::SetDetectorMap
void SetDetectorMap(CameraDetectorMap *map)
Sets the Detector Map.
Definition: Camera.cpp:2372
Isis::CameraDistortionMap::UndistortedFocalPlaneX
double UndistortedFocalPlaneX() const
Gets the x-value in the undistorted focal plane coordinate system.
Definition: CameraDistortionMap.cpp:237
Isis::CameraDetectorMap::DetectorSample
double DetectorSample() const
Return detector sample.
Definition: CameraDetectorMap.cpp:153
Isis::Camera::SetGroundMap
void SetGroundMap(CameraGroundMap *map)
Sets the Ground Map.
Definition: Camera.cpp:2387
Isis::Camera::Sample
virtual double Sample() const
Returns the current sample number.
Definition: Camera.cpp:2690
Isis::Camera::GetCameraType
virtual CameraType GetCameraType() const =0
Returns the type of camera that was created.
Isis::IException::Unknown
@ Unknown
A type of error that cannot be classified as any of the other error types.
Definition: IException.h:118
Isis::ShapeModel::setHasIntersection
void setHasIntersection(bool b)
Sets the flag to indicate whether this ShapeModel has an intersection.
Definition: ShapeModel.cpp:554
Target.h
Isis::Camera::m_instrumentNameLong
QString m_instrumentNameLong
Full instrument name.
Definition: Camera.h:496
Isis::CameraDetectorMap::SampleScaleFactor
virtual double SampleScaleFactor() const
Return scaling factor for computing sample resolution.
Definition: CameraDetectorMap.cpp:173
Sensor.h
Isis::CameraDistortionMap::SetUndistortedFocalPlane
virtual bool SetUndistortedFocalPlane(double ux, double uy)
Compute distorted focal plane x/y.
Definition: CameraDistortionMap.cpp:130
Isis::CameraDetectorMap::SetParent
virtual bool SetParent(const double sample, const double line)
Compute detector position from a parent image coordinate.
Definition: CameraDetectorMap.cpp:63
Isis::Camera::ObliqueDetectorResolution
virtual double ObliqueDetectorResolution()
This method returns the Oblique Detector Resolution if the Look Vector intersects the target and if t...
Definition: Camera.cpp:582
Isis::AlphaCube::AlphaLine
double AlphaLine(double betaLine)
Returns an alpha line given a beta line.
Definition: AlphaCube.h:109
Isis::Sensor::Declination
virtual double Declination()
Returns the declination angle (sky latitude).
Definition: Sensor.cpp:574
Isis::CameraDistortionMap::FocalPlaneX
double FocalPlaneX() const
Gets the x-value in the focal plane coordinate system.
Definition: CameraDistortionMap.cpp:215
Isis::Camera::ObliqueSampleResolution
virtual double ObliqueSampleResolution()
Returns the oblique sample resolution at the current position in m.
Definition: Camera.cpp:639
Isis::Camera::resolution
virtual double resolution()
Returns the resolution of the camera.
Definition: Camera.cpp:2720
Isis::CameraFocalPlaneMap::DetectorLine
double DetectorLine() const
Definition: CameraFocalPlaneMap.cpp:263
Longitude.h
Isis::ShapeModel::name
QString name() const
Gets the shape name.
Definition: ShapeModel.cpp:543
NaifStatus.h
Isis::Projection::projectionType
ProjectionType projectionType() const
Returns an enum value for the projection type.
Definition: Projection.cpp:198
Isis::Camera::instrumentNameLong
QString instrumentNameLong() const
This method returns the full instrument name.
Definition: Camera.cpp:2886
Isis::CameraDistortionMap::FocalPlaneY
double FocalPlaneY() const
Gets the y-value in the focal plane coordinate system.
Definition: CameraDistortionMap.cpp:226
Isis::PvlContainer::hasKeyword
bool hasKeyword(const QString &name) const
Check to see if a keyword exists.
Definition: PvlContainer.cpp:159
Isis::Camera::RaDecRange
bool RaDecRange(double &minra, double &maxra, double &mindec, double &maxdec)
Computes the RaDec range.
Definition: Camera.cpp:1707
Isis::Pvl
Container for cube-like labels.
Definition: Pvl.h:119
Isis::RadarSlantRangeMap
Convert between radar ground range and slant range.
Definition: RadarSlantRangeMap.h:53
Isis::SurfacePoint::GetZ
Displacement GetZ() const
Definition: SurfacePoint.cpp:1450
CameraDetectorMap.h
Isis::Camera::DistortionMap
CameraDistortionMap * DistortionMap()
Returns a pointer to the CameraDistortionMap object.
Definition: Camera.cpp:2826
Isis::AlphaCube::AlphaSample
double AlphaSample(double betaSample)
Returns an alpha sample given a beta sample.
Definition: AlphaCube.h:121
Isis::SurfacePoint::GetLatitude
Latitude GetLatitude() const
Return the body-fixed latitude for the surface point.
Definition: SurfacePoint.cpp:1665
Isis::Camera::Camera
Camera(Cube &cube)
Constructs the Camera object.
Definition: Camera.cpp:54
Isis::CameraDistortionMap::UndistortedFocalPlaneZ
double UndistortedFocalPlaneZ() const
Gets the z-value in the undistorted focal plane coordinate system.
Definition: CameraDistortionMap.cpp:260
Isis::Spice::createCache
virtual void createCache(iTime startTime, iTime endTime, const int size, double tol)
This method creates an internal cache of spacecraft and sun positions over a specified time range.
Definition: Spice.cpp:649
Isis::Camera::HasReferenceBand
bool HasReferenceBand() const
Checks to see if the Camera object has a reference band.
Definition: Camera.cpp:2670
Isis::Projection::SetUniversalGround
virtual bool SetUniversalGround(const double coord1, const double coord2)
This method is used to set the lat/lon or radius/azimuth (i.e.
Definition: Projection.cpp:417
Isis::NaifStatus::CheckErrors
static void CheckErrors(bool resetNaif=true)
This method looks for any naif errors that might have occurred.
Definition: NaifStatus.cpp:28
Isis::Camera::SetGround
virtual bool SetGround(Latitude latitude, Longitude longitude)
Sets the lat/lon values to get the sample/line values.
Definition: Camera.cpp:401
Isis::Sensor::GetSurfacePoint
SurfacePoint GetSurfacePoint() const
Returns the surface point (most efficient accessor).
Definition: Sensor.cpp:255
Isis::Camera
Definition: Camera.h:236
Isis::Camera::basicRingMapping
void basicRingMapping(Pvl &map)
Writes the basic mapping group for ring plane to the specified Pvl.
Definition: Camera.cpp:1385
Isis::CameraFocalPlaneMap::DetectorSample
double DetectorSample() const
Definition: CameraFocalPlaneMap.cpp:255
Isis::toString
QString toString(bool boolToConvert)
Global function to convert a boolean to a string.
Definition: IString.cpp:211
Isis::Camera::RollingShutter
@ RollingShutter
RollingShutter.
Definition: Camera.h:363
Isis::Sensor::RightAscension
virtual double RightAscension()
Returns the right ascension angle (sky longitude).
Definition: Sensor.cpp:561
IString.h
Isis::Distance
Distance measurement, usually in meters.
Definition: Distance.h:34
DemShape.h
Isis::AlphaCube::BetaLine
double BetaLine(double alphaLine)
Returns a beta line given an alpha line.
Definition: AlphaCube.h:133
Isis::Longitude
This class is designed to encapsulate the concept of a Longitude.
Definition: Longitude.h:40
Isis::Camera::m_instrumentId
QString m_instrumentId
The InstrumentId as it appears on the cube.
Definition: Camera.h:494
Isis::CameraGroundMap
Convert between undistorted focal plane and ground coordinates.
Definition: CameraGroundMap.h:73
Isis::Spice::target
virtual Target * target() const
Returns a pointer to the target object.
Definition: Spice.cpp:1368
Isis::CameraSkyMap::FocalPlaneY
double FocalPlaneY() const
Definition: CameraSkyMap.h:53
Isis::Camera::StartEndEphemerisTimes
std::pair< double, double > StartEndEphemerisTimes()
Calculates the start and end ephemeris times.
Definition: Camera.cpp:2479
Isis::Target::radii
std::vector< Distance > radii() const
Returns the radii of the body in km.
Definition: Target.cpp:532
Isis::PvlObject::Traverse
@ Traverse
Search child objects.
Definition: PvlObject.h:158
Isis::Camera::CkReferenceId
virtual int CkReferenceId() const =0
Provides the NAIF reference code for an instruments CK kernel.
Isis::CameraSkyMap::FocalPlaneX
double FocalPlaneX() const
Definition: CameraSkyMap.h:46
Isis::Distance::Kilometers
@ Kilometers
The distance is being specified in kilometers.
Definition: Distance.h:45
Isis::Camera::LineScan
@ LineScan
Line Scan Camera.
Definition: Camera.h:360
Isis::Camera::SpacecraftAzimuth
double SpacecraftAzimuth()
Return the Spacecraft Azimuth.
Definition: Camera.cpp:1934
Isis::CameraDetectorMap::exposureDuration
virtual double exposureDuration(const double sample, const double line, const int band) const
This virtual method is for returning the exposure duration of a given pixel.
Definition: CameraDetectorMap.cpp:212
Isis::Camera::ParentSamples
int ParentSamples() const
Returns the number of samples in the parent alphacube.
Definition: Camera.cpp:2816
Isis::Sensor::setTime
void setTime(const iTime &time)
By setting the time you essential set the position of the spacecraft and body as indicated in the cla...
Definition: Sensor.cpp:97
Isis::Camera::OffNadirAngle
double OffNadirAngle()
Return the off nadir angle in degrees.
Definition: Camera.cpp:2195
Isis::Projection::WorldY
virtual double WorldY() const
This returns the world Y coordinate provided SetGround, SetCoordinate, SetUniversalGround,...
Definition: Projection.cpp:544
Isis::Distance::Meters
@ Meters
The distance is being specified in meters.
Definition: Distance.h:43
Isis::iTime::Et
double Et() const
Returns the ephemeris time (TDB) representation of the time as a double.
Definition: iTime.h:126
Isis::Camera::InCube
bool InCube()
This returns true if the current Sample() or Line() value is outside of the cube (meaning the point m...
Definition: Camera.cpp:2619
Latitude.h
Isis::ShapeModel::isDEM
virtual bool isDEM() const =0
Indicates whether this shape model is from a DEM.
Isis::Camera::Framing
@ Framing
Framing Camera.
Definition: Camera.h:358
Isis::Camera::SetPixelPitch
void SetPixelPitch()
Reads the Pixel Pitch from the instrument kernel.
Definition: Camera.cpp:1418
Isis::PvlGroup
Contains multiple PvlContainers.
Definition: PvlGroup.h:41
Isis::Sensor::UniversalLongitude
virtual double UniversalLongitude() const
Returns the positive east, 0-360 domain longitude, in degrees, at the surface intersection point in t...
Definition: Sensor.cpp:233
Isis::Cube::lineCount
int lineCount() const
Definition: Cube.cpp:1734
_FILEINFO_
#define _FILEINFO_
Macro for the filename and line number.
Definition: IException.h:24
Isis::Camera::GroundAzimuth
static double GroundAzimuth(double glat, double glon, double slat, double slon)
Computes and returns the ground azimuth between the ground point and another point of interest,...
Definition: Camera.cpp:2237
Isis::Camera::CameraType
CameraType
This enum defines the types of cameras supported in this class.
Definition: Camera.h:357
CameraGroundMap.h
Isis::CameraFocalPlaneMap::SetFocalPlane
virtual bool SetFocalPlane(const double dx, const double dy)
Compute detector position (sample,line) from focal plane coordinates.
Definition: CameraFocalPlaneMap.cpp:143
Isis::SurfacePoint::Valid
bool Valid() const
Definition: SurfacePoint.cpp:947
Isis::Spice::m_uB
SpiceDouble m_uB[3]
This contains the sun position (u) in the bodyfixed reference frame (B).
Definition: Spice.h:369
Isis::Camera::LowestObliqueImageResolution
double LowestObliqueImageResolution()
Returns the lowest/worst oblique resolution in the entire image.
Definition: Camera.cpp:721
Isis::AlphaCube::BetaLines
int BetaLines() const
Returns the number of lines in the beta cube.
Definition: AlphaCube.h:87
Isis::Camera::HighestImageResolution
double HighestImageResolution()
Returns the highest/best resolution in the entire image.
Definition: Camera.cpp:710
Isis::TProjection
Base class for Map TProjections.
Definition: TProjection.h:166
Isis::Camera::instrumentId
QString instrumentId()
This method returns the InstrumentId as it appears in the cube.
Definition: Camera.cpp:2876
SurfacePoint.h
Isis::Camera::PushFrame
@ PushFrame
Push Frame Camera.
Definition: Camera.h:359
Isis::Camera::LineResolution
virtual double LineResolution()
Returns the line resolution at the current position in meters.
Definition: Camera.cpp:649
Isis::Camera::p_childSample
double p_childSample
Sample value for child.
Definition: Camera.h:501
Isis::Camera::SetUniversalGround
virtual bool SetUniversalGround(const double latitude, const double longitude)
Sets the lat/lon values to get the sample/line values.
Definition: Camera.cpp:380
CameraDistortionMap.h
Isis::PvlObject::findObject
PvlObjectIterator findObject(const QString &name, PvlObjectIterator beg, PvlObjectIterator end)
Find the index of object with a specified name, between two indexes.
Definition: PvlObject.h:274
Isis::Distance::isValid
bool isValid() const
Test if this distance has been initialized or not.
Definition: Distance.cpp:192
Isis::Cube::sampleCount
int sampleCount() const
Definition: Cube.cpp:1807
Isis::Camera::PixelIfovOffsets
virtual QList< QPointF > PixelIfovOffsets()
Returns the pixel ifov offsets from center of pixel, which defaults to the (pixel pitch * summing mod...
Definition: Camera.cpp:2755
Isis::Projection::WorldX
virtual double WorldX() const
This returns the world X coordinate provided SetGround, SetCoordinate, SetUniversalGround,...
Definition: Projection.cpp:524
Isis::CameraDetectorMap::ParentSample
double ParentSample() const
Return parent sample.
Definition: CameraDetectorMap.cpp:133
Isis::Camera::CelestialNorthClockAngle
double CelestialNorthClockAngle()
Computes the celestial north clock angle at the current line/sample or ra/dec.
Definition: Camera.cpp:3037
Isis::Camera::p_alphaCube
AlphaCube * p_alphaCube
A pointer to the AlphaCube.
Definition: Camera.h:503
CameraFocalPlaneMap.h
Isis::CameraDistortionMap
Distort/undistort focal plane coordinates.
Definition: CameraDistortionMap.h:41
Isis::Camera::SetFocalPlaneMap
void SetFocalPlaneMap(CameraFocalPlaneMap *map)
Sets the Focal Plane Map.
Definition: Camera.cpp:2357
Isis::Camera::NorthAzimuth
double NorthAzimuth()
Returns the North Azimuth.
Definition: Camera.cpp:1893
Isis::Cube
IO Handler for Isis Cubes.
Definition: Cube.h:167
Isis::AlphaCube
This class is used to rewrite the "alpha" keywords out of the AlphaCube group or Instrument group.
Definition: AlphaCube.h:46
Isis::IException
Isis exception class.
Definition: IException.h:91
Isis::AlphaCube::AlphaLines
int AlphaLines() const
Returns the number of lines in the alpha cube.
Definition: AlphaCube.h:67
Isis::Camera::m_spacecraftNameLong
QString m_spacecraftNameLong
Full spacecraft name.
Definition: Camera.h:498
Isis::CameraDetectorMap::SetDetector
virtual bool SetDetector(const double sample, const double line)
Compute parent position from a detector coordinate.
Definition: CameraDetectorMap.cpp:43
Isis::Cube::bandCount
virtual int bandCount() const
Returns the number of virtual bands for the cube.
Definition: Cube.cpp:1410
Isis::Angle
Defines an angle and provides unit conversions.
Definition: Angle.h:45
Isis::Projection::SetWorld
virtual bool SetWorld(const double x, const double y)
This method is used to set a world coordinate.
Definition: Projection.cpp:497
Isis::CameraDetectorMap::LineScaleFactor
virtual double LineScaleFactor() const
Return scaling factor for computing line resolution.
Definition: CameraDetectorMap.cpp:183
Isis::CameraDetectorMap::DetectorLine
double DetectorLine() const
Return detector line.
Definition: CameraDetectorMap.cpp:163
Isis::SurfacePoint::GetLongitude
Longitude GetLongitude() const
Return the body-fixed longitude for the surface point.
Definition: SurfacePoint.cpp:1685
TProjection.h
Camera.h
Isis::AlphaCube::AlphaSamples
int AlphaSamples() const
Returns the number of samples in the alpha cube.
Definition: AlphaCube.h:77
Isis::AlphaCube::BetaSample
double BetaSample(double alphaSample)
Returns a beta sample given an alpha sample.
Definition: AlphaCube.h:145
Isis::Null
const double Null
Value for an Isis Null pixel.
Definition: SpecialPixel.h:95
Isis::Camera::Csm
@ Csm
Community Sensor Model Camera.
Definition: Camera.h:364
Isis::Camera::Bands
int Bands() const
Returns the number of bands in the image.
Definition: Camera.cpp:2796
Isis::ProjectionFactory::CreateFromCube
static Isis::Projection * CreateFromCube(Isis::Cube &cube)
This method is a helper method.
Definition: ProjectionFactory.cpp:1069
Isis::PvlObject::addGroup
void addGroup(const Isis::PvlGroup &group)
Add a group to the object.
Definition: PvlObject.h:186
Isis::Camera::IsBandIndependent
virtual bool IsBandIndependent()
Virtual method that checks if the band is independent.
Definition: Camera.cpp:2649
Isis::Displacement::kilometers
double kilometers() const
Get the displacement in kilometers.
Definition: Displacement.cpp:94
Isis::Camera::Samples
int Samples() const
Returns the number of samples in the image.
Definition: Camera.cpp:2776
Isis::Camera::p_pointComputed
bool p_pointComputed
Flag showing if Sample/Line has been computed.
Definition: Camera.h:505
Isis::Camera::BasicMapping
void BasicMapping(Pvl &map)
Writes the basic mapping group to the specified Pvl.
Definition: Camera.cpp:1356
Isis::Camera::RaDecResolution
double RaDecResolution()
Returns the RaDec resolution.
Definition: Camera.cpp:1849
Isis::Sensor
Class for computing sensor ground coordinates.
Definition: Sensor.h:170
IException.h
Isis::ShapeModel::hasNormal
bool hasNormal() const
Returns surface point normal status.
Definition: ShapeModel.cpp:378
Isis::toDouble
double toDouble(const QString &string)
Global function to convert from a string to a double.
Definition: IString.cpp:149
Isis::Camera::FocalPlaneMap
CameraFocalPlaneMap * FocalPlaneMap()
Returns a pointer to the CameraFocalPlaneMap object.
Definition: Camera.cpp:2836
Isis::AlphaCube::BetaSamples
int BetaSamples() const
Returns the number of samples in the beta cube.
Definition: AlphaCube.h:97
Isis::IException::Programmer
@ Programmer
This error is for when a programmer made an API call that was illegal.
Definition: IException.h:146
Isis::Camera::FocalLength
double FocalLength() const
Returns the focal length.
Definition: Camera.cpp:2732
std
Namespace for the standard library.
Isis::Camera::LoadCache
void LoadCache()
This loads the spice cache big enough for this image.
Definition: Camera.cpp:2420
Isis::RadarGroundMap
Convert between undistorted focal plane coordinate (slant range) and ground coordinates.
Definition: RadarGroundMap.h:94
Isis::CameraFocalPlaneMap::FocalPlaneX
double FocalPlaneX() const
Definition: CameraFocalPlaneMap.cpp:239
Isis::ShapeModel
Define shapes and provide utilities for Isis targets.
Definition: ShapeModel.h:62
Isis::Camera::m_instrumentNameShort
QString m_instrumentNameShort
Shortened instrument name.
Definition: Camera.h:497
Isis::CameraFocalPlaneMap
Convert between distorted focal plane and detector coordinates.
Definition: CameraFocalPlaneMap.h:85
Isis::Camera::GroundMap
CameraGroundMap * GroundMap()
Returns a pointer to the CameraGroundMap object.
Definition: Camera.cpp:2856
Isis::Camera::DetectorMap
CameraDetectorMap * DetectorMap()
Returns a pointer to the CameraDetectorMap object.
Definition: Camera.cpp:2846
Isis::Camera::PixelPitch
double PixelPitch() const
Returns the pixel pitch.
Definition: Camera.cpp:2742
Isis::Camera::PixelResolution
virtual double PixelResolution()
Returns the pixel resolution at the current position in meters/pixel.
Definition: Camera.cpp:670
RingPlaneProjection.h
Isis::Cube::label
Pvl * label() const
Returns a pointer to the IsisLabel object associated with the cube.
Definition: Cube.cpp:1701
Isis::CameraFocalPlaneMap::SetDetector
virtual bool SetDetector(const double sample, const double line)
Compute distorted focal plane coordinate from detector position (sampel,line)
Definition: CameraFocalPlaneMap.cpp:164
Isis::CameraSkyMap
Convert between undistorted focal plane and ra/dec coordinates.
Definition: CameraSkyMap.h:31
Isis::Camera::SpkCenterId
virtual int SpkCenterId() const
Provides the center of motion body for SPK NAIF kernel.
Definition: Camera.cpp:3005
Isis::CameraDistortionMap::SetFocalPlane
virtual bool SetFocalPlane(double dx, double dy)
Compute undistorted focal plane x/y.
Definition: CameraDistortionMap.cpp:83
Isis::TProjection::UniversalLongitude
virtual double UniversalLongitude()
This returns a universal longitude (positive east in 0 to 360 domain).
Definition: TProjection.cpp:922
Isis::Camera::GroundRange
bool GroundRange(double &minlat, double &maxlat, double &minlon, double &maxlon, Pvl &pvl)
Computes the Ground Range.
Definition: Camera.cpp:1182
Angle.h
Isis::Distance::meters
double meters() const
Get the distance in meters.
Definition: Distance.cpp:85
Isis::Spice::instrumentBodyFixedPosition
virtual void instrumentBodyFixedPosition(double p[3]) const
Returns the spacecraft position in body-fixed frame km units.
Definition: Spice.cpp:835
Isis::Angle::degrees
double degrees() const
Get the angle in units of Degrees.
Definition: Angle.h:232
Isis::Camera::GetLocalNormal
void GetLocalNormal(double normal[3])
This method will find the local normal at the current (sample, line) and set it to the passed in arra...
Definition: Camera.cpp:1488
Projection.h
Isis::Projection::Triaxial
@ Triaxial
These projections are used to map triaxial and irregular-shaped bodies.
Definition: Projection.h:166
Isis::CameraGroundMap::SetFocalPlane
virtual bool SetFocalPlane(const double ux, const double uy, const double uz)
Compute ground position from focal plane coordinate.
Definition: CameraGroundMap.cpp:50
Isis::Camera::HighestObliqueImageResolution
double HighestObliqueImageResolution()
Returns the highest/best oblique resolution in the entire image.
Definition: Camera.cpp:732
Isis::Camera::Lines
int Lines() const
Returns the number of lines in the image.
Definition: Camera.cpp:2786
Isis::Camera::LocalPhotometricAngles
void LocalPhotometricAngles(Angle &phase, Angle &incidence, Angle &emission, bool &success)
Calculates LOCAL photometric angles using the DEM (not ellipsoid).
Definition: Camera.cpp:1642
Isis::ShapeModel::hasIntersection
bool hasIntersection()
Returns intersection status.
Definition: ShapeModel.cpp:368
Isis::Sensor::Coordinate
void Coordinate(double p[3]) const
Returns the x,y,z of the surface intersection in BodyFixed km.
Definition: Sensor.cpp:196
iTime.h
Isis::Projection::IsSky
bool IsSky() const
Returns true if projection is sky and false if it is land.
Definition: Projection.cpp:208
Isis::IString
Adds specific functionality to C++ strings.
Definition: IString.h:165
Isis::Sensor::EmissionAngle
virtual double EmissionAngle() const
Returns the emission angle in degrees.
Definition: Sensor.cpp:324
Isis::Camera::instrumentNameShort
QString instrumentNameShort() const
This method returns the shortened instrument name.
Definition: Camera.cpp:2896
Constants.h
Isis::Camera::SampleResolution
virtual double SampleResolution()
Returns the sample resolution at the current position in meters.
Definition: Camera.cpp:629
Isis::Camera::Line
virtual double Line() const
Returns the current line number.
Definition: Camera.cpp:2710
Isis::Camera::spacecraftNameLong
QString spacecraftNameLong() const
This method returns the full spacecraft name.
Definition: Camera.cpp:2906
Isis::Spice::getDouble
SpiceDouble getDouble(const QString &key, int index=0)
This returns a value from the NAIF text pool.
Definition: Spice.cpp:1039
QVector
This is free and unencumbered software released into the public domain.
Definition: Calculator.h:18
Isis::Spice::naifSpkCode
SpiceInt naifSpkCode() const
This returns the NAIF SPK code to use when reading from SPK kernels.
Definition: Spice.cpp:950
Isis::Camera::SpkReferenceId
virtual int SpkReferenceId() const =0
Provides reference frame for instruments SPK NAIF kernel.
Isis::CameraDetectorMap::ParentLine
double ParentLine() const
Return parent line.
Definition: CameraDetectorMap.cpp:143
Isis::Projection
Base class for Map Projections.
Definition: Projection.h:155
Isis::Camera::ObliqueLineResolution
virtual double ObliqueLineResolution()
Returns the oblique line resolution at the current position in meters.
Definition: Camera.cpp:661
Isis::Camera::ReferenceBand
int ReferenceBand() const
Returns the reference band.
Definition: Camera.cpp:2659
Isis::Camera::m_spacecraftNameShort
QString m_spacecraftNameShort
Shortened spacecraft name.
Definition: Camera.h:499
Isis::CameraGroundMap::FocalPlaneY
double FocalPlaneY() const
Definition: CameraGroundMap.h:129
Isis::CameraDistortionMap::UndistortedFocalPlaneY
double UndistortedFocalPlaneY() const
Gets the y-value in the undistorted focal plane coordinate system.
Definition: CameraDistortionMap.cpp:248
Isis::Camera::LowestImageResolution
double LowestImageResolution()
Returns the lowest/worst resolution in the entire image.
Definition: Camera.cpp:699
Isis::Camera::HasProjection
bool HasProjection()
Checks to see if the camera object has a projection.
Definition: Camera.cpp:2638
Isis::Camera::SunAzimuth
double SunAzimuth()
Returns the Sun Azimuth.
Definition: Camera.cpp:1920
Isis::Camera::spacecraftNameShort
QString spacecraftNameShort() const
This method returns the shortened spacecraft name.
Definition: Camera.cpp:2916
Isis::Camera::ringRange
bool ringRange(double &minRingRadius, double &maxRingRadius, double &minRingLongitude, double &maxRingLongitude, Pvl &pvl)
Analogous to the above Ground Range method.
Definition: Camera.cpp:1286
Isis::Camera::DetectorResolution
virtual double DetectorResolution()
Returns the detector resolution at the current position in meters.
Definition: Camera.cpp:608
Isis::Camera::GetGeometricTilingHint
void GetGeometricTilingHint(int &startSize, int &endSize)
This will get the geometric tiling hint; these values are typically used for ProcessRubberSheet::SetT...
Definition: Camera.cpp:2605
Isis::SurfacePoint
This class defines a body-fixed surface point.
Definition: SurfacePoint.h:132
Isis::SurfacePoint::GetY
Displacement GetY() const
Definition: SurfacePoint.cpp:1443
Isis::Camera::SetFocalLength
void SetFocalLength()
Reads the focal length from the instrument kernel.
Definition: Camera.cpp:1411
Isis::Angle::Radians
@ Radians
Radians are generally used in mathematical equations, 0-2*PI is one circle, however these are more di...
Definition: Angle.h:63
Isis
This is free and unencumbered software released into the public domain.
Definition: Apollo.h:16
CameraSkyMap.h
Isis::Sensor::LocalRadius
Distance LocalRadius() const
Returns the local radius at the intersection point.
Definition: Sensor.cpp:267
Isis::Camera::Point
@ Point
Point Camera.
Definition: Camera.h:362
Isis::IException::User
@ User
A type of error that could only have occurred due to a mistake on the user's part (e....
Definition: IException.h:126
Isis::ShapeModel::normal
std::vector< double > normal()
Returns the local surface normal at the current intersection point.
Definition: ShapeModel.cpp:401
Isis::Sensor::UniversalLatitude
virtual double UniversalLatitude() const
Returns the planetocentric latitude, in degrees, at the surface intersection point in the body fixed ...
Definition: Sensor.cpp:210
Isis::CameraGroundMap::SetGround
virtual bool SetGround(const Latitude &lat, const Longitude &lon)
Compute undistorted focal plane coordinate from ground position.
Definition: CameraGroundMap.cpp:76
Isis::Angle::radians
double radians() const
Convert an angle to a double.
Definition: Angle.h:226
Isis::Camera::SetDistortionMap
void SetDistortionMap(CameraDistortionMap *map, bool deleteExisting=true)
Sets the Distortion Map.
Definition: Camera.cpp:2342