This program compiles and outputs various spacecraft and instrument-related information such as
geometric, polygon, and mapping information.
The user must supply a Level1 cube. If the supplied cube does not have SPICE information
associated with it, then caminfo can be used to generate the SPICE information by running the
spiceinit program on the cube. Caminfo will not run spiceinit by default. If the input cube already
has SPICE information associated with it, then any user updates to the SPICE information will be
lost when the option to run spiceinit is chosen. This results from using system defaults when
running the spiceinit program from within caminfo.
Some information in the output PVL file will consist of a compilation of information for all the
bands in the cube and will be listed in the "Common" object of the PVL. Other information for a given
band will be placed in the "BandSet" object of the PVL. The user can select the check boxes to control
the information that will be output to the PVL file. If the POLYGON or USELABEL option is chosen,
the image polygon is output in Well-Known Text format (WKT).
The output file can be in PVL or CSV (Comma Separated Value) format. The "APPEND" option allows
the new generated information to be appended to the output file. This is especially useful for
CSV file format. If the CSV format is chosen, only Camstats, Statistics and Geometry options
are allowed. Isis Label, Original Label and Polygon options are disabled for CSV format.
The following is an example of caminfo output generated when in PVL format:
Object = Caminfo
Object = Parameters
Program = caminfo
IsisVersion = "3.7.0 | 2019-04-16"
RunDate = 2019-04-24T23:29:22
IsisId = MeSSEnGeR/MDIS-WAC/1/0211286081:889000
From = EW0211286081G.lev1.cub
Lines = 1024
Samples = 1024
Bands = 1
End_Object
Object = Camstats
MinimumLatitude = 46.17349725649
MaximumLatitude = 54.072584907617
MinimumLongitude = 284.17017788557
MaximumLongitude = 296.47498126014
MinimumResolution = 235.10973750118
MaximumResolution = 238.32543228025
MinimumPhase = 50.107674499885
MaximumPhase = 60.748154060087
MinimumEmission = 0.0076793870352429
MaximumEmission = 11.494912087698
MinimumIncidence = 52.486663651971
MaximumIncidence = 58.235714475896
LocalTimeMinimum = 9.7555337547863
LocalTimeMaximum = 10.575853979758
ObliqueResolutionMinimum = 235.23505597394
ObliqueResolutionMaximum = 243.18035398447
End_Object
Object = Geometry
BandsUsed = 1
ReferenceBand = 1
OriginalBand = 1
Target = Mercury
StartTime = 2011-04-14T16:30:13.6376399
EndTime = 2011-04-14T16:30:13.6376399
CenterLine = 512.0
CenterSample = 512.0
CenterLatitude = 50.134547680289
CenterLongitude = 290.41254981797
CenterRadius = 2437088.6898077
RightAscension = 159.91342230848
Declination = -41.672357224345
UpperLeftLongitude = 291.64523858807
UpperLeftLatitude = 54.072584907617
LowerLeftLongitude = 284.17017788557
LowerLeftLatitude = 50.690335603589
LowerRightLongitude = 289.36443784287
LowerRightLatitude = 46.17349725649
UpperRightLongitude = 296.47498126014
UpperRightLatitude = 49.243965896632
PhaseAngle = 55.329415379509
EmissionAngle = 0.13392142633291
IncidenceAngle = 55.328513822534
NorthAzimuth = 214.59793748861
OffNadir = 0.086941089750923
SolarLongitude = 187.03600434339
LocalTime = 10.171691883613
TargetCenterDistance = 3754.0157644796
SlantDistance = 1316.9294100772
SampleResolution = 235.52868468741
LineResolution = 235.52868468741
PixelResolution = 235.52868468741
MeanGroundResolution = 236.93804115469
SubSolarAzimuth = 0.5352090657949
SubSolarGroundAzimuth = 145.94153132534
SubSolarLatitude = -0.0041617302711888
SubSolarLongitude = 317.83717156377
SubSpacecraftAzimuth = 270.19620722977
SubSpacecraftGroundAzimuth = 55.602129115968
SubSpacecraftLatitude = 50.16107286585
SubSpacecraftLongitude = 290.47306057538
ParallaxX = -0.0013204675649152
ParallaxY = 0.0019286479781325
ShadowX = 1.197730691686
ShadowY = 0.80965910389868
HasLongitudeBoundary = FALSE
HasNorthPole = FALSE
HasSouthPole = FALSE
ObliqueSampleResolution = 235.52932807053
ObliqueLineResolution = 235.52932807053
ObliquePixelResolution = 235.52932807053
ObliqueDetectorResolution = 235.52932807053
End_Object
Object = Polygon
CentroidLine = 515.54847960298
CentroidSample = 516.98396885203
CentroidLatitude = 50.100681689843
CentroidLongitude = 290.41177111088
CentroidRadius = 2437182.1999165 <meters>
SurfaceArea = 58449.84444296 <km^2>
GlobalCoverage = 0.078306 <percent>
SampleIncrement = 102
LineIncrement = 102
GisFootprint = "MULTIPOLYGON (((291.6490765146723447
54.0741794093634311, 292.1787510717393275
53.6050947627796290, 292.6939712762379031
53.1280214945194871, 293.1935996155742714
52.6462518066594427, 293.6877586602358861
52.1686313743837218, 294.1686076850560312
51.6877577856796790, 294.6441807247810516
51.2069352955664527, 295.1120304970848451
50.7239436351535318, 295.5723044120834970
50.2383991133846095, 296.0235675535569158
49.7502507245209387, 296.4656892412461389
49.2598280749686097, 296.4772543488990664
49.2415935246169241, 295.7234802633013828
48.9577284467905898, 294.9804685531953510
48.6694912257124912, 294.2522098029692188
48.3747622755557956, 293.5281508420213754
48.0783235834621792, 292.8180445861410703
47.7741872572646500, 292.1158965526823295
47.4656099909531335, 291.4221991088060690
47.1514387416925160, 290.7360673250992136
46.8330969718050980, 290.0574985212423371
46.5087223303417048, 289.3864267339227467
46.1811141464289676, 289.3612293705994034
46.1717876266695484, 288.8840625555773158
46.6333914182544547, 288.3997485195988020
47.0942608584519604, 287.9056077359897472
47.5502843497149215, 287.4038483357975338
48.0050803855386121, 286.8940363669749445
48.4575332864047326, 286.3728157777912884
48.9061755371698297, 285.8404968421083368
49.3521091874764650, 285.2987408366519162
49.7958568236399373, 284.7458938243490820
50.2370818707379030, 284.1837853403296208
50.6757005534934777, 284.1672379981782228
50.6924300136348975, 284.8660019234981746
51.0492008969251785, 285.5767712367713216
51.4009577885800155, 286.2937518600310227
51.7489227234357969, 287.0217082812425247
52.0921982632441569, 287.7605440724607888
52.4305033881260769, 288.5087072424007033
52.7652722844764526, 289.2682486994754072
53.0953120132625287, 290.0385615025346056
53.4251525926730508, 290.8227840059549862
53.7506798361148057, 291.6190588029043624
54.0657945141910190, 291.6490765146723447
54.0741794093634311)))"
Group = Mapping
TargetName = Mercury
EquatorialRadius = 2439400.0 <meters>
PolarRadius = 2439400.0 <meters>
LatitudeType = Planetocentric
LongitudeDirection = PositiveEast
LongitudeDomain = 360
MinimumLatitude = 46.169577318305
MaximumLatitude = 54.076352727416
MinimumLongitude = 284.16397198204
MaximumLongitude = 296.48085203894
PixelResolution = 235.54475872549
ProjectionName = Sinusoidal
CenterLongitude = 290.41254981797
End_Group
End_Object
End_Object
End
Output values that do not have a minimum/maximum range associated with them
are calculated at the center of the image.
Definitions for most of the values output in the PVL file can be found in
the ISIS 3 documentation glossary including: SubSpacecraftLatitude,
SubSpacecraftLongitude, SubSolarLatitude,
SubSolarLongitude, NorthAzimuth,
SpacecraftAzimuth, SubSolarAzimuth,
ObliqueLineResolution, ObliqueSampleResolution,
ObliquePixelResolution, and ObliqueDetectorResolution
Robert Sucharski | 2007-04-10 |
Original version
|
Steven Lambright | 2007-08-10 |
Added an application test
|
Steven Koechle | 2007-11-01 |
Fixed WKT calls
|
Tracie Sucharski | 2007-11-09 |
Remove ToWKT calls and PolygonTools.h inclusion. The geos package now
has a method to return a WKT string, so the ToWKT method has been
removed from the PolygonTools class.
|
Kris Becker | 2007-12-07 |
Made the following modifications: fixed typo in PercentNull and
MaximumLongitude keywords; use the base file name for generation of
temporary files to further ensure uniqueness; run camstats once if
there is only one band - doubles execution speed for single band
images when CAMSTATS option is used; substitute the NULL string for
all special pixel values; added corner pixel keywords for PDS
compatibility; added phase, emission, incidence angles
and line and sample pixel resolution at the center pixel; added test
for intersection of longitude domain, north and south poles and
keywords that report them; added option to output ISIS cube labels;
corrected computations for parallax and shadow keywords.
|
Kris Becker | 2007-12-19 |
Renamed the HasLongitudeDomain keyword to HasLongitudeBoundary.
Makes more sense.
|
Kris Becker | 2008-02-27 |
Corrected method call to compute polygon with proper parameters as
well as correct band number. Added code to better honor specific
cube attributes (such as band numbers) in computations. Also will
produce NULL valued keywords where NULLs are a produced instead of
the real value for the ISIS NULL pixel value.
|
Steven Lambright | 2008-05-12 |
Removed references to CubeInfo
|
Bob Sucharski | 2008-07-31 |
Added Camera Test option to test for a valid camera at center of image
and return an error and end if a valid camera cannot be created.
|
Kris Becker | 2008-09-22 |
Reworked the output PVL format; added more keywords to the Common object
that indicate versions and dates; added more values to Geometry and
Polygon object.
|
Kris Becker | 2008-10-22 |
Corrected generation of polygon for multi-band data. It created a
POLYGON union instead of the required MULTIPOLYGON.
|
Kris Becker | 2008-10-30 |
The target center distance and subspacecraft latitude were not properly
propagated to the output PVL file and consequently were invalid. This
has been corrected.
|
Kris Becker | 2008-12-29 |
Added RightAscension, Declination, SubSolarGroundAzimuth, and
SubSpacecraftGroundAzimuth computations; added center line/sample image
coordinate used to compute center geometry; added check of valid image
line/sample coordinates when testing for north/south poles (some camera
models return valid states when coordinates are outside of image
boundaries).
|
Kris Becker | 2009-02-26 |
Modified to actually exclude the unconditional computation of the image
polygon to assist in some geometry values. It is no longer computed if
the user does not select the POLYGON option. The implications of this
are that some of the keywords in the output Geometry group are no
longer ever relevant. These keywords were all moved to the Polygon
group. These keywords are: CentroidLine, CentroidSample,
CentroidLatitude, CentroidLongitude, CentroidRadius and SurfaceArea.
User will no longer see these values if the POLYGON option is not
selected. Also the Radius keyword in the Polygon group has been
removed as it is redundant with CentroidRadius.
|
Kris Becker | 2009-05-29 |
Added PIXINC parameter to allow user to specify number of pixels to
skip around the perimeter of the image to compute the polygon.
|
Kris Becker | 2009-05-29 |
Fixed bug where image was a 0 longitude boundary crosser. It would
typically fail when determining centroid information unless converted
to 180 domain. This will also be used at the poles as it seems to work
better in the 180 domain as well. (This process projects the footprint
to a Sinusoidal projection to determine area which requires an equal
area projection, such as Sinusoidal.)
|
Kris Becker | 2009-07-08 |
Added the MAXEMISSION and MAXINCIDENCE limit parameters to better
control limb and terminator polygon generation.
|
Kris Becker | 2009-08-24 |
Allow disabling of shape model use when constructing polygons that
contain limbs.
|
Mackenzie Boyd | 2010-06-14 |
Removed polygon options group and placed the options within output
options. Added inclusion for parameters related to polygons to only be
available when polygons are selected. Made TO option not have a
default of None, updated documentation and modified formatting.
|
Jai Rideout | 2011-02-17 |
Replaced PIXINC with POLYSINC and POLYLINC. Renamed SINC and LINC to
STATSSINC and STATSLINC.
|
Sharmila Prasad | 2011-02-24 |
Added option for the output file to be in CSV format and also ability
to append to the existing output file.
|
Jai Rideout | 2011-03-01 |
Renamed STATSSINC and STATSLINC back to SINC and LINC.
|
Sharmila Prasad | 2011-03-02 |
Fix App tests and add header for flat file if file does not exist.
|
Jai Rideout | 2011-03-03 |
Fixed incorrect CSV output format.
|
Christopher Austin | 2011-03-18 |
Rewrote the entire application to no longer have hard-coded values for
CSV, including the removal of duplicated code, updated includes, and
corrected the CSV to display the same values as the PVL does.
|
Christopher Austin | 2011-03-18 |
Added new parameters including FLATINC.
|
Christopher Austin | 2011-03-22 |
Changed the new parameter's names. (INCTYPE, NUMVERTICES)
|
Christopher Austin | 2011-05-12 |
Added smarts to the VERTICES option.
|
Travis Addair | 2011-07-27 |
Added INCREASEPRECISION option for creating an Image Polygon, the same
one as used by "footprintinit".
|
Kris Becker | 2012-11-23 |
The computation of ParallaxX/ParallaxY and ShadowX/ShadowY values was
not properly implemented. Updated documentation with a new example.
Fixes #1296.
|
Janet Barrett | 2013-01-29 |
Added the USELABEL option. This will allow the user to request that the
footprint be read from the labels of the input image file rather than
regenerating the footprint. Fixes #1452.
|
Janet Richie | 2013-02-25 |
Reviewed documentation. References #1452.
|
Kaitlyn Lee | 2019-04-22 |
Added oblique sample, line, detector, and pixel resolutions to the
geometry PVL group. Updated example output in application description
so that the addded oblique elements are included. Fixes #2205.
|