diff --git a/isis/src/tgo/tsts/coloredMosaic/Makefile b/isis/src/tgo/tsts/coloredMosaic/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..b68428959bfb7bd3804a755a4ed2347558dbc02b --- /dev/null +++ b/isis/src/tgo/tsts/coloredMosaic/Makefile @@ -0,0 +1,141 @@ +# This tests the production of a CaSSIS uncontrolled multi-color mosaic from ingestion to +# export to pds4. +# +# @history 2018-02-22 Adam Goins - Original version, many things borrowed from +# uncontrolled single-color cat test. +# + +INGEST = tgocassis2isis +SPICE = spiceinit +MAPFILE = mosrange +PROJECT = cam2map +MOSAIC = automos +EXPORT = isis2pds +GETKEY = getkey +CUBEIT = cubeit + +include $(ISISROOT)/make/isismake.tsts + +commands: + # Ingest Red + $(LS) $(INPUT)/*-RED-*.xml > $(OUTPUT)/redInputs.lis; + $(SED) 's/^.*input\///g' $(OUTPUT)/redInputs.lis > $(OUTPUT)/redRelative.lis; + $(SED) 's/\.xml//g' $(OUTPUT)/redRelative.lis > $(OUTPUT)/redBasenames.lis; + $(INGEST) $(TSTARGS) from=$(INPUT)/\$$\1.xml \ + to=$(OUTPUT)/$\$$\1.cub -batchlist=$(OUTPUT)/redBasenames.lis > /dev/null; + $(SPICE) $(TSTARGS) from=$(OUTPUT)/$\$$\1.cub \ + SPKPREDICTED=true CKPREDICTED=true -batchlist=$(OUTPUT)/redBasenames.lis > /dev/null; + $(LS) $(OUTPUT)/*-RED-*.cub > $(OUTPUT)/redCubes.lis; + + # Ingest Blu + $(LS) $(INPUT)/*-BLU-*.xml > $(OUTPUT)/bluInputs.lis; + $(SED) 's/^.*input\///g' $(OUTPUT)/bluInputs.lis > $(OUTPUT)/bluRelative.lis; + $(SED) 's/\.xml//g' $(OUTPUT)/bluRelative.lis > $(OUTPUT)/bluBasenames.lis; + $(INGEST) $(TSTARGS) from=$(INPUT)/\$$\1.xml \ + to=$(OUTPUT)/$\$$\1.cub -batchlist=$(OUTPUT)/bluBasenames.lis > /dev/null; + $(SPICE) $(TSTARGS) from=$(OUTPUT)/$\$$\1.cub \ + SPKPREDICTED=true CKPREDICTED=true -batchlist=$(OUTPUT)/bluBasenames.lis > /dev/null; + $(LS) $(OUTPUT)/*-BLU-*.cub > $(OUTPUT)/bluCubes.lis; + + # Ingest Pan + $(LS) $(INPUT)/*-PAN-*.xml > $(OUTPUT)/panInputs.lis; + $(SED) 's/^.*input\///g' $(OUTPUT)/panInputs.lis > $(OUTPUT)/panRelative.lis; + $(SED) 's/\.xml//g' $(OUTPUT)/panRelative.lis > $(OUTPUT)/panBasenames.lis; + $(INGEST) $(TSTARGS) from=$(INPUT)/\$$\1.xml \ + to=$(OUTPUT)/$\$$\1.cub -batchlist=$(OUTPUT)/panBasenames.lis > /dev/null; + $(SPICE) $(TSTARGS) from=$(OUTPUT)/$\$$\1.cub \ + SPKPREDICTED=true CKPREDICTED=true -batchlist=$(OUTPUT)/panBasenames.lis > /dev/null; + $(LS) $(OUTPUT)/*-PAN-*.cub > $(OUTPUT)/panCubes.lis; + + # Ingest Nir + $(LS) $(INPUT)/*-NIR-*.xml > $(OUTPUT)/nirInputs.lis; + $(SED) 's/^.*input\///g' $(OUTPUT)/nirInputs.lis > $(OUTPUT)/nirRelative.lis; + $(SED) 's/\.xml//g' $(OUTPUT)/nirRelative.lis > $(OUTPUT)/nirBasenames.lis; + $(INGEST) $(TSTARGS) from=$(INPUT)/\$$\1.xml \ + to=$(OUTPUT)/$\$$\1.cub -batchlist=$(OUTPUT)/nirBasenames.lis > /dev/null; + $(SPICE) $(TSTARGS) from=$(OUTPUT)/$\$$\1.cub \ + SPKPREDICTED=true CKPREDICTED=true -batchlist=$(OUTPUT)/nirBasenames.lis > /dev/null; + $(LS) $(OUTPUT)/*-NIR-*.cub > $(OUTPUT)/nirCubes.lis; + + # MAP FILE + # Create list of all files. + $(LS) $(INPUT)/*.xml > $(OUTPUT)/allInputs.lis; + $(SED) 's/^.*input\//output\//g' $(OUTPUT)/allInputs.lis > $(OUTPUT)/allRelative.lis; + $(SED) 's/\.xml/.cub/g' $(OUTPUT)/allRelative.lis > $(OUTPUT)/allCubes.lis; + $(MAPFILE) $(TSTARGS) fromlist=$(OUTPUT)/allCubes.lis to=$(OUTPUT)/equi.map > /dev/null; + + # MOSAICS + # Create Red Mosaic + $(PROJECT) $(TSTARGS) from=$(OUTPUT)/$\$$\1.cub to=$(OUTPUT)/$\$$\1_redEqui.cub \ + map=$(OUTPUT)/equi.map \ + pixres=mpp resolution=200 -batchlist=$(OUTPUT)/redBasenames.lis > /dev/null; + $(LS) $(OUTPUT)/*redEqui.cub > $(OUTPUT)/redMosaic.lis; + $(MOSAIC) $(TSTSARGS) fromlist=$(OUTPUT)/redMosaic.lis \ + mosaic=$(OUTPUT)/redCassisMosaic.cub grange='USER' \ + MAXLAT = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MaximumLatitude grpname=Mapping` \ + MINLAT = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MinimumLatitude grpname=Mapping` \ + MAXLON = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MaximumLongitude grpname=Mapping` \ + MINLON = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MinimumLongitude grpname=Mapping` > /dev/null; + +# Create Blu Mosaic + $(PROJECT) $(TSTARGS) from=$(OUTPUT)/$\$$\1.cub to=$(OUTPUT)/$\$$\1_bluEqui.cub \ + map=$(OUTPUT)/equi.map \ + pixres=mpp resolution=200 -batchlist=$(OUTPUT)/bluBasenames.lis > /dev/null; + $(LS) $(OUTPUT)/*bluEqui.cub > $(OUTPUT)/bluMosaic.lis; + $(MOSAIC) $(TSTSARGS) fromlist=$(OUTPUT)/bluMosaic.lis \ + mosaic=$(OUTPUT)/bluCassisMosaic.cub grange='USER' \ + MAXLAT = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MaximumLatitude grpname=Mapping` \ + MINLAT = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MinimumLatitude grpname=Mapping` \ + MAXLON = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MaximumLongitude grpname=Mapping` \ + MINLON = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MinimumLongitude grpname=Mapping` > /dev/null; + +# Create Pan Mosaic + $(PROJECT) $(TSTARGS) from=$(OUTPUT)/$\$$\1.cub to=$(OUTPUT)/$\$$\1_panEqui.cub \ + map=$(OUTPUT)/equi.map \ + pixres=mpp resolution=200 -batchlist=$(OUTPUT)/panBasenames.lis > /dev/null; + $(LS) $(OUTPUT)/*panEqui.cub > $(OUTPUT)/panMosaic.lis; + $(MOSAIC) $(TSTSARGS) fromlist=$(OUTPUT)/panMosaic.lis \ + mosaic=$(OUTPUT)/panCassisMosaic.cub grange='USER' \ + MAXLAT = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MaximumLatitude grpname=Mapping` \ + MINLAT = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MinimumLatitude grpname=Mapping` \ + MAXLON = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MaximumLongitude grpname=Mapping` \ + MINLON = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MinimumLongitude grpname=Mapping` > /dev/null; + +# Create Nir Mosaic + $(PROJECT) $(TSTARGS) from=$(OUTPUT)/$\$$\1.cub to=$(OUTPUT)/$\$$\1_nirEqui.cub \ + map=$(OUTPUT)/equi.map \ + pixres=mpp resolution=200 -batchlist=$(OUTPUT)/nirBasenames.lis > /dev/null; + $(LS) $(OUTPUT)/*nirEqui.cub > $(OUTPUT)/nirMosaic.lis; + $(MOSAIC) $(TSTSARGS) fromlist=$(OUTPUT)/nirMosaic.lis \ + mosaic=$(OUTPUT)/nirCassisMosaic.cub grange='USER' \ + MAXLAT = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MaximumLatitude grpname=Mapping` \ + MINLAT = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MinimumLatitude grpname=Mapping` \ + MAXLON = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MaximumLongitude grpname=Mapping` \ + MINLON = `$(GETKEY) from=$(OUTPUT)/equi.map keyword=MinimumLongitude grpname=Mapping` > /dev/null; + +# Create full color mos + $(LS) $(OUTPUT)/*CassisMosaic.cub > $(OUTPUT)/mosaicList.lis; + $(CUBEIT) fromlist=$(OUTPUT)/mosaicList.lis to=$(OUTPUT)/coloredMosaic.cub > /dev/null; + $(EXPORT) $(TSTSARGS) from=$(OUTPUT)/coloredMosaic.cub to=$(OUTPUT)/coloredMosaic \ + pdsversion=pds4 > /dev/null; + $(SED) 's+\Product_Observational.*>+\Product_Observational>+' \ + $(OUTPUT)/coloredMosaic.xml > $(OUTPUT)/coloredMosaic1.txt; + $(SED) 's+\FSW_HEADER.*>+\FSW_HEADER>+' \ + $(OUTPUT)/coloredMosaic1.txt > $(OUTPUT)/coloredMosaic2.txt; + $(SED) 's+\PEHK_HEADER.*>+\PEHK_HEADER>+' \ + $(OUTPUT)/coloredMosaic2.txt > $(OUTPUT)/coloredMosaic3.txt; + $(SED) 's+\Modification_Detail.*>+\Modification_Detail>+' \ + $(OUTPUT)/coloredMosaic3.txt > $(OUTPUT)/coloredMosaic.txt; + + # Cleanup + $(RM) $(OUTPUT)/coloredMosaic.xml; + $(RM) $(OUTPUT)/coloredMosaic1.txt; + $(RM) $(OUTPUT)/coloredMosaic2.txt; + $(RM) $(OUTPUT)/coloredMosaic3.txt; + $(RM) $(OUTPUT)/*.lis; + $(RM) $(OUTPUT)/CAS-MCO*.cub; + $(RM) $(OUTPUT)/bluCassisMosaic.cub; + $(RM) $(OUTPUT)/nirCassisMosaic.cub; + $(RM) $(OUTPUT)/panCassisMosaic.cub; + $(RM) $(OUTPUT)/redCassisMosaic.cub; + $(MV) $(OUTPUT)/equi.map $(OUTPUT)/equi.pvl