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=<ID><Res>)
- 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 <Feature Name>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