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 /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-.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 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 }}} - 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 (don’t run delta.gpi again because it will overwrite the delta.png file) }}} - Before using CompareOBJ, need to do some conversions... {{{ ICQ2PLT tmp.plt PLT2OBJ tmp.plt .obj CompareOBJ .obj .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/ }}} - 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- cp fit-.log RESIDUALS.TXT PICINFO.TXT MAPINFO.TXT *OOT *INN run_script*.b view*.jpg SHAPEFILES/SIGMA.TXT SHAPEFILES/delta.png run_output-/ }}} === Clean up === {{{ sh rem_script.b rm –f TESTFILES/* rm –f TESTFILES1/* rm -f nohup.out }}} === Go back and set up another iteration ===