---- '''''Warning: This page has been updated to include information on unofficial versions of the SPC software. This information is current as of the unofficial 20 May 2019 version of SPC.''''' ---- == Introduction == Bob created a suite of programs that handles linescan (push broom) images. Here are notes about how it works and what we've learned. The current versions of the X versions of the SPC programs are located in the LITHOSPHEREX directory, rather than in X_FILES. === displayX === displayX serves the same purpose as display. Users can view images, which can be helpful for adjusting thresholds, treating blemishes, seeing landmark locations, and so forth. The options in display and displayX are similar, except that in displayX the user is not given the option to "show limb? (y/n)". The outputs of displayX and display are also similar. Users can look at TEMPFILE.pgm to see the image. Terminal will report the size of the image, as well as T1, KS, etc. and give the option to copy TEMPFILE.pgm to ./Display/imagenameR.pgm. === registerX === registerX serves the same purpose as register. Users can register images to another image, to a map, or to a shape. registerX has fewer options than register. Specifically, registerX has the following options: * 0. Quit * 1. Change scale * 2. Global shift * 3. Shift unknown (LEFT/RED) image * 5. Change reference * 6. Change RANGE of (LEFT/RED) image * 7. Revert to nominal * 8. Change substrate (f) * a. Turn on bkg * b. Turn on image for Vlm * c. Change correlation limit = 0.25 * d. Unfix scobj (this is NOT the same as option d in register!) The following options exist in register, but '''not''' registerX. * b. Set a big correlation * 4. Rotate unknown (LEFT/RED) image * 9. Update nominal and quit * P. Pole search * N. New pole and nominal relative phase * R. Rotate body * F. Features to body rotation * S. Change image stretch * I. Update illumination * G. Get approach range from images * O. Find OMEGA * W. Write log * l. Turn on log * d. Fix scobj * e. Fix pointing * v. Fix center t. Tuck picture Another difference: the current picture, current reference, and current scale are printed at the bottom of the register menu. registerX does not print this information. The outputs of register and registerX are the same. TEMPFILE.pgm and TEMPFILE.ppm that can be used to assess how well the image is registered. See the documentation for register for more details on these files. === lithosX === ''Note: lithospX does not work, so landmarks with linescan images must be processed serially, which means iterations can take a while.'' lithosX serves the same purpose as lithos. However, lithosX lacks certain bells and whistles. This does not impede the use of lithosX, but it's worth noting. The options in lithosX and lithos are similar, except that lithosX lacks the "H. Hide screen output" option and includes option "T. Show Topo and Albedo maps", options that regular lithos lacks. The main menus of lithos and lithosX looks a bit different, but with the two exceptions noted above, have the same functioanlity. The lithos main menu is abbreviated unless the user types "?" to get the verbose menu. The lithosX menu is always verbose, and the options are not separated out by function as they are in the verbose version of the lithos menu (e.g., landmark/maplet construction, adjust input data and nominals, etc.). Some other things to note: * lithosX does not recognize "REPEAT" or "RECENT" as valid landmarks, but lithos does. Other than that, the options when opening a landmark are the same (e.g., y/0.5/n or n/n, etc.) * option 1 (Align Landmarks): lithosX does not list "q. Quit" as an option. But, typing "q" still works. Other than that, the alignment steps (i.e., 1/0/1/n/0y and similar) are the same in the two programs. * option U (update landmark file): in lithosX, there is no "q. Quit" option like there is in lithos. If the lithosX user tries to type "q" at this point, lithosX will crash. So, don't update a landmark unless you are sure you want to keep the updates. * option C (Create new landmark): in lithosX, there is no option "vector (v)". Users can only create landmarks based on pixel-line location (p), lat/long (l), or map pixel-line location (m). Other than that, the process of creating a landmark is the same once the user chooses p, l, or m. * option R (Replicate/Rename landmark): works the same in lithosX and lithos. * option S (Change scale/qsz/orientation): works the same in lithosX and lithos. lithosX does not tell you that you can do 0 0 0 to quit. But, you can. * option N (Find normal): lithosX only has options 1 - 4. These are the same options 1 - 4 as lithos has. lithosX lacks the ability to set the normal from a larger map or to rotate the normal about aUx+bUy. lithosX does not list "q. Quit" as an option, but pressing q works. The program won't crash on you. * option V (Find V, Z, or PTG): Lithos and lithosX both have 7 options. The first six are the same. The last option is different. In lithos, option 7 is "RA/DEC/TW (selected image). In lithosX, the last option is "Pixel/Line residuals". lithosX does not list "q. Quit" as an option, but pressing q works. The program won't crash on you. Within the V option, option #1 is invoked the same way. However, option #2 is different in lithosX. lithos gives the user the choice to update and report, report only, or update only. lithosX simply updates the information without requiring additional input. (If someone is re-using a make_scriptF.seed from a non-X body, then this part of the seed has to be changed before using it in lithosX.) * option A (Reset albedo or slopes): works the same in lithosX and lithos. * option D (Delete/Disconnect landmark): Both lithosX and lithos have the option to "1: Delete" or "2: Disconnect" a landmark. lithosX does not list "q. Quit" as an option, but pressing q works. The program won't crash on you. * option E (Eliminate pictures from landmark): lithosX lacks the option to "v. Check peripheral visibility" or "q. Quit". But, you can type q to get out of this menu; the program will not crash. The other options (autoremove, manual remove, etc.) work the same way in both programs. * option P (Toss or Tuck picture): identical interface in lithosX and lithos * option M (Get heights from shape model): identical interface in lithosX and lithos * option B (Get heights from surrounding map): lithosX does not have the "AUTOPICK? (y/n) option, but is otherwise the same as the usage in lithos. === autoregisterX === === residualsX === === geometryX === === bigmap === If Q > 1000, a bigmap will not work with x.lithos. The solution is to break the bigmap into pieces that are less than a Q of 1000, and then after those bigmaps are tiled, tile the gaps. === mosaic === While not an X-file-only tool, is heavily used to support data processing In addition to Bob's software, Terik and Carolyn modified some other programs so that they work with the X versions of the software: * [[make_scriptTX]] * [[make_scriptRX]] * [[make_scriptAX]] * [[make_scriptX]] * [[find_nofitTX]] * [[find_nofitX]] Make a note in here somwhere about OO vs OOT == Specific Object (includes PROCESS_) == * [[LRO_setup]] -- What is needed to make LRO work * PROCESS_HIRISE * PROCESS_HRSC == Specific Projects == * [[Tsiolkovsky]] -- First project * [[Ingiini]] - Evaluation of topography of the lunar swirls == Building Photometic Cubes == A Photometric cube is a abstraction of a physical location on a surface in which every image is registered to an SPC [[bigmap]] with backplanes. [[Detailed Description]] -- More info about what a cube is and how to use it. Channels * if.cub * phase.cub * i.cub * e.cub [[Steps to build]] -- The details of how to build them