Isis 3 Application Documentation
Outputs a PVL file that contains camera information.
Description
Categories
Groups
History
Description
This program requires the user supply a "level 1" cube. That is, a cube in raw camera geometry.
The user can choose to run spiceinit on the input cube. Spiceinit will use the system kernels,
so any user updates to SPICE information will be lost. The default is to
not run spiceinit.
This program will output various spacecraft and instrument related
information. Some of the output information will be a compilation
of all bands, this will be put in the "Common" object of the PVL. Other
infomation will be for a given band and placed in the "BandSet" object. the
user can use the "output options" check boxes to control the infomation that
will be output. if the polygon option is chosen, the image polygon is
output in well known text format.
The output file can be in PVL or CSV (Comma Separated Value)
format. There is an option "APPEND" to allow appending 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 the output given when caminfo is ran in
PVL Format:
Object = Caminfo
Object = Parameters
Program = caminfo
Version = 2.0
IsisVersion = "3.1.18beta | 2008-09-10"
RunDate = 2008-09-23T04:04:40
IsisId = MeSSEnGeR/MDIS-WAC/1/0108827809:757000
From = EW0108827809H_iof.cub
Lines = 1024
Samples = 1024
Bands = 1
End_Object
Object = Camstats
MinimumLatitude = -83.41440480372
MaximumLatitude = 3.7509815164171
MinimumLongitude = 130.12663958352
MaximumLongitude = 211.4118481043
MinimumResolution = 2837.9275992245
MaximumResolution = 3243.3476291415
MinimumPhase = 55.948494781205
MaximumPhase = 63.452364544485
MinimumEmission = 1.5987003275551
MaximumEmission = 89.906039419667
MinimumIncidence = 0.0061432307848179
MaximumIncidence = 84.83085856686
LocalTimeMinimum = 8.3450457249626
LocalTimeMaximum = 13.764059626348
End_Object
Object = Statistics
MeanValue = 0.027290557106805
StandardDeviation = 0.030059960910294
MinimumValue = 1.93800340639427e-04
MaximumValue = 0.13901169598103
PercentHIS = 0.0
PercentHRS = 0.0
PercentLIS = 0.0
PercentLRS = 0.0
PercentNull = 0.390625
TotalPixels = 1048576
End_Object
Object = Geometry
BandsUsed = 1
ReferenceBand = 1
OriginalBand = 1
Target = Mercury
StartTime = 1979-09-06T09:42:01.9839999
EndTime = 1979-09-06T09:42:01.9839999
CenterLine = 528.0
CenterSample = 602.0
CenterLatitude = -85.647070453349
CenterLongitude = 280.52753258698
CenterRadius = 3381249.6758357
RightAscension = 214.57706493749
Declination = 17.783065469842
UpperLeftLongitude = 284.18120564717
UpperLeftLatitude = -76.54816017824
LowerLeftLongitude = 266.57864612762
LowerLeftLatitude = -78.179315870983
LowerRightLongitude = NULL
LowerRightLatitude = NULL
UpperRightLongitude = NULL
UpperRightLatitude = NULL
PhaseAngle = 122.53731928262
EmissionAngle = 79.163772677816
IncidenceAngle = 89.097477040277
NorthAzimuth = 211.29679615977
OffNadir = 19.200345819794
SolarLongitude = 351.56964491543
LocalTime = 20.521449284911
TargetCenterDistance = 10098.012836425
SlantDistance = 8900.6217339371
SampleResolution = 220.72857994732
LineResolution = 220.72857994732
PixelResolution = 220.72857994732
MeanGroundResolution = 219.735933647
SubSolarAzimuth = 91.146512760785
SubSolarGroundAzimuth = 232.04379716167
SubSolarLatitude = -3.5774471997474
SubSolarLongitude = 152.70579331331
SubSpacecraftAzimuth = 188.58712541657
SubSpacecraftGroundAzimuth = 355.45863591601
SubSpacecraftLatitude = -25.69675975172
SubSpacecraftLongitude = 276.16490699194
ParallaxX = 295.97116689453
ParallaxY = -44.693405864191
ShadowX = 72.774354307711
ShadowY = 3636.3370314292
HasLongitudeBoundary = TRUE
HasNorthPole = FALSE
HasSouthPole = TRUE
End_Object
Object = Polygon
CentroidLine = 444.50993729582
CentroidSample = 451.51727680485
CentroidLatitude = -29.640948990517
CentroidLongitude = 169.87095531121
CentroidRadius = 2440000.0
SurfaceArea = 8306887.6685914
GlobalCoverage = 11.103217
GisFootprint = "MULTIPOLYGON (((130.6294254340024850
2.2131023206611959, 132.6105055692809458
2.1932630353674178, 134.5991041747939221
2.1768866704663559, 136.5989383173149179
2.1639614104686271, 138.6138732701137997
2.1544991617480225, 140.6479870975472579
2.1485370053737980, 142.7056447944214597
2.1461393256491279, 144.7915859682860571
2.1474007607611276, 146.9110313636781484
2.1524501894704975, 149.0698155062488013
2.1614560641171146, 151.2745557583258744
2.1746335423788317, 153.5328727459032621
2.1922540865408204, 155.8536845185811046
2.2146585384017592, 158.2476088770336560
2.2422752278895586, 160.7275286712950901
2.2756455971466307, 163.3094106296108805
2.3154614378397187, 166.0135340628912388
2.3626208040715224, 168.8664138091551763
2.4183154173570665, 171.9039685142860208
2.4841743385969286, 175.1770904293465208
2.5625157415150714, 178.7623042877256410
2.6568269305599421, 182.7846940640967830
2.7727925518573540, 187.4765775963039118
2.9209141292952903, 193.3794591608424014
3.1254813901633982, 202.8003290883544025
3.4888589890121060, 208.9133243384161744
3.6695683095888598, 209.4133181820310767
1.4310443060885591, 210.6818642154790666
-0.7847478854915861, 209.5295428597240175
-3.0806311148737824, 209.1564870917320604
-5.3515530445086279, 209.1471946316104891
-7.6207555826676865, 209.5097635515893160
-9.8977975847883499, 210.6196405642980096
-12.1902347166813119, 209.7307796946379881
-14.5159937391944958, 209.6716791291469804
-16.8610282853524112, 210.5320551329192540
-19.2444276256453826, 209.6857434743561157
-21.6461554847044155, 210.0992760736354512
-24.1062788576290039, 209.3212067909635721
-26.5882617801216163, 210.2192163964995473
-29.1708247809513495, 210.7328651668775876
-31.8146583584688898, 210.8366440393211292
-34.5240364830890556, 207.8981201575437865
-37.1820074567976775, 208.4575193189786546
-40.1005881182147590, 208.1640541101386361
-43.1055322081764345, 207.7543072120501790
-46.2586675543238570, 207.5314322096498643
-49.2705498078119462, 206.7582955548065229
-52.1936818866474255, 205.6192136018880490
-54.7714148223784818, 205.4996167427121918
-57.4727506257466345, 204.9971140635101960
-60.0578811129010504, 203.2383821704212892
-62.2679172921601563, 200.9300200165560284
-64.4465030350149277, 199.8971714572124938
-66.5763329778213091, 200.1258931627585582
-68.8361711620767949, 199.2972511439178618
-70.7805855358500509, 196.7792310173380201
-72.5300352734659555, 194.4112185232692127
-73.9561392970242792, 191.4374565775498809
-73.6523681610309922, 188.2995100761490619
-75.8654125285016363, 178.4906870778024199
-77.0852300681489879, 176.5050970206753789
-79.7808076095631549, 165.0757843694741496
-81.0881608166793910, 152.4799804246200949
-82.5308661672881669, 133.8681496681806493
-81.5827311403438955, 131.8894853390425226
-80.2140463705767246, 130.4765643322060669
-67.9452677585599929, 130.2747604739123801
-61.6120592839047703, 130.1922255563363535
-56.7166648646946001, 130.1524766479689106
-52.5703445634040207, 130.1336952263669104
-48.8998968692273337, 130.1270042469504915
-45.5637564899186245, 130.1280543588046328
-42.4773145391421494, 130.1344515306429059
-39.5851913980574466, 130.1447687819669454
-36.8487550883130979, 130.1581055369937303
-34.2397441886732210, 130.1738691835533643
-31.7367005547381460, 130.1916578156440494
-29.3228321892930808, 130.2111932749780863
-26.9846618961309481, 130.2322809933899919
-24.7111344971717593, 130.2547849487542067
-22.4930050180680006, 130.2786115605614725
-20.3224060723840729, 130.3036990978958727
-18.1925334154776763, 130.3300106175650228
-16.0974116238781058, 130.3575292469539306
-14.0317153685153944, 130.3862550843450379
-11.9906299772648701, 130.4162032634127115
-9.9697401421569314, 130.4474028990480292
-7.9649389431856257, 130.4798967426170293
-5.9723515331285055, 130.5137414512137468
-3.9882692673801907, 130.5490084324652855
-2.0090910168198790, 130.5857852735746576
-0.0312690207646566, 130.6241778074674187
1.9487429878277542, 130.6294254340024850
2.2131023206611959)))"
End_Object
End_Object
End
Output values that are not a range are calculated at the center of the
image. The SubSpacecraftLatitude and
SubSpacecraftLongitude make up the subspacecraft point, which is
the point on a body which lies directly beneath the spacecraft. The
SubSolarLatitude and SubSolarLongitude make up the subsolar
point, which is the point on a body's reference surface where a line from
the body center to the sun center intersects that surface. The
NorthAzimuth, SpacecraftAzimuth and SubSolarAzimuth are the
values of the angle between a line from the image center to the relative
point (North pole, SubSpacecraftLatitude/Longitude, SubSolar
Latitude/Longitude respectively) and a reference line in the image plane.
The reference line is a horizontal line from the image center to the
middle right edge of the image. The angles increase in a clockwise
direction. The LocalTime is the time at the current longitude
relative to the subsolar longitude, which has a time of 12 o'clock. The
SolarLongitude is LSubS, or the seasonal angle.
Categories
Parameter Groups
Files
Name
|
Description
|
FROM |
Filename of a cube
|
TO |
Output PVL filename
|
General Output Options
Polygon Output Options
SPICE Option
Name
|
Description
|
SPICE |
Run spiceinit on the input
|
Camera Test
Name
|
Description
|
VCAMERA |
Test image center for valid camera
|
Files:
FROM
Description
Input cube with appropriate camera labels (Instrument and kernel groups). This file must be in raw
camera space, which is a "level 1" cube.
Type
| cube |
File Mode
| input |
Filter
|
*.cub *.CUB
|
Files:
TO
Description
A text file in label format (PVL) which will contain the results of this program. This file can
be used in conjunction with the "getkey" program in order to pass the results to another
program when developing scripts.
Type
| filename |
File Mode
| output |
Filter
|
*.txt *.pvl
|
General Output Options:
FORMAT
Description
Specify the Output format type, FLAT or PVL style.
Type
| string |
Default
| PVL |
Option List:
|
Option |
Brief |
Description |
PVL | Create PVL output |
Cam info data to be generated in PVL format
|
FLAT | Create CSV output |
Cam info data to be generated in Comma Separated Value (CSV) format
Exclusions
- ISISLABEL
- ORIGINALLABEL
- POLYGON
|
|
General Output Options:
APPEND
Description
Append CamInfo to existing data. This will append the
caminfo data in a new line.
Type
| boolean |
Default
| false |
General Output Options:
GEOMETRY
Description
Get geometry information from the camera at the center of the image.
These data are contained in the Geometry Object. The keyword/values
contained there are:
- BandsUsed
- ReferenceBand
- OriginalBand
- Target
- StartTime
- EndTime
- CenterLine
- CenterSample
- CenterLatitude
- CenterLongitude
- CenterRadius
- RightAscension
- Declination
- UpperLeftLongitude
- UpperLeftLatitude
- LowerLeftLongitude
- LowerLeftLatitude
- LowerRightLongitude
- LowerRightLatitude
- UpperRightLongitude
- UpperRightLatitude
- PhaseAngle
- EmissionAngle
- IncidenceAngle
- NorthAzimuth
- OffNadir
- SolarLongitude
- LocalTime
- TargetCenterDistance
- SlantDistance
- SampleResolution
- LineResolution
- PixelResolution
- MeanGroundResolution
- SubSolarAzimuth
- SubSolarGroundAzimuth
- SubSolarLatitude
- SubSolarLongitude
- SubSpacecraftAzimuth
- SubSpacecraftGroundAzimuth
- SubSpacecraftLatitude
- SubSpacecraftLongitude
- ParallaxX
- ParallaxY
- ShadowX
- ShadowY
- HasLongitudeBoundary
- HasNorthPole
- HasSouthPole
Type
| boolean |
Default
| TRUE |
General Output Options:
ISISLABEL
Description
This option will extract the ISIS label and write it to the output PVL
file.
Type
| boolean |
Default
| FALSE |
General Output Options:
ORIGINALLABEL
Description
Include the original labels of the cube in the PVL.
Type
| boolean |
Default
| FALSE |
General Output Options:
STATISTICS
Description
Include DN statistics for all band within the cube. These data are
contained in the Statistics object. The keyword/values contained
therein are:
- MeanValue
- StandardDeviationi
- MinimumValue
- MaximumValue
- PercentHIS
- PercentHRS
- PercentLIS
- PrecentLRS
- PercentNull
- TotalPixels
Type
| boolean |
Default
| FALSE |
General Output Options:
CAMSTATS
Description
Run camstats to get camera information that can be expressed as a range.
Camstats will run on the entire cube (common object), and then for each band(bandset object).
The default linc and sinc for camstats will is "1", the user can select a different linc and sinc.
Output values are:
- MinimumLatitude
- MaximumLatitude
- MinimumLongitude
- MaximumLongitude
- MinimumResolution
- MaximumResolution
- MinimumPhase
- MaximumPhase
- MinimumEmission
- MaximumEmission
- MinimumIncidence
- MaximumIncidence
- MinimumLocalTime
- MaximumLocalTime
Type
| boolean |
Default
| FALSE |
Inclusions
|
|
General Output Options:
LINC
Description
This is the line increment used by camstats.
Type
| integer |
Default
| 1 |
Minimum
| 1
(inclusive)
|
General Output Options:
SINC
Description
This is the sample increment used by camstats.
Type
| integer |
Default
| 1 |
Minimum
| 1
(inclusive)
|
Polygon Output Options:
POLYGON
Description
Use the imagePolygon class to gather polygon information. The output
polygon will be in well known text format (WKT). These data are
contained within the Polygon object. The keyword/values contained
therein are:
- CentroidLine
- CentroidSample
- CentroidLatitude
- CentroidLongitude
- CentroidRadius
- SurfaceArea
- GlobalCoverage
- GisFootprint
Type
| boolean |
Default
| FALSE |
Inclusions
|
- INCTYPE
- INCREASEPRECISION
- NUMVERTICES
- POLYLINC
- POLYSINC
- MAXEMISSION
- MAXINCIDENCE
|
Polygon Output Options:
INCTYPE
Description
When true, use NUMVERTICES to set an approximate number of steps for
the footprint. Otherwise use POLYLINC and POLYSINC to create the
polygon based on the dimentions of the cube.
Type
| string |
Default
| LINCSINC |
Option List:
|
Option |
Brief |
Description |
LINCSINC |
Use POLYLINC and POLYSINC for polygon quality
|
Enable this option to use the number of samples and lines to skip
around the perimeter of the image to compute the polygon
footprint.
Exclusions
|
VERTICES |
Use NUMVERTICES for polygon quality
|
Enable this option to use a total number of vertices around the
perimeter of the image to compute the polygon footprint.
Exclusions
|
|
Polygon Output Options:
INCREASEPRECISION
Description
Enabeling this option will allow the automatic reduction of the SINC
and LINC parameters whenever their current values result in an invalid
polygon. In addition, a results group will be created with the
keywords SINC/LINC which reveal what SINC/LINC values were actually
used for the creation of the footprint.
NOTE: This parameter can result in a drastic increase in running time
as well as a change to user input values.
Type
| boolean |
Default
| FALSE |
Polygon Output Options:
POLYLINC
Description
Specifies the number of lines to skip around the perimeter of the
image to compute the polygon footprint. Note that currently, an
increment of 1 will not work for pushframe instruments such as
THEMIS-VIS.
Type
| integer |
Internal Default
| 10% of the cube's total lines |
Minimum
| 1
(inclusive)
|
Polygon Output Options:
POLYSINC
Description
Specifies the number of samples to skip around the perimeter of the
image to compute the polygon footprint. Note that currently, an
increment of 1 will not work for pushframe instruments such as
THEMIS-VIS.
Type
| integer |
Internal Default
| 10% of the cube's total samples |
Minimum
| 1
(inclusive)
|
Polygon Output Options:
NUMVERTICES
Description
Specifies the approximate number of vertices (+/- 3) to take around
the image to compute the polygon footprint. (In limb images, the
number of steps can be much more or less than 3 off.) Note that
currently, an increment of 4 or less will not work for pushframe
instruments such as THEMIS-VIS.
Type
| integer |
Default
| 40 |
Minimum
| 4
(inclusive)
|
Polygon Output Options:
MAXEMISSION
Description
Specifies the maximum emission angle that a polygon point is
allowed to have. This limit is useful for eliminating limb data
that cause numerous ragged spikes. Limb data will generally
result in odd polygon footprints as the geometry becomes
unstable at the limb due to obliqueness particularly when using
a DEM for the shape model (see spiceinit). This parameter
restricts the emission angle to create better behaved polygons
at the limb while sacrificing some (very oblique) data.
Note the images spiceinit'ed with a DEM, the emission angle
may need to shorted. The DEM at the limb will also cause
additional spiking.
The default value assumes no DEM is associated with movie.
Polygon Output Options:
MAXINCIDENCE
Description
Specifies the maximum incidence angle that a polygon point is
allowed to have. This limit is useful for eliminating
terminator data that may will typically be lost in photometric
corrections. This parameter restricts the incidence angle to
create more data relevant polygons at the terminator while
sacrificing some (non-photometric) data.
Type
| double |
Default
| 120.0 |
SPICE Option:
SPICE
Description
If the user sets this to true then the spiceinit program will be
run on the input file. Spiceinit will use the system SPICE kernels,
so any updates to SPICE information will be lost. Spiceinit is in
this program to facilitate UPC processing.
Type
| boolean |
Default
| FALSE |
Camera Test:
VCAMERA
Description
If the user sets this parameter to true, a test will determine if a
valid camera can be created at the center of the image band. if a
valid camera cannot be created the program will end. The default is
to not test the camera and output any available information.
Type
| boolean |
Default
| FALSE |
History
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 perimiter 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".
|