Working with Mars Reconnaissance Orbiter HiRISE Data

From Isis Workshop

Jump to: navigation, search


Contents

[edit] About MRO HiRISE

The Mars Reconnaissance Orbiter Mission

[edit] Instrument Overview

uploaded image: HiRISE Instrument A comparision between the resolution of a camera aboard Mars Gloabal Surveyor and the HiRISE camera on Mars Reconnaissance Orbiter. Credit: NASA/JPL
magnifying glass icon
HiRISE Instrument A comparision between the resolution of a camera aboard Mars Gloabal Surveyor and the HiRISE camera on Mars Reconnaissance Orbiter. Credit: NASA/JPL

HiRISE has acquired more than 20,000 images of the martian surface in unprecedented detail.

HiRISE operates in visible wavelengths with a telescope that will produce images at resolutions never before possible in planetary exploration. These high resolution images will enable scientists to resolve 1-meter (about 3-foot) sized objects on Mars and to study the morphology (surface structure) in a much more comprehensive manner than ever before.

From an altitude of approximately 300 kilometers above Mars, HiRISE will return surface images comprised of pixels representing 30 centimeters of the martian surface.

These high-resolution images provide unprecedented views of layered materials, gullies, channels, and other science targets, as well as possible future landing sites.

[edit] Technical Details

uploaded image: HiRISE Observation:  This image is one half (vertically) of a HiRISE  observation scaled down to approximately 1/50th of its original resolution. It is of a small area inside Eberswalde crater in Margaritifer Sinus. Taken on November 8, 2006, the image is a composite of all 10 red detectors and the 2 blue-green detectors.
magnifying glass icon
HiRISE Observation: This image is one half (vertically) of a HiRISE observation scaled down to approximately 1/50th of its original resolution. It is of a small area inside Eberswalde crater in Margaritifer Sinus. Taken on November 8, 2006, the image is a composite of all 10 red detectors and the 2 blue-green detectors.
uploaded image: Full Resolution Subarea: This is a full resolution sub-area of the image on the right (indicated by the red outline). One pixel represents 25.6 cm on the surface of Mars.
magnifying glass icon
Full Resolution Subarea: This is a full resolution sub-area of the image on the right (indicated by the red outline). One pixel represents 25.6 cm on the surface of Mars.


This telescopic camera has a primary mirror diameter of 50 centimeters and a field of view of 1.15°. At its focal plane, the instrument holds an array of 14 electronic detectors, each covered by a filter in one of three wavelength bands: 400 to 600 nanometers (blue-green), 550 to 850 nanometers (red), or 800 to 1000 nanometers (near-infrared). Ten red detectors are positioned in a line totaling 20,028 pixels across to cover the whole width of the field of view. Typical red images are 20,000 pixels wide by 40,000 lines high. Two each of the blue-green and near-infrared detectors lie across the central 20% of the field. Pixel size in images taken from an altitude of 300 kilometers will be 30 centimeters across, about a factor of two better than the highest-resolution down-track imaging possible from any earlier Mars orbiter and a factor of five better than any extended imaging to date. As a rule of thumb, at least three pixels are needed to show the shape of a feature, so the smallest resolvable features in the images will be about a meter across for an object with reasonable contrast to its surroundings. The instrument uses a technology called time delay integration to accomplish a high signal-to-noise ratio for unprecedented image quality.


The Principal Investigator (lead scientist) for HiRISE is Alfred McEwen from the Lunar and Planetary Laboratory at the University of Arizona.



[edit] References & Related Resources


[edit] Cartographic Processing HiRISE Data

[edit] Level 0 Processing

  1. Data Acquisition
  2. Ingestion
  3. SPICE
  4. Raw Camera Geometry


[edit] Level 1 Processing

  1. Radiometric Calibration
  2. Channel Stitching
  3. Noise Removal


[edit] Level 2 Processing

  1. Overview
  2. Map Projection
  3. Tone Match
  4. Mosaic



[edit] Batch Processing

The ingestion, SPICE initialization, calibration, merging, and normalization must be run for each channel image. This would be incredibly tedious to run each application for every file! Luckily, batch processing is easy to do in Isis3. Using the Isis -batchlist command line option[[1]], a set of CCD images for a single observation can easily be processed through level 1 processing.

The commands shown below create file lists to use as inputs to the applications and run those applications using the batchlist option:

1. create a single column list of images without the file extension
   ls *.IMG | sed s/.IMG// > cube.lis

2. run hi2isis on the list of files, adding the input/output extensions 
   in the command line
   hi2isis from=\$1.IMG to=\$1.cub -batchlist=cube.lis

3. apply spiceinit to the hi2isis output cube files
   spiceinit from=\$1.cub -batchlist=cube.lis

4. apply hical with the appropriate input/output file extensions
   hical from=\$1.cub to=\$1.cal.cub -batchlist=cube.lis

5. create a list of one of the channels without file extensions
   ls *_0.IMG | sed s/_0.IMG// > cube2.lis

6. stitch together the channels specifying each appropriate extension 
   in the command line
   histitch from1=\$1_0 from2=\$1_1 to=\$1 -batchlist=cube2.lis

7. normalize, tone-match across the channels (if necessary)
   cubenorm from=\$1 to=\$1.norm.cub -batch=cube2.lis

Related Isis Applications & Documentation

See the following Isis documentation for information about the applications you will need to use to perform this procedure:

  • Isis Command Line Usage: how to run Isis programs on the command line
  • hi2isis: converts a HiRISE EDR to Isis cube format
  • spiceinit: adds SPICE information to the input cube
  • hical: radiometrically calibrates HiRISE channel images
  • histitch: combines two HiRISE channel images to form a single CCD image
  • cubenorm: normalizes values in a image

[edit] Exporting Isis Data

Overview for exporting ISIS3 data


[edit] Exporting large HiRISE images

HiRISE mosaics are very large and our export application isis2std does not handle large PNG or JPEG images. You will need to decrease the size of the image to export by either cropping or reducing.

[edit] Related Isis Applications

See the following Isis documentation for information about the applications you will need to use to perform this procedure:

  • reduce: scale down a cube
  • crop: pull a region out of a cube

[edit] Create a HiRISE Anaglyph

See: HiRISE Anaglyphs

[edit] HiRISE-to-HiRISE Geometric Control

Two HiRISE observation of red filter images will be geometrically controlled by shifting one observation set relative to a master observation. A collection of tiepoints that links all the images is needed to accomplish this task. A few tiepoints will be constrained heavily to tack down the control points when the bundle adjustment is performed. After the camera pointing has been updated the images will be projected, tone matched, and mosaicked together.

[edit] Collect tiepoints for each observations

1.  Generate normalized cube files for each observation by running steps 1 to 7
See steps under Batch Processing.
2. Create a list of all the normalized cube files for both observations
ls *norm.cub > normalized.lis
3. Add footprint polygons to the image labels of each normalized cube file
footprintinit from=\$1 linc=100 sinc=50 incre=true -batch=normalized.lis
4. Add camera statistics information to the image labels of each normalized cube file
camstats from=\$1 linc=100 sinc=50 attach=true -batch=normalized.lis
5. Create separate lists of the normalized cubes for each observation
ls PSP_004339_1890*norm.cub > set1.lis ls PSP_00568*norm.cub > set2.lis
6. Find image overlaps and record the information to an output file for each observation separately
findimageoverlaps froml=set1.lis over=set1_overlaps.txt findimageoverlaps froml=set2.lis over=set2_overlaps.txt
7. Automatically seed tiepoints along the overlaps, run separately to avoid seeding too many points in the overlap areas between the two sets
autoseed fromlist=set1.lis deffile=hirise_ccd_sets_seed.def overlaplist=set1_overlaps.txt onet=hirise_set_autoseed.net errors=hirise_set1_autoseed.err networkid=Hirise_set1 pointid=hirise_set1_\?\?\?\? description="HiRise set1 images autoseed with hirise_ccd_sets_seed.def"
autoseed fromlist=set2.lis deffile=hirise_ccd_sets_seed.def overlaplist=set2_overlaps.txt onet=hirise_set _autoseed.net errors=hirise_set2_autoseed.err networkid=Hirise_set2 pointid=hirise_set2_\?\?\?\? description="HiRise set2 images autoseed with hirise_ccd_sets_seed.def"
For more information see "Autoseed: Automatic seeding of tiepoints"
8. Merge the two output networks produced by the autoseed program
cnetmerge inputtype=cnets base=hirise_set1_autoseed.net cnet2=hirise_set2_autoseed.net onet=hirise_autoseed_merged_sets.net networkid=HiRiseSets description="Hirise merge set1 and set2 networks"
9. Perform automatic sub-pixel registration between the measures for each control point. A registration template is required that defines what the tolerances should be for the program pointreg. The input list should contain all the images included in the two control networks that were merged previously in step 8
pointreg fromlist=all_norm.lis cnet=hirise_autoseed_merged_sets.net deffile=hires_p51x151_s151x251.def onet=hirise_autoseed_merged_sets_ptreg.net flatfile=hirise_autoseed_merged_sets_ptreg.txt points=all
For more information see "Automatic Registration: Pattern Matching"

[edit] Evaluate the results of automatic seeding and registration

Display the result with qmos to see the distribution of control points and the point types (blue=successful, red=failed)

qmos
Under file, select "Open Cube List"
Select the file list, and then press "Open"
Click on the "Control Net" button
Select the control network file (output of pointreg), and press "Open"

The example below shows the footprint plot with the tiepoints in the control network. Additional work is required to convert some ignored tiepoints to valid tiepoints with qnet or pointreg.


HiRISE control network plot


After fixing critical tiepoints that link the images together with qnet or pointreg, the result should look like the example below:


HiRISE control network plot, after fixing critical tiepoints
Note: The ignored points and measures were deleted in the plot above

[edit] Add and register control measures between the two observations to link them together

1.  Remove all the ignored points and measures before adding additional 
    measures.  The input network should be the output from qnet or 
    pointreg in the previous step. 
cnetedit cnet=hirise_autoseed_merged_sets_ptreg.net onet=hirise_autoseed_merged_sets_ptregedit.net
2. Add new control measures in order to link the two observations together.
cnetadd fromlist=all_norm.lis addlist=all_norm.lis cnet=hirise_autoseed_merged_sets_ptregedit.net onet=hirise_autoseed_merged_sets_ptregedit_add.net log=hirise_autoseed_merged_sets_ptregedit_add.log polygon=yes
3. Automatically register the new measures to the reference measures which were set in the previous steps. The registration template must be modified to allow for the offset between the two sets. In most cases, the search area needs to be increased and some of the other settings may need to be adjusted also.
IMPORTANT: set "measures=candidates" See Automatic Registration for additional information.
pointreg fromlist=all_norm.lis points=all measures=candidates cnet=hirise_autoseed_merged_sets_ptregedit_add.net deffile=hirise_p151x501_s651x1501.def onet=hirise_autoseed_merged_sets_ptregedit_addptreg1.net flatfile=hirise_autoseed_merged_sets_ptregedit_addptreg1.txt
4. Remove all ignored measures from the control network.
cnetedit cnet=hirise_autoseed_merged_sets_ptregedit_addptreg1.net onet=hirise_autoseed_merged_sets_ptregedit_addptreg1edit.net
5. Check the network for missing links, single measures, no control points, or problems with the latitude and longitude.
cnetcheck fromlist=all_norm.lis prefix=cknet1_ cnet=hirise_autoseed_merged_sets_ptregedit_addptreg1edit.net
6. Check the output results and fix any problems reported. If the network is good, continue to the next step.

[edit] Use qnet to constrain tiepoints

We will be adjusting all the images relative to one image instead of to actual ground coordinates. Use the interactive program qnet to constrain a set of tiepoints to a specified geographic location. The amount of movement allowed will be defined by setting the apriori latitude, longitude, and radius values by some amount. In our example, the apriori sigma values for (lat, lon, radius) will be set to (1.0, 1.0, and 100.0) for the selected tiepoints. Make sure the latitude, longitude values are obtained from the same image.

(qnet) - click for more information on the interactive program.

qnet 
Select "Open control network cube list"
Select "all_norm.lis"
Select "hirise_autoseed_merged_sets_ptregedit_addptreg1edit.net"
In the "Control Network Navigator" window go to the drop-down menu 
  next to "Points", and select "Cubes"
Select both "RED5" cubes, hold down "Ctrl" button while selecting the files (PSP_004339_1890_RED5_norm.cub and PSP_005684_1890_RED5_norm.cub) Click on "View Cubes" button

The two images should be displayed in the qnet window. The image shows green cross-hair where there are valid control points, magenta for constrained points, and yellow for ignored points. Do not use yellow points to constain control points. Select 3 points, one at top, center, and bottom of the same image to constrain the latitude and logitude coordinates. Make sure the left image in the "Qnet Tool" or editor window has the "RED5" image displayed on the left. A DEM is required in order to constrain the points, the file must have been run through demprep.

Find the location where the DEM is stored before going to the next step. The dems are normally stored in $ISIS3DATA/base/dems directory.

Go to "File" and select "Open ground source"
Select "$base/dems/molaMarsPlanetaryRadius0005.cub"
Go to "File" and select "Open radius source"
Select "$base/dems/molaMarsPlanetaryRadius0005.cub" 
In the qnet window, select the "Control point editor" button (the last button with two arrow points)
Click on the uppermost green crosshair in the qnet window for one of the RED5 images. The point will be displayed in the editor window.
Next, Select "Points" in the control network navigator window
In the editor window: Select "Constrained" using the drop-down menu next to "Free" Click "Save Measure" in the editor window Click "Save Point" in the editor window Click "Floppy disk icon" to save the changes to the file (Do not skip this step)
In the control navigator window: Click "Set Apriori/Sigmas" Enter Latitude Sigma=1.0 Longitude Sigma=1.0, and Radius Sigma=100.0 Click "Set Apriori" Click "Save network" Point should change color from green to magenta

REPEAT previous STEPS for center and bottom points.
Save the control network file.

[edit] Bundle adjustment

After constraining at least 3 tiepoints, run the bundle adjustment program jigsaw. Do not check "update" and "error propagation" until an acceptable solution is reached. After each run check the output file showing the residuals to determine if there are bad measures in the control network.

Sample of jigsaw GUI showing parameter names: JIGSAW GUI

JIGSAW GUI

Our settings are very basic since our primary purpose is to shift one observation to match another, and we are not actually including accurate ground points. For advanced users, the steps and parameters used may be adjusted to fit your particular needs.

Command line entry:

jigsaw fromlist=all_norm.lis onet=jigtest1.net
cnet=hirise_autoseed_merged_sets_ptregedit_addptreg1edit.net
radius=yes sigma0=1.0e-6 maxits=10 point_radius_sigma=1000 
camera_angles_sigma=3 file_prefix=jig1 
Check the output files:
sort -k8,8nr jig1_residuals.csv|more
(The residuals should be less than 5 pixels, check large residuals using qnet, or create a list of pointid's and delete with cnetedit)
egrep -a cub jig1_bundleout.txt |more
The last 3 columns next to the filenames should be small
Final run:
jigsaw fromlist=all_norm.lis onet=jigtest1.net update=yes cnet=hirise_autoseed_merged_sets_ptregedit_addptreg1edit.net radius=yes sigma0=1.0e-6 maxits=10 point_radius_sigma=1000 camera_angles_sigma=3 file_prefix=jig1 errorpro=yes


For additional information on Jigsaw, refer to a discussion PowerPoint as presented in June 26, 2012 at the Planetary Data Workshop: Jigsaw Demo


[edit] Map projection and mosiac

The final step is to project the images, tone match the set, and mosaic the files together. A map template is needed in order to project the images. Our map template contains the following parameter settings:

#mars_equi.map 
Group = Mapping
   TargetName         = Mars
   ProjectionName     = Equirectangular
   CenterLongitude    = 0.0
   CenterLatitude     = 0.0
   #EquatorialRadius   = 3396190.0 <meters>
   #PolarRadius        = 3376200.0 <meters>
   LatitudeType       = Planetocentric
   LongitudeDirection = PositiveEast
   LongitudeDomain    = 180
   PixelResolution    = .5 <meters/pixel>
End_Group

Create Level2 images:

ls *norm.cub > lev1.lis
cam2map from=\$1 to=lev2_\$1 map=mars_equi.map -batch=lev1.lis

Tone match images:

ls lev2_*norm.cub > lev2.lis
ls lev2_PSP_004339_1890_RED5_norm.cub > hold.lis
equalizer fromlist=lev2.lis holdlist=hold.lis outstats=stats.txt 

Mosaic

ls lev2*equ.cub > lev2equ.lis
automos froml=lev2equi.lis mosaic=hirise_set_mosaic.cub 
Final mosaic of two observations: HiRISE mosaic of two observations

[edit] Related Isis Applications

See the following Isis documentation for information about the applications you will need to use to perform this procedure:

  • footprintinit: Add footprint polygons to image labels
  • camstats: Add camera statistics to image labels
  • findimageoverlaps: Find overlaps between a set of images
  • autoseed: Automatically create a network file by seeding tiepoints
  • cnetmerge: Merge different control network files
  • pointreg: Sub-pixel register control measures for a control point
  • qmos: Display image footprints and control point networks
  • qnet: Interactive program to collect and modify control measures and ground points
  • cnetedit: Delete control points and measures from a control network
  • cnetadd: Add control measures to an existing control network
  • cnetcheck: Check control network file before running jigsaw
  • jigsaw: Bundle adjustment program to update camera pointing information
  • cam2map: Map project level 1 images
  • equalizer: Tone match a set of images
  • automos: Create a mosaic
Personal tools
Work Shops