Isis 3 Application Documentation
cam2map | Standard View | TOC | Home |
Convert camera image to a map projection
Description
Categories
Groups
History
If you need to generate your own map file you can use the "maptemplate" program or alternatively, hand create a file using your favorite editor. The map file need only specify the ProjectionName as defaults will be computed for the remaining map file parameters. The following table indicates how the defaults are established:
| PARAMETER | DEFAULT |
| TargetName | Read from Instrument group in the input cube labels |
| EquatorialRadius PolarRadius |
Read from SPICE pck file set during spiceinit. The pck file is defined in the Kernels group via the TargetAttitudeShape keyword |
| LatitudeType | Planetocentric |
| LongitudeDirection | PositiveEast |
| LongitudeDomain | Normally, 360. However, if the cube crosses the longitude boundary the value will change to 180 |
| MinimumLatitude MaximumLatitude MinimumLongitude MaximumLongitude |
Computed from the input cube or read from the map file. However, any combination of the four values can then be overridden by the user |
| PixelResolution Scale |
Computed from the input cube or read from the map file. The value can be overridden by the user. |
If you only entered the input cube (FROM) and output cube (TO) and changed no other parameters the following is the default Mapping group:
Group = Mapping
TargetName = Obtained from the Instrument group
EquatorialRadius = Obtained from TargetAttitudeShape kernel
PolarRadius = Obtained from TargetAttitudeShape kernel
LatitudeType = Planetocentric
LongitudeDirection = PositiveEast
LongitudeDomain = 360 (Could be automatically adjusted to 180 by LONSEAM)
MinimumLatitude = Computed from the input camera cube
MaximumLatitude = Computed from the input camera cube
MinimumLongitude = Computed from the input camera cube
MaximumLongitude = Computed from the input camera cube
ProjectionName = Sinusodial
CenterLongitude = Average of MinimumLongitude and MaximumLongitude
PixelResolution = Computed from the input camera cube
EndGroup
Note that an important concept here is the map file can come from an existing map projected cube.
Because the cube has PVL labels and contains the Mapping group, you can essentially force
the input camera cube to have the same mapping parameters and/or selectively use some of the components of the cube's mapping group.
If you are attempting to construct a mosaic, it is important that the PixelResolution, EquatorialRadius, PolarRadius, LatitudeType, LongitudeDirection, LongitudeDomain, ProjectionName, and projection specific parameters (e.g., CenterLongitude, CenterLatitude) are the same for all cubes. That is, you should create one map file and use it as input for all the cubes in your mosaic. However, the ground range (MinimumLatitude, MaximumLatitude, MinimumLongitude, MaximumLongitude) should not be entered or you will create projected images with large amounts of NULL pixels. The following Mapping group could be used for mosaicking:
Group = Mapping ProjectionName = Sinusodial CenterLongitude = 0 PixelResolution = 100 <meters> EndGroup
Finally, depending on the projection, problems can occur with cubes that fall on the projection longitude seam. For example, if you are making a mosaic with LongitudeDomain = 360 and your cube crosses 0/360 seam, this program would compute the default longitude range of the cube to MinimumLongitude = 0 and MaximumLongitude = 360. A very large output image could be created depending on the pixel resolution. The LONSEAM parameter allows you to selectively handle this case. If you are making mosaics near the seam you will need to understand and alter the default for this parameter.
| Name | Description |
|---|---|
| FROM | Input cube to project |
| MAP | File containing mapping parameters |
| TO | Newly mapped cube |
| Name | Description |
|---|---|
| MATCHMAP | Match the map file |
| PIXRES | Defines how the pixel resolution in the output map file is obtained |
| RESOLUTION | Pixel resolution |
| Name | Description |
|---|---|
| DEFAULTRANGE | Defines how the default ground range is determined |
| MINLAT | Minimum Latitude |
| MAXLAT | Maximum Latitude |
| MINLON | Minimum Longitude |
| MAXLON | Maximum Longitude |
| TRIM | Trim pixels outside ground range |
| Name | Description |
|---|---|
| LONSEAM | How should images at the longitude seam be handled |
| Name | Description |
|---|---|
| INTERP | Type of interpolation |
The specification of the input cube to be projected. The cube must have been initialized using the "spiceinit" program.
| Type | cube |
|---|---|
| File Mode | input |
| Filter | *.cub |
A file containing the desired output mapping parameters in PVL form. This file can be a simple hand produced label file. It can also be an existing cube label which contains a Mapping group. You can produce map file using the "maptemplate" program.
| Type | filename |
|---|---|
| File Mode | input |
| Default Path | $base/templates/maps |
| Default | $base/templates/maps/sinusoidal.map |
| Filter | *.map *.cub |
This file will contain the map projected image.
| Type | cube |
|---|---|
| File Mode | output |
| Filter | *.cub |
This makes the number of lines, number of samples, resolution and ground range of the output cube match the MAP file.
| Type | boolean |
|---|---|
| Default | false |
| Exclusions |
|
This parameter is used to specify how the pixel resolution is obtained for the output map projected cube.
| Type | string | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Default | CAMERA | |||||||||||||||
| Option List: |
|
Specifies the resolution in either meters per pixel or pixels per degree
| Type | double |
|---|---|
| Minimum | 0.0 (exclusive) |
This parameter is used to specify how the default latitude/longitude ground range for the output map projected image is obtained. The ground range can be obtained from the camera or map file. Note the user can overide the default using the MINLAT, MAXLAT, MINLON, MAXLON parameters. The purpose of the ground range is to define the coverage of the map projected image. Essentially, the ground range and pixel resolution are used to compute the size (samples and line) of the output image.
| Type | string | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Default | MINIMIZE | ||||||||||||
| Option List: |
|
The minimum latitude of the ground range. If this is entered by the user it will override the default camera or map value. By default, planetocentric latitudes are assumed unless the MAP file specifies otherwise.
| Type | double |
|---|---|
| Internal Default | Use default range |
| Minimum | -90.0 (inclusive) |
| Maximum | 90.0 (inclusive) |
The maximum latitude of the ground range. If this is entered by the user it will override the default camera or map value. By default, planetocentric latitudes are assumed unless the MAP file specifies otherwise.
| Type | double |
|---|---|
| Internal Default | Use default range |
| Minimum | -90.0 (inclusive) |
| Maximum | 90.0 (inclusive) |
| Greater Than |
|
The minimum longitude of the ground range. If this is entered by the user it will override the default camera or map value. By default, positive east longitudes in the range of 0 to 360 are assumed unless the MAP file specifies otherwise.
| Type | double |
|---|---|
| Internal Default | Use default range |
The maximum longitude of the ground range. If this is entered by the user it will override the default camera or map value. By default, positive east longitudes in the range of 0 to 360 are assumed unless the MAP file specifies otherwise.
| Type | double |
|---|---|
| Internal Default | Use default range |
| Greater Than |
|
If this option is selected, pixels outside the latitude/longtiude range will be trimmed or set to null. This is useful for certain projections whose lines of latitude and longitude are not parallel to image lines and sample columns.
| Type | boolean |
|---|---|
| Default | FALSE |
With this option you can turn on/off the automatic longitude domain switching that occurs when a file crosses the boundary of the longitude domain (0-360 or -180 to 180). If the switching is turn off then you have the choice of making the program continue or exit when the cube does cross the bounday.
| Type | string | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Default | AUTO | ||||||||||||
| Option List: |
|
This is the type of interpolation to be performed on the input.
| Type | string | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Default | CUBICCONVOLUTION | ||||||||||||
| Option List: |
|
| Kay Edwards | 1986-09-02 | Original version |
| Jeff Anderson | 2003-05-02 | Converted to Isis 3.0 |
| Jeff Anderson | 2003-06-05 | Added to Camera category |
| Stuart Sides | 2003-07-29 | Modified filename parameters to be cube parameters where necessary |
| Jeff Anderson | 2003-12-01 | Reworked defaults for user parameters |
| Jeff Anderson | 2004-01-21 | Modified resolution parameters to eliminate inclusion/exclusion dependences. |
| Jeff Anderson | 2004-02-13 | Added AUTOLON parameter |
| Jeff Anderson | 2004-02-25 | Fixed bug with ground range user option |
| Elizabeth Miller | 2005-10-25 | Added appTest |
| Jacob Danton | 2005-12-02 | Updated appTest |
| Elizabeth Miller | 2006-03-23 | Fixed appTest to reflect changes made in all camera models |
| Tracie Sucharski | 2006-04-04 | Check to see if center of input image projects, if it does, force the tile containing center to be processed in ProcessRubberSheet. |
| Jeff Anderson | 2006-04-04 | Reworked user interface |
| Elizabeth Miller | 2006-04-10 | Reworked code for new user interface and added helper buttons |
| Elizabeth Miller | 2006-05-18 | Depricated CubeProjection and ProjectionManager to ProjectionFactory |
| Elizabeth Miller | 2006-05-30 | Moved Helper buttons and fixed error checking in helper methods |
| Elizabeth Miller | 2006-09-06 | Modified call to ProjectionFactory CreateForCube method to include a value of false for the newly added sizeMatch parameter |
| Jeff Anderson | 2006-12-06 | Test to see if target is sky and abort |
| Jeff Anderson | 2007-03-13 | Add minimize option for DEFAULTRANGE |
| Steven Lambright | 2007-06-22 | Fixed typo and corrected XML |
| Steven Lambright | 2007-08-22 | Fixed lonseam option to work with minimize option correctly |
| Stuart Sides | 2008-02-11 | Fixed bug where the ground range was not pulled from the map file when it was supposed to be (using DEFAULTRANGE = MAP). |
| Christopher Austin | 2008-04-18 | Added the MATCHMAP option. |
| Steven Lambright | 2008-05-12 | Removed references to CubeInfo |
| Christopher Austin | 2008-07-15 | Changed MATCHMAP to default off |
| Steven Lambright | 2008-08-04 | Changed MATCHMAP to have exclusions. If MATCHMAP is true, the PIXRES and DEFAULTRANGE options can not be set. Changed the code to enforce MATCHMAP. |
| Steven Lambright | 2008-09-10 | Added the ability to change ProcessRubberSheet's tiling sizes. Now the Camera will decide upon the tiling sizes used in ProcessRubberSheet, in order to fix problems found with the push frame cameras which have small framelet sizes (less than 64 pixels tall). This is a passive ability with respect to the user; no options or differences should be noticable. |
| Christopher Austin | 2008-10-31 | Fixed DEFAULTRANGE > CAMERA option to accept MINLAT, MAXLAT, MINLON, and MAXLON as overriding values. |
| Christopher Austin | 2009-01-27 | Fixed parameter names. |
| Travis Addair | 2009-08-10 | Mapping group parameters are now placed into the print file. |