Once the basic registration of images to landmarks are done, then it usually is time to do batch updating of the topography, what is typically called "iterating". There are several different templates that can be used (known as seeds). They usually contain variations of using stereo, number of passes, limbs and/or existing topography.
This procedure will get a list of landmarks to work on, build the scripts that LITHOSP (the parallel version of LITHOS) will run, start the scripts and monitor them.
1 - Choose a set of landmarks to process. Typically, we just copy LMRKLIST.TXT to make_script.in. We can also use the list of landmarks from making a bigmap (called USED_MAPS.TXT. You can copy things to LIST.TXT and run duplicates to generate the make_script.in file, which will sort the landmarks by resolution and remove duplicate entries.
2 - Ensure the fast lookup table is updated by running MAKE_LMRKLISTX to form MAKE_LMRKLISTX.TXT. This file has every landmark in it, plus location data added. This lets lithos identify the boundaries much faster.
3 - Copy one of the seed files to be used. It is stored in the SPC directory under SEEDS. It is copied into the standard name make_scriptP.seed. make_scriptP uses that file to generate the run_script files
4 - Edit make_scriptP.seed to make sure it is what you want.
5 - Generate the run_script files. Run the command make_scriptP. It will generate numerous make_scriptXX.b files (b is for batch -- nonstandard notion for a shell script). It will also display a set of commands that you need to run. You can retype them into a shell, copy and paste them, or direct their output to form a short shell program that you run next (which is what I normally do).
6 - Execute the output from make_scriptP.
7 - Monitor using find_nofitP
Basic instructions from testing procedures
# For this procedure, we will use the entire list of landmarks -- so we are processing the entire surface. # Clean up from older runs ./rem_script.b rm -f ./TESTFILES/* rm -f ./TESTFILES1/* /usr/local/bin/MAKE_LMRKLISTX cp USED_MAPS.TXT LIST.TXT /usr/local/bin/duplicates # Set up the seed file cp <SPC Source>/SEEDS/Piterate2.seed make_scriptP.seed # Generate the scripts (This makes the scripts and also outputs several commands to run the scripts to standard output) /usr/local/bin/make_scriptP > run.sh # Run the scripts (this will execute the shell commands) sh run.sh # Monitor progress /usr/local/bin/find_nofitP
It will generate output that shows the progress and landmarks with problems. If the landmark has a leading *, then there is a serious problem that must be fixed. Try to align the landmarks by hand, or try methods suggested by "Problems".
"Cookbook" iteration
Assuming you've already installed a shape model, and you already have your SEED files ready to go, you can apply the following cookbook instructions. If you don't have a SEED file, it's easier to just ask someone. After the first iteration, some of these instructions will be redundant, but I leave them for completeness.
If I don't specify the directory, always assume you are in the working directory (where all the OOT and INN files will go).
Setting up and running an iteration
cp Piterate2Sh.seed make_scriptP.seed cp LMRKLIST.TXT make_script.in make_lmrklistX make_scriptP > run.sh ls (and see lots of INN files) nohup sh run.sh &
Fixing landmarks and generating new shape model
find_nofitP > fit-<shape>.log (this will save your errors, can also run without sending to log file)
- Fix landmarks (add link to location on wiki) - Use text editor to change name of shape model files (line that says "suffix="; “shape” will be appended to front and “64/128/etc” will be appended to back of the shape model filenames
vi support/buildShape.sh sh support/buildShape.sh
- The above will run for 15-20 min, if it runs longer something is wrong.
- Open view*.jpg to have a look at the new shape model
Install new shape model
cd SHAPEFILES rm SHAPE.TXT ln -s <newshape-512> SHAPE.TXT cd ..
Record Statistics
- Some of these programs will send information to the terminal, if you want to view these numbers later you'll have to save them in a document, perhaps as an Excel file.
cd SHAPEFILES/ diffShape <truth-256> <yourshape-256>
- Make a 2D map of the error. Make sure you have delta.txt and delta.gpi (can get them from someone if you don't have them)
gnuplot (once in gnuplot, type the following line) load "delta.gpi" (in addition to creating an image in a window, this image will also be saved to delta.png) quit compShape60 <truth-256> <yourshape-256> (don’t run delta.gpi again because it will overwrite the delta.png file)
- Before using CompareOBJ, need to do some conversions...
ICQ2PLT <yourshape-512> tmp.plt PLT2OBJ tmp.plt <yourshape-512>.obj CompareOBJ <truth-512>.obj <yourshape-512>.obj
- Other statistics. Be sure to get formal uncertainty from very bottom of RESIDUALS.TXT (created by RESIDUALS) and record volume and area from shape_info
cd .. RESIDUALS (use the below inputs) 10 .01 .01 shape_info SHAPEFILES/<yourshape-512>
- Can also compare visually with truth model. View images in ~/send after running evalReg.sh
mkdir ~/send (if you don't already have this folder) sh evalReg.sh (may need to ask for this file)
Save output files
mkdir run_output-<shape> cp fit-<shape>.log RESIDUALS.TXT PICINFO.TXT MAPINFO.TXT *OOT *INN run_script*.b view*.jpg SHAPEFILES/SIGMA.TXT SHAPEFILES/delta.png run_output-<shape>/
Clean up
sh rem_script.b rm –f TESTFILES/* rm –f TESTFILES1/* rm -f nohup.out