== Iterate == Loop as required. Do nftBlockFinish when done with iterations. Log the following. localLoop.sh will handle this * sigma after each iteration * nofit "no correlation" flags * Stop on a real flag and email * Number of nofits * corrEval results ==== Batch Run ==== Check the following * Daemon is running * Terminate is unset (if you want more than one) * localLoop.sh is set (map=) * interationCount is a useful number. Whatever number is set in "iterationCount" when monitor is start will be increment and used as the $id variable in localLoop.sh. Thus, it is useful to set it to something new if you are doing a different suite of iterations. For the first 2 full iterations (i.e. over ALL maplets), make sure there are no images with a correlation <0.1 before starting a full iteration. If there are images that are getting a correlation <0.1 even after several iterations, delete if emission angle is >50, illumination coverage (after x-0.025) < 0.5, or phase less than 8 or 9. They are weak images and will not contribute much anyway. After you have done 2 full iterations, clean according to the criteria for a correlation <0.1, but apply it to correlations <0.3. Again, if after many iterations they still are <0.3, they are not strong anyway. The final check for an MLN is to use bigEval.sh A * If the resulting bigmap has SigmaScore >2, you are done. Make sure you've run at least 2 full iterations (all maplets) to make sure everything has stabilized. * More iterations may help (stop if the avg sigmaScore is going down) or you may need more images, a fill, or some other technique. Note: Consider changing USRMX to something other than 12. If there are < 24 landmarks, then using N as user max will be faster. While each process takes longer to run, it is faster than doing two maplets in succession. == Setup ROI Iterate == NOTE - Be sure you have made the bigmap before pasting below. Because [[bigmap]] provides sigmas in km, it lacks the resolution needed for good statistics. Thus, we need to use [[bigmapRef]], which outputs [[SIGMA.TXT]] in units of meters. However, [[bigmapRef]] needs an additional [[bigmap]] name as the first line of the file to define the normal plane. Thus, we have to run normal [[bigmap]] before we run [[bigmapRef]] {{{ ID=00000 Res=5 logP=log/$ID$Res mkdir -p $logP checkVar $ID $Res $logP bigmap < nftConfig/nftBigmap-$ID-$Res.IN }}} == Setup Batch Iterate NFT Feature (Note: Uses USED_MAPS.TXT) == {{{ checkVar $ID $Res $logP echo "Getting ready for iteration $ID-$Res" >> notes date >> notes echo $ID$Res | tee -a notes echo ${ID}A > tmpRun cat nftConfig/nftBigmap-$ID-$Res.IN>> tmpRun cat tmpRun >> notes bigMapRef < tmpRun tail -2 SIGMAS.TXT | head -1 | tee -a notes echo y | cp -v USED_MAPS.TXT LIST.TXT duplicates relink.sh scripts/Piterate1St.seed make_scriptP.seed | tee -a notes ls -l make_scriptP.seed >> notes MAKE_LMRKLISTX echo 1 > config/iterationCount echo 3 > config/stopCount relink.sh /opt/local/spc/bin/nftLoop.sh localLoop.sh make_scriptP | tee run.sh echo "Running iteration at " `date` >> notes sh run.sh monitor }}} Run the normal NFT iterate steps to start the running. Remember to: * Turn off terminate * Run localLoop * Start the deamon {{{ Deamon - Running F L E }}} == Save iteration files == {{{ checkVar $ID $Res $logP echo 2 | nftBlockFinish.sh nft.$ID sh rem_script.b }}} == Run AUTOREGISTER before kicking off remaining iterations == A few iterations often allow us to pull in more images. Run AUTOREGISTER on the PG62 and P63 images, but NOT the P60 images. See below under the AUTOREGSITER heading. {{{ checkVar $ID $Res $logP bigmap < nftConfig/nftBigmap-$ID-$Res.IN grep P62 USED_PICS.TXT > make_script.in grep P63 USED_PICS.TXT >> make_script.in grep P64 USED_PICS.TXT >> make_script.in echo END >> make_script.in echo "Running AUTOREGISTER" > notes relink.sh support/make_scriptA_jrwLowerC2.seed make_scriptA.seed make_scriptA nohup sh run_script.b; finished autoregister autoEval.sh checkVar $ID $Res $logP echo 3 | nftBlockFinish.sh nft.$ID }}} == If AUTOREGISTER excludes many images, do another iterate over the new maplets == {{{ autoEval.sh }}} == Run NFTWeb to check stats, particularly stationEval.sh for landmarks with missing stations == {{{ nftWeb.sh $ID }}} == Complete remaining iterations. == {{{ checkVar $ID $Res $logP echo "Getting ready for iteration $ID-$Res" >> notes date >> notes echo $ID$Res | tee -a notes echo ${ID}A > tmpRun cat nftConfig/nftBigmap-$ID-$Res.IN>> tmpRun cat tmpRun >> notes bigMapRef < tmpRun tail -2 SIGMAS.TXT | head -1 | tee -a notes echo y | cp -v USED_MAPS.TXT LIST.TXT duplicates relink.sh scripts/Piterate1St.seed make_scriptP.seed | tee -a notes ls -l make_scriptP.seed >> notes MAKE_LMRKLISTX echo 3 > config/iterationCount echo 10 > config/stopCount relink.sh /opt/local/spc/bin/nftLoop.sh localLoop.sh make_scriptP | tee run.sh echo "Running iteration at " `date` >> notes sh run.sh monitor }}} Run the normal NFT iterate steps to start the running. Remember to: * Turn off terminate * Run localLoop * Start the deamon When done, collect some statistics {{{ checkVar $ID $Res $logP mkdir -p log/${ID}A grep SIGMAS.TXT notes > log/${ID}A/sigmas.txt grep correlation notes > log/${ID}A/overlaps.txt grep Errors notes > log/${ID}A/nocorr.txt grep Ended notes > log/${ID}A/time.txt grep "Average " notes > log/${ID}A/corrAvg.txt grep "Average Sig" notes > log/${ID}A/corrSigmaScore.txt grep Above notes > log/${ID}A/corrAbove.txt echo 2 | nftBlockFinish.sh nft.$ID sh rem_script.b }}} == Tuck Log files into log == {{{ mv log/out-* $logP }}} == Make sure you have 2 (preferably 3) BBD stations for each image == {{{ # Needs new maplets in MAPINFO.TXT; Run if RESIDUALS has not been run since tiling echo "5 .001 .001" | RESIDUALS bigmap < nftConfig/nftBigmap-$ID-A.IN stationEval.sh USED_MAPS.TXT head -1 eval/evalStation.txt sort -k2,2 eval/evalStation.txt | more }}}