AlgorimancerPG Photogrammetry and RangeFinder Application
Current Version 4.0.5 (May 26, 2008)
The AlgorimancerPG application has lately undergone some very major revisions, principally to support the Phoenix lander in addition to the MER rovers.
1) Support for the Phoenix lander's SSI stereo camera has been added, thanks to support from the camera's PI, Mark Lemmon. This will allow ranging and photogrammetry within a stereo pair of images, however at this time there is no database support available (from the mission), which means that such things as true azimuth and elevation are not available.
2) The internal MER database, which provides rover position and camera orientation so that true azimuth and elevation can be determined, has been extensively revised. The local database file (the ImgBinDat file in the executable directory) is now in a binary format supporting subsequent extension as needed. More importantly, within the application the database is now in a sorted format, which means that it is much quicker to search and update than in prior versions, and handles updates more robustly than before.
3) Image rendering now uses the CxImage library rather than the prior (very slow) Microsoft .Net approach. This means that images will render almost instantly, and they now follow the cursor when dragged. One consequence of making the dragging behavior flicker-free has been a change of the background color from white to black (the only real difference from the screenshot below).
In spite of all of these changes the behavior of the application is otherwise virtually unchanged.
Download AlgorimancerPG Photogrammetry and Rangefinder Application
Screenshot:
To use AlgorimancerPG, start the application, open a stereo pair of images from either of the MER rovers or the Phoenix lander (use shift or control to select both images when opening), and ensure that the correct rover and camera is checked. You may manually enter pixel coordinates in the Analysis control and calculate results from those, however the Analysis control is linked to the images, so you can get the coordinates directly by simply clicking on the target location in each of the images using the LEFT mouse button. When you click on the image a red cross will mark the location, and the pixel coordinates will appear in the correct location in the Analysis control. Click left image, then right image, and click the Calculate button (or Spacebar) to find the resulting range and position information. After calculating, the red crosses will turn green, and these will accumulate in the images as you perform additional calculations.
The images initially appear with the upper left corners of each image synchronized with the upper left corner of the window region where it will display, with the image pixels the same size as the window pixels. You can zoom-in and out of the images (together) with the numeric keypad's +/- keys (or Page-up/Page-Down keys), and you can click and drag with the RIGHT mouse button to pan around the images (separately). If you need to revert to the starting condition there is a reset option under the View menu, along with an option to swap the left image with the right image in case they're reversed.
Enjoy. This remains a work in progress. Please let me know about any problems encountered.
For lot's of additional interesting information about the MER rovers engineering and science, visit the rovers' main site at JPL, or the MER section of UnmannedSpaceFlight.com. Additional images can be found at Exploratorium. To quickly capture lot's of pixel coordinates, the author recommends the free ImageJ application. To contact the author, you can reach him at algorimancer at gmail dot com, or as username algorimancer on Unmanned Space Flight dot com.