ISIS Application Documentation
phocube | Printer Friendly View | TOC | Home |
Create photometric and geometric information bands for an image cube
Overview | Parameters | Example 1 |
DescriptionThis program, phocube, creates backplane bands that contain photometric, geometric, and spacecraft instrument information for an image file. The parameter options range from photometric angles (incidence, emission, and phase) to various azimuth angles, and options based on spatial (latitude, longitude, and resolution) information. This program will not work on Level1 images without a camera model, or on mosaics. The input image pixels are not propagated to the output file unless the user selects the "DN" option. The following is a partial list of how users have made use of band output:
All ISIS applications default to the following geometric reference if a camera model exists:
There are instances where the local emission angle and the local incidence angle will have values over 90 degrees. ISIS allows the computation of emission and incidence angles greater than 90 degrees. This feature allows representation of viewing and illumination conditions where there is actual target body surface data beyond the limb or deep terminator boundary areas. Applications such as photomet that applies photometric functions honor the 90-degree boundary. Applications such as photrim can be applied to the phocube output to replace the angle values above 90 degrees to NULL. There are certain processes that need these data, therefore it is allowed. This program requires a Level1 file that has a successful "spiceinit" applied to it, or a Level2 image cube file. For every valid input pixel, an output pixel is computed based on either the SPICE information, or the map projected spatial information, or a pre-defined equation. The parameters "morphologyRank" and "albedoRank" are specifically designed to be used by the ISIS mosaic programs. A mosaic program will automatically compare two pixel values to determine how each pixel is mosaicked into an output file, which depends on whether a morphology-based or an albedo-based product is desired. The program computes a DN value for every input pixel based on the formulas listed below and outputs the value to a backplane band. These backplane bands are used by the ISIS mosaic programs. The following are equations for "morphologyRank" and "albedoRank" options:
All the options in phocube are applicable if the input file is a Level1
image and has a camera model associated with the file. If the input file
is a map-projected Level2 image, only a few options are appropriate
and available for selection.
The BandBin group keywords are updated in the labels of the output cube file. The keyword "Name" within the BandBin group, shown below, is populated with the name of each option selected by the user as bands. These bands can be referenced by their names in applications such as "mapmos" and "qview." Example: phocube from=EW0131773041G_cal.cub to=EW0131773041G_cal.pho.cub morph=true dn=true Sample of image label: Group = Dimensions Samples = 1024 Lines = 1024 Bands = 7 End_Group Group = BandBin Name = ("750 BW 5", "Phase Angle", "Emission Angle", "Incidence Angle", Latitude, Longitude, Morphology) Number = (7, 7, 7, 7, 7, 7, 7) Center = (748.7, 748.7, 748.7, 748.7, 748.7, 748.7, 748.7) Width = (5.1, 5.1, 5.1, 5.1, 5.1, 5.1, 5.1) End_Group Note: The first band retained the BandBin Name value from the input file. The program has "Phase Angle," "Emission Angle," "Incidence Angle," "Latitude," and "Longitude" options pre-selected. If the backplane bands generated by phocube are used in the mosaic programs and the mosaic requires the input image pixel, the "DN" parameter name must be set to "true" in phocube. When backplane bands are used in the "fx" or "photomet" program, it is not necessary to propagate the input image to the output file. CategoriesRelated Applications to Previous Versions of ISISThis program replaces the following applications existing in previous versions of ISIS:
Related Objects and DocumentsApplicationsHistory
|
Parameter GroupsFiles
Photometry
|
This is the input filename. The input image cube can be a Level1 or Level2 file. For a Level1 image, spiceinit must be successfully applied before running phocube.
Type | cube |
---|---|
File Mode | input |
Filter | *.cub |
This is the output file name. The cube file will contain a band for each of the selected options. The BandBin Group in the image labels of the output cube file will be updated with the "Name" keyword containing the output band names (options) in the order that they are stacked within the cube.
Type | cube |
---|---|
File Mode | output |
Pixel Type | real |
Specifies whether the geometric information will be obtained from the camera model or from the map projection. If this parameter is set to CAMERA, all band options are available for the user to select. If this parameter is set to PROJECTION, then only DN, LATITUDE, LONGITUDE, and PIXELRESOLUTION band options are available and all other options will be greyed out. If the user sets this parameter to CAMERA and the input file does not contain a camera model or SPICE information, then an error message will occur.
Type | string | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Default | CAMERA | |||||||||
Option List: |
|
If this parameter is true, calculations will be done on special pixels. If this parameter is false, special pixels will be skipped and set to NULL in the output image for all bands selected.
Type | boolean |
---|---|
Default | TRUE |
This parameter specifies whether the input image pixel value (DN) will be propagated to the output file. The DN parameter must be set to "true," if the output product created is expected to contain the input image information.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Phase Angle will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Phase Angle" in the BandBin group, in band sequence of the output file. Phase angles are in degrees.
Type | boolean |
---|---|
Default | TRUE |
If this parameter is true, the Emission Angle will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Emission Angle" in the BandBin group, in band sequence of the output file. Emission angles are in degrees. There are certain cases where the emission angle is over 90 degrees. This is allowed as there are processes that need these data. See main description for details.
Type | boolean |
---|---|
Default | TRUE |
If this parameter is true, the Incidence Angle will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Incidence Angle" in the BandBin group, in band sequence of the output file. Incidence angles are in degrees. There are certain cases where the incidence angle is over 90 degrees. This is allowed as there are processes that need these data. See main description for details.
Type | boolean |
---|---|
Default | TRUE |
If this parameter is true, the Local Emission Angle will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Local Emission Angle" in the BandBin group, in band sequence of the output file. LocalEmissionAngle is in degrees. There are certain cases where the local emission angle is over 90 degrees. This is allowed as there are processes that need these data. See main description for details.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Local Incidence Angle will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Local Incidence Angle" in the BandBin group, in band sequence of the output file. LocalIncidenceAngle is in degrees. There are certain cases where the local incidence angle is over 90 degrees. This is allowed as there are processes that need these data. See main description for details.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the latitude value will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Latitude" in the BandBin group, in band sequence of the output file. Latitude is in degrees.
Type | boolean |
---|---|
Default | TRUE |
If this parameter is true, the longitude value will be computed for every pixel placed in a band in the output cube. The output cube labels will contain "Longitude" in the BandBin group, in band sequence of the output file. Longitude is in degrees.
Type | boolean |
---|---|
Default | TRUE |
If this parameter is true, the Pixel Resolution will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Pixel Resolution" in the BandBin group, in band sequence of the output file. PixelResolution is in meters.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Line Resolution will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Line Resolution" in the BandBin group, in band sequence of the output file. LineResolution is in meters.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Sample Resolution will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Sample Resolution" in the BandBin group, in band sequence of the output file. SampleResolution is in meters.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Detector Resolution will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Detector Resolution" in the BandBin group, in band sequence of the output file. DetectorResolution is in millimeters.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Oblique Detector Resolution will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Oblique Detector Resolution" in the BandBin group, in band sequence of the output file. ObliqueDetectorResolution is in millimeters.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the North Azimuth will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "North Azimuth" in the BandBin group, in band sequence of the output file. NorthAzimuth is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Sun Azimuth will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Sun Azimuth" in the BandBin group, in band sequence of the output file. SunAzimuth is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Spacecraft Azimuth will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Spacecraft Azimuth" in the BandBin group, in band sequence of the output file. SpacecraftAzimuth is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Off Nadir Angle will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "OffNadir Angle" in the BandBin group, in band sequence of the output file. OffNadirAngle is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Spacecraft Ground Azimuth will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Sub Spacecraft Ground Azimuth" in the BandBin group, in band sequence of the output file. SubSpacecraftGround Azimuth is in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the SubSolar Ground Azimuth will be computed for every pixel and placed in a band in the output cube. The output cube labels will contain "Sub Solar Ground Azimuth" in the BandBin group, in band sequence of the output file. SubSolarGroundAzimuth is in degrees.
Type | boolean |
---|---|
Default | FALSE |
This band is computed from the pixel resolution
and emission angle using the following formula:
MorphologyRank = PixelResolution / cos(EmissionAngle)
The resulting output band can be used by automos to create a
morphology-based mosaic product. This option uses the
local emission angle if the input file
is initialized (spiceinit) with an elevation model (DEM); otherwise, it
uses the default calculation (from the ellipsoid). All computed cosines are
tested for zero. If the result is zero, then the value is set to a constant
value very close to zero.
Type | boolean |
---|---|
Default | FALSE |
This band is computed from the pixel resolution,
incidence angle and emission angle
using the following formula:
AlbedoRank = PixelResolution * [(1 / cos(EmissionAngle)) + (1 / cos(IncidenceAngle))]
The resulting output band can be used by automos to create an albedo-based
mosaic product. This option always uses the
local emission angle and
local incidence angle if the input file
is initialized (spiceinit) with an elevation model (DEM); otherwise, it
uses the default calculation (from the ellipsoid). All computed cosines are
tested for zero. If the result is zero, then the value is set to a constant
value very close to zero.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Right Ascension, and the Declination will be calculated for every pixel and each will be placed into their respective bands in the output cube. The output cube labels will contain "Right Ascension" and "Declination" in the BandBin group, in the band sequence of the output file. Right Ascension and Declination are in degrees.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Body Fixed Coordinates will be calculated for every pixel and the values for X, Y, and Z will each be placed into their own bands in the output cube. The output cube labels will contain "Body Fixed X", "Body Fixed Y", and "Body Fixed Z" in the BandBin group, in the band sequence of the output file. Body Fixed Coordinates are in kilometers.
Type | boolean |
---|---|
Default | FALSE |
If this parameter is true, the Local Solar Time will be calculated for every pixel in the output cube. The output cube label will contain "Local Solar Time" in the BandBin group. Local Solar Time is in hours.
Type | boolean |
---|---|
Default | FALSE |
Example 1Create latitude and morphologyRank backplane bands Description
Within this example, phocube creates an output file with two bands
that contain latitude information and computed morphologyRank
values, which are shown below as separate snapshots under "Output
Images." The input image file shown below under "Input Image" was
not propagated to the phocube output file because DN is set to
false. If the phocube output file is projected and mosaicked,
the mosaic file will contain the latitude information for the first
band and the "morphologyRank" values for the second band, but no image
information from the input image will be included. The "DN"
parameter must be set to "true" if the output product is expected
to contain the input image.
Command Line
phocube
from=EW0131773041G_cal.cub to=EW0131773041G_cal.pho.cub phase=no emission=no incidence=no
longitude=no morphologyRank=yes
Run phocube to create latitude and morphologyRank bands.
GUI Screenshot
Input Image
Output Images
|