Improving Image Registration when using DeLorme XMap Pro Print E-mail
GPS/Mapping Stuff - General

One of the great features provided by the DeLorme PN-20/40 products is the ability to take a custom image, geo-reference it, and then download the image into the PN-20/40. But to use this feature, you must purchase XMap.

XMap comes in three versions: Enterprise ($1500), Editor ($750 to $809), and Professional ($200 to $260). While DeLorme may discontinue it's discount of XMap Professional at any time, they have been selling the $200 version for $100 to existing customers of the PN-20/40.

While the Enterprise version allows multi-point registration of an image, the Professional version only allows two-point registration of an image. On some images, this has created problems as you move away from these two registration points.

To overcome this problem, I have found a way to "warp" the image to provide better registration across the whole image. The procedure I use is described below.

Getting Better Image Registration with XMap 5.2 Professional

Version 1.11 - 1/19/2008

In a perfect world, XMap 5.2 Professional’s (XMAP) two-point registration would allow the whole image to be perfectly geo-referenced, with all roads, mountain tops, streams, railroads, trails, etc; being overlaid perfectly with the XMap USA Topographic Data 20007 (TOPO2007) data that comes with XMAP. But my world wasn’t so perfect. The images I geo-referenced using XMAP’s two-point registration have been skewed. By skewed, I mean features on my custom map didn’t lineup with the same feature on the TOPO2007 map (Figure 1). So, how was I going to get my images to register better with the TOPO2007 map? What I found was a way to ‘warp’ the image. While the procedure didn’t provide perfect results, they did provide very good results (Figure 2).

 

Figure 1 - I placed waypoints wpt4 at the top of Burnt Top on the TOPO2007 map (right side). But, because of skewing, the waypoint doesn't appear at the correct location on my custom map (left side).

 

Figure 2 - This show how much better my custom map is now registered, as compared to Figure 1, after 'warping' the image.

 

NOTE: In the following instructions, I talk about “the image”. This is the digital image you want/need to get geo-referenced into XMap. For the instructions below, I used a TIF image. You’re mileage might vary if using a difference image format.

 

Step 1 - Getting some additional software - It's Free!

You'll need to download the file hypercube.zip from http://www.tec.army.mil/Hypercube

This program will be used to actually ‘warp’ your custom image. The zip file contains only one file: hypercube.exe. I placed it into a directory called ‘hypercube’.

 

Step 2 - Load your custom image into XMap 5.2 Pro

Before starting XMAP, place a copy of your custom image into the DeLorme Docs\ImageData directory (If ImageData doesn't exist yet, then create it).

Now, open XMAP and select the ImageReg tab. Press the Load Image... button, select your custom image, and press Open. XMap should load your image and display it on the left half of the screen.

 

Step 3 - Registering your custom image

XMAP only allows for two-point registration. So, you'll need to pick registration points in the top-left corner and bottom-right corner of your image.

The secret to getting good registration is knowing what points to pick. For my image, I found that mountain tops worked the best as registration points. The accuracy of contour lines on my image seemed to be good, so did the intersection of rivers and major roads. What I found that didn't work was local or rural roads and trails.

So, zoom your custom image (left screen) into the top-left corner and try to find a good registration point. Then find the same place on the TOPO2007 map (right screen).

Press the Add new or modify existing control point button. Now, click on the registration point you've selected for your custom image (left screen). In Figure 3, I selected a mountain top at "[1]Point 1". Next, click on the same location in the TOPO2007 map (right screen). In Figure 3, it would be at waypoint "wpt2".

 

Figure 3 - After selecting the Add new or modify existing control point button, click on the registration points. First click on the custom image, second click on the Topo2007 map.

 

The first click on the left screen selects a location on the custom image to register; the second click on the right screen tells XMAP the actual location of the point. If you look at the table (after the second click), the Zone/Easting and Northing values will be filled in.

 

NOTE: If you have Options->Display->Coordinates set to Degrees, then table will show Latitude and Longitude.

 

Next, press the Add new or modify existing control point button to de-select it. Pan the custom image (left screen) to the bottom-right corner and find a good registration point. Pan the TOPO2007 map (right screen) to the same location.

Press the Add new or modify existing control point button and click on your registration point on the custom image (left screen), then click on the same location on the TOPO2007 map (right screen). This will fill-in the second entry of the table. You're custom image is now registered...

 

Step 4 - Create Data

Press Create Data button. Then press Process Button. At this point XMAP will start processing your image. Go to the bathroom, get some coffee, or take the dog for a walk - It's going to take a while. Once the data is created, press the OK button.

 

Step 5 - Saving your work

Press WorkFile button. Press Save Button. Press Close Button.

At this point, XMAP should be displaying your newly registered custom image (now a custom map) on both the left and right sides of the screen. NOTE: If your custom map isn’t being displayed, try reducing the Zoom Level.

 

Step 6 - Examining your results

Again, in a perfect world, you would be done and your custom map would be in perfect alignment (registration) with TOPO2007. All major roads on your custom map would overlay perfectly with TOPO2007’s roads. Same with rivers, mountain tops, valleys, railroad tracks, trails, etc. But, for the images I've done, the world isn't so perfect... So, let's check how perfect your world is...

Select the Map Data tab and de-select the ImageData Series layer for the Primary Map (Figure 4). This will prevent your custom map from displaying on the right side screen.

  Figure 4 – Uncheck the ImageData Series box.

 

Now, in Step 3, you used the top-left and bottom-right as registration points, so these two corners should be fairly accurate. So, let's check the top-right and bottom-left corners.

Pan/Zoom to the top-right edge of your custom map and find a good registration point and place a waypoint there (when placing the waypoint, place it on the TOPO2007 map - right screen). Then see how close the waypoint is to the same place on your custom map. In Figure 5, you can see how skewed wpt5 is.

 

Figure 5 - This shows how much skew is in the top-right corner of my custom map.

 

Now, Pan/Zoom to bottom-left edge of your custom map and find a good registration point and place a waypoint there (again, place the waypoint on the TOPO2007 map – right screen). In Figure 6, look how far off (skewed) wpt4 is.

 

Figure 6 - This shows how much skew is in the bottom-left corner of my custom map.

 

If these two corners are fairly accurate, pan around and check various other areas: top-middle, bottom-middle, left-middle, right-middle, center of map. Even check top-left and bottom-right corners just to make sure they are correctly registered.

Now, if your custom map isn't skewed, pat yourself on the back - You're Done!! You live in a perfect World!! If you're map is skewed and you'd like to correct it, continue on…

 

Step 7 - Creating control points for un-skewing

In Step 3, you found two registration points; one in top-left corner and another in the bottom-right corner of your image. Additionally, in Step 6, you may have added a few more while examining your custom map for alignment.

For this step, you'll need to find at least 30 control points that are spread across the whole map, including any you've already found. Again, it's important to pick locations that are fairly accurate (i.e., mountain tops, major roads, intersection of rivers) as control points. Try not to use rural/back roads. When placing the waypoints, be sure to place them on the TOPO2007 map (right screen). You want the control points to be placed at accurate locations, which should be the TOPO2007 map.

When done, your map should like something like Figure 7.

 

Figure 7 - Make sure you spread out the 30 control points across the whole map.

 

Step 8 - Let's fire-up Hypercube.

Before starting HyperCube, place two copies of your custom image into the directory where HyperCube is located. Name one Map1.tif and the other Map2.tif.

Now, start the HyperCube program. Select File->Open, select Map1.tif and press Open button. On the Load TIFF Data dialog box, select Load Image. Select File->Open, select Map2.tif and press Open button. On the Load TIFF Data dialog box, select Load Image.

Select Functions->Warp (Function is on the Menu bar). This opens the Warp dialog. Select Image 1 by clicking on the drop-down list arrow and selecting Map1.tif. (NOTE: Even though it says Map1.tif is already selected, this step is still needed due to a bug in the program). Select Map2.tif for Image 2. Change Transform to "Cubic (10 Items)". See figure 8.

 

Figure 8

 

Step 9 - Selecting control points in Hypercube.

In this step, you are basically going to manually transfer the control points you picked in Step 7 into the HyperCube program.

Using XMAP, find a control point (waypoint) on your custom map. I selected wpt4. See Figure 9.

 

Figure 9

 

Next, pan Map1 and Map2 to the same location. See Figure 10.

Now, while holding down the Shift key, left click in Map1 at the location where the waypoint should be (i.e., top of mountain, intersection of rivers or major roads). In Figure 10, you would click at the center (peak) of the mountain.

Next, again while holding down the Shift key, left click in Map2 where the waypoint actually appears in XMAP on your custom map. If you look at Figure 9, this is the location of wpt4. So, you’d Shift-Left click at the same location on Map2. See Figure 10.

If you look at Figure 10 very closely, you'll see a little '+' sign at the center of the Burnt Top in Map1, and a little '+' sign to the left of Burnt Top in Map2.

Repeat the above procedure for all of your control points (waypoints) selected in XMAP during Step 7.

 

NOTE: The hardest part about this procedure is trying to find the control point on Map1 and Map2. The program doesn't provide an easy way to navigate around other than the scroll bars.

NOTE: After you do find the location of a control point on Map1/Map2 and have Shift-Clicked to mark them. Changing the waypoint symbol in XMAP makes keeping track of which control points you've entered easier.
  Figure 10

 

Why are we doing this?

The control points selected in Map1 are used to mark the real locations on the map (i.e., mountain tops, intersections, etc).. The control points selected in Map2 indicate where each control point should be moved (warped).

 

Checking Results before processing to next step:

On the Warp dialog box, there is a Residuals button that becomes active after entering at least 10 control points. The last column on the right shows how close each control point will be warped to an ideal solution (in pixels). If there are one or two values quite a bit higher than the others, you may have either picked a bad control point or may have entered it incorrectly. For the images I’ve done, the values have been 6.0 or less.

 

Step 10 - Warp Factor Five....Engage

Now that all of your control points have been entered, press the Warp Button. At this point HyperCube will engage the warp drive and spit out a warped image.

Select the new image, then select File->Save As and save the file as Map1_c10.tif

Copy the new image file into the DeLorme Docs/ImageData directory.

 

Step 11 - Pete and Repeat.

Now repeat Steps 2 through 6 using the newly created image, Map1_c10.tif. Try to select the same two registration points in the top-left and bottom-right as you did with the original, un-warped, image.

 

The Results

The following images show the results of using HyperCube.

 

Figure 11

 

Figure 11 shows the real world results of warping the image. The map on the left is the original image with two-point registration and no warping. The map on the right is with the same two-point registration, but is of the warped image created by HyperCube!! Notice how much closer the track log follows the road on the warped map.

 

Conclusion

As can be seen from Figure 11, warping the image with HyperCube can greatly improve the accuracy of your custom maps!

I've scanned and warped 5 or 6 images now using these procedures, and HyperCube has warped most of the control points to within 5 pixels or less of an ideal solution.

As each map I scanned was registered at 5.38 meters/pixel (as displayed on the ImageReg->Register page), that's a worst case error of 25 meters (or 75 feet). For a map covering 1,900 sq miles, I can live with a 75 ft worst case error!!

I hope this information is useful - Please e-mail me if you find any errors or have additional information that can be added to help others with the warping of their custom images.

Rick Wright (a.k.a. HorseTrailRider)

Prineville, OR

This e-mail address is being protected from spambots. You need JavaScript enabled to view it

 
Joomla Templates by Joomlashack