36 class CameraDetectorMap;
37 class CameraFocalPlaneMap;
38 class CameraDistortionMap;
39 class CameraGroundMap;
250 bool SetImage(
const double sample,
const double line);
251 virtual bool SetImage(
const double sample,
const double line,
const double deltaT);
255 const double radius);
261 Angle & emission,
bool &success);
269 virtual void SetBand(
const int band);
274 bool GroundRange(
double &minlat,
double &maxlat,
double &minlon,
275 double &maxlon,
Pvl &pvl);
276 bool ringRange(
double &minRingRadius,
double &maxRingRadius,
277 double &minRingLongitude,
double &maxRingLongitude,
Pvl &pvl);
305 const int band = -1)
const;
317 double &mindec,
double &maxdec);
342 static double GroundAzimuth(
double glat,
double glon,
double slat,
349 int CacheSize(
double startTime,
double endTime);
524 bool p_groundRangeComputed;
544 bool p_raDecRangeComputed;
553 bool p_ringRangeComputed;
This class defines a body-fixed surface point.
void LocalPhotometricAngles(Angle &phase, Angle &incidence, Angle &emission, bool &success)
Calculates LOCAL photometric angles using the DEM (not ellipsoid).
double p_maxlat
The maximum latitude.
void SetFocalLength()
Reads the focal length from the instrument kernel.
virtual CameraType GetCameraType() const =0
Returns the type of camera that was created.
CameraDetectorMap * DetectorMap()
Returns a pointer to the CameraDetectorMap object.
int CacheSize(double startTime, double endTime)
This method calculates the spice cache size.
void SetSkyMap(CameraSkyMap *map)
Sets the Sky Map.
virtual int SpkReferenceId() const =0
Provides reference frame for instruments SPK NAIF kernel.
double ObliqueLineResolution()
Returns the oblique line resolution at the current position in meters.
double p_mindec
The minimum declination.
double p_minlon
The minimum longitude.
double p_minobliqueres
The minimum oblique resolution.
QString spacecraftNameShort() const
This method returns the shortened spacecraft name.
int p_referenceBand
The reference band.
double p_minra180
The minimum right ascension in the 180 domain.
double SunAzimuth()
Returns the Sun Azimuth.
bool ringRange(double &minRingRadius, double &maxRingRadius, double &minRingLongitude, double &maxRingLongitude, Pvl &pvl)
Analogous to the above Ground Range method.
void SetDetectorMap(CameraDetectorMap *map)
Sets the Detector Map.
CameraDistortionMap * DistortionMap()
Returns a pointer to the CameraDistortionMap object.
Camera(Cube &cube)
Constructs the Camera object.
virtual int SpkTargetId() const
Provides target code for instruments SPK NAIF kernel.
int p_lines
The number of lines in the image.
void SetGroundMap(CameraGroundMap *map)
Sets the Ground Map.
QString m_instrumentNameLong
Full instrument name.
double p_maxRingLongitude
The maximum ring longitude (azimuth)
QString spacecraftNameLong() const
This method returns the full spacecraft name.
double SpacecraftAzimuth()
Return the Spacecraft Azimuth.
bool SetRightAscensionDeclination(const double ra, const double dec)
Sets the right ascension declination.
bool HasProjection()
Checks to see if the camera object has a projection.
double p_maxra180
The maximum right ascension in the 180 domain.
void basicRingMapping(Pvl &map)
Writes the basic mapping group for ring plane to the specified Pvl.
double OffNadirAngle()
Return the off nadir angle in degrees.
virtual double resolution()
Returns the resolution of the camera.
bool InCube()
This returns true if the current Sample() or Line() value is outside of the cube (meaning the point m...
int ReferenceBand() const
Returns the reference band.
void SetPixelPitch()
Reads the Pixel Pitch from the instrument kernel.
This class is designed to encapsulate the concept of a Latitude.
Class for computing sensor ground coordinates.
double p_maxlon180
The maximum longitude in the 180 domain.
double p_focalLength
The focal length, in units of millimeters.
virtual int CkReferenceId() const =0
Provides the NAIF reference code for an instruments CK kernel.
double ObliquePixelResolution()
Returns the oblique pixel resolution at the current position in meters/pixel.
virtual ~Camera()
Destroys the Camera Object.
double p_maxobliqueres
The maximum oblique resolution.
CameraDistortionMap * p_distortionMap
A pointer to the DistortionMap.
double ObliqueSampleResolution()
Returns the oblique sample resolution at the current position in m.
double FocalLength() const
Returns the focal length.
double p_minRingLongitude180
The minimum ring longitude in the 180 domain.
bool IntersectsLongitudeDomain(Pvl &pvl)
Checks whether the ground range intersects the longitude domain or not.
bool RawFocalPlanetoImage()
Computes the image coordinate for the current universal ground point.
double p_maxres
The maximum resolution.
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...
bool SetGround(Latitude latitude, Longitude longitude)
Sets the lat/lon values to get the sample/line values.
int Bands() const
Returns the number of bands in the image.
This class is used to rewrite the "alpha" keywords out of the AlphaCube group or Instrument group...
CameraSkyMap * SkyMap()
Returns a pointer to the CameraSkyMap object.
bool HasReferenceBand() const
Checks to see if the Camera object has a reference band.
double p_minRingLongitude
The minimum ring longitude (azimuth)
virtual double exposureDuration() const
Return the exposure duration for the pixel that the camera is set to.
int p_bands
The number of bands in the image.
bool SetUniversalGround(const double latitude, const double longitude)
Sets the lat/lon values to get the sample/line values.
bool SetImage(const double sample, const double line)
Sets the sample/line values of the image to get the lat/lon values.
Convert between parent image coordinates and detector coordinates.
This class is designed to encapsulate the concept of a Longitude.
bool p_ignoreProjection
Whether or no to ignore the Projection.
CameraDetectorMap * p_detectorMap
A pointer to the DetectorMap.
QString instrumentNameLong() const
This method returns the full instrument name.
Base class for Map Projections.
Convert between undistorted focal plane and ground coordinates.
double p_minlat
The minimum latitude.
Convert between distorted focal plane and detector coordinates.
Convert between undistorted focal plane coordinate (slant range) and ground coordinates.
CameraType
This enum defines the types of cameras supported in this class.
QString m_instrumentNameShort
Shortened instrument name.
CameraGroundMap * GroundMap()
Returns a pointer to the CameraGroundMap object.
int Samples() const
Returns the number of samples in the image.
void ringRangeResolution()
Analogous to above GroundRangeResolution method.
double HighestImageResolution()
Returns the highest/best resolution in the entire image.
double p_pixelPitch
The pixel pitch, in millimeters per pixel.
bool GroundRange(double &minlat, double &maxlat, double &minlon, double &maxlon, Pvl &pvl)
Computes the Ground Range.
bool RaDecRange(double &minra, double &maxra, double &mindec, double &maxdec)
Computes the RaDec range.
double Sample()
Returns the current sample number.
CameraFocalPlaneMap * p_focalPlaneMap
A pointer to the FocalPlaneMap.
void SetFocalPlaneMap(CameraFocalPlaneMap *map)
Sets the Focal Plane Map.
int p_childBand
Band value for child.
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...
double HighestObliqueImageResolution()
Returns the highest/best oblique resolution in the entire image.
Distort/undistort focal plane coordinates.
double NorthAzimuth()
Returns the North Azimuth.
std::pair< double, double > StartEndEphemerisTimes()
Calculates the start and end ephemeris times.
double p_childSample
Sample value for child.
AlphaCube * p_alphaCube
!< Flag showing if ring range was computed successfully.
void BasicMapping(Pvl &map)
Writes the basic mapping group to the specified Pvl.
Container for cube-like labels.
QString instrumentNameShort() const
This method returns the shortened instrument name.
CameraFocalPlaneMap * FocalPlaneMap()
Returns a pointer to the CameraFocalPlaneMap object.
int Band()
Returns the current band.
void LoadCache()
This loads the spice cache big enough for this image.
Define shapes and provide utilities for Isis3 targets.
double ComputeAzimuth(const double lat, const double lon)
Computes the image azimuth value from your current position (origin) to a point of interest specified...
double CelestialNorthClockAngle()
Computes the celestial north clock angle at the current line/sample or ra/dec.
Defines an angle and provides unit conversions.
double p_maxra
The maxumum right ascension.
double LowestObliqueImageResolution()
Returns the lowest/worst oblique resolution in the entire image.
QString m_spacecraftNameLong
Full spacecraft name.
int p_samples
The number of samples in the image.
virtual bool IsBandIndependent()
Virtual method that checks if the band is independent.
bool SetImageMapProjection(const double sample, const double line, ShapeModel *shape)
Sets the sample/line values of the image to get the lat/lon values for a Map Projected image...
double p_maxlon
The maximum longitude.
double LowestImageResolution()
Returns the lowest/worst resolution in the entire image.
CameraGroundMap * p_groundMap
A pointer to the GroundMap.
double PixelPitch() const
Returns the pixel pitch.
double p_maxRingLongitude180
The maximum ring longitude in the 180 domain.
double Line()
Returns the current line number.
Convert between radar ground range and slant range.
double RaDecResolution()
Returns the RaDec resolution.
double PixelResolution()
Returns the pixel resolution at the current position in meters/pixel.
double p_minres
The minimum resolution.
double p_minlon180
The minimum longitude in the 180 domain.
double p_minra
The minimum right ascension.
double LineResolution()
Returns the line resolution at the current position in meters.
void SetDistortionMap(CameraDistortionMap *map)
Sets the Distortion Map.
Convert between undistorted focal plane and ra/dec coordinates.
QString m_spacecraftNameShort
Shortened spacecraft name.
void IgnoreProjection(bool ignore)
Set whether or not the camera should ignore the Projection.
double p_maxRingRadius
The maximum ring radius.
virtual QList< QPointF > PixelIfovOffsets()
Returns the pixel ifov offsets from center of pixel, which defaults to the (pixel pitch * summing mod...
virtual int SpkCenterId() const
Provides the center of motion body for SPK NAIF kernel.
int ParentLines() const
Returns the number of lines in the parent alphacube.
Projection * p_projection
A pointer to the Projection.
void SetGeometricTilingHint(int startSize=128, int endSize=8)
This method sets the best geometric tiling size for projecting from this camera model.
double p_minRingRadius
!< Flag showing if the raDec range has been computed successfully.
double p_maxdec
The maximum declination.
bool SetImageSkyMapProjection(const double sample, const double line, ShapeModel *shape)
Sets the sample/line values of the image to get the lat/lon values for a Skymap Projected image...
int ParentSamples() const
Returns the number of samples in the parent alphacube.
int p_geometricTilingStartSize
The ideal geometric tile size to start with when projecting.
CameraSkyMap * p_skyMap
A pointer to the SkyMap.
double SampleResolution()
Returns the sample resolution at the current position in meters.
virtual void SetBand(const int band)
Virtual method that sets the band number.
virtual int CkFrameId() const =0
Provides the NAIF frame code for an instruments CK kernel.
bool p_pointComputed
!< Flag showing if ground range was computed successfully.
int Lines() const
Returns the number of lines in the image.
double p_childLine
Line value for child.
void GetGeometricTilingHint(int &startSize, int &endSize)
This will get the geometric tiling hint; these values are typically used for ProcessRubberSheet::SetT...
double DetectorResolution()
Returns the detector resolution at the current position in meters.
void GroundRangeResolution()
Computes the ground range and min/max resolution.
int p_geometricTilingEndSize
The ideal geometric tile size to end with when projecting.
double ObliqueDetectorResolution()
This function provides an improved estimate of the detector resolution (in meters) when the target is...
IO Handler for Isis Cubes.