home products news downloads documentation support gallery online maps resellers search
TNTmips Downloads Menu

HOME

CONTACT US

CURRENT RELEASE
  TNT 2013

DEVELOPMENT VERSION
  TNT 2014

TNTmips Pro
PRIOR RELEASES
  TNT 2012

FREE SOFTWARE
  TNTmips Free
  TNTatlas
  TNTsdk

MORE DOWNLOADS
  HASP Key Driver
  Screen Recorder
  TNT Language Kits
  Sample Geodata
  TNT Scripts

DOCUMENTATION
  TNTmips Tutorials
  Tutorial Datasets
  Technical Guides
  Scripts
  Quick Guides

MORE INFO
  Download FAQs
  FTP
  Download Managers
  Find Reseller

SITE MAP


DIAG.sml

See other Scripts by Jack? ...


# ------------------------------------------------------------
# DIAG.sml
# ------------------------------------------------------------
# SET WARNING LEVEL: Refer to B5 & B6.
  $warnings 3
# ------------------------------------------------------------
# DEFINE VARIABLES FOR GENERAL CHARACTER STRINGS:
# Refer to B7.
  string t$,p$,p1$,p2$,p3$,p4$,p5$,p6$,p7$,p8$,p9$;
  string p10$,p11$,p12$,p13$,p14$,p15$,p16$,p17$,p18$,p19$;
  string p20$,p21$;
# ------------------------------------------------------------
# CLEAR CONSOLE WINDOW & REQUEST REPOSITIONING:
# Refer to B7, B8 & B9.
  clear();
  p1$ = "CONSOLE-WINDOW ADJUSTMENT\n";
  p2$ = "* REPOSITION the CONSOLE WINDOW.\n";
  p3$ = "* Then, CLICK the OK Button.";
  p$  = p1$ + p2$ + p3$;
  PopupMessage(p$);
# ------------------------------------------------------------
# DEFINE proc checkHisto(Band)
# PURPOSE: Check that Input Raster has a Full (Unsampled)
#          Histogram.  If Not, Then Recompute Histogram.
  proc checkHisto (raster Band) begin
     local numeric sampleInt;
     sampleInt = HistogramGetSampleInterval(Band);
     if (sampleInt > 1) begin
        DeleteHistogram(Band); CreateHistogram(Band,0);
     end
     else if (sampleInt == -1) then	begin
        CreateHistogram(Band,0);
     end
  end
# ------------------------------------------------------------
# DEFINE PROCEDURE writeTitle: Refer to B13 & B14.
# PURPOSE: WRITES TITLE & AUTHOR INFO TO CONSOLE WINDOW.
  proc writeTitle() begin
     printf("DIAG.sml:\n");
     printf("         VERSION: November 15, 2005\n");
     printf("         PURPOSE: PRODUCE DIAG PRODUCTS ");
     printf("RELATED TO SRFIs, PVI & PBI.\n");
     printf("         DETAILS: FAQs_by_Jack A & C\n");
     printf("          AUTHOR: Dr. Jack F. Paris\n");
     printf("    CONTACT INFO: jparis37@msn.com ");
     printf(" 303-775-1195\n");
     printf("     ALLOWED USE: ONLY NON-COMMERCIAL\n\n");
  end
# ------------------------------------------------------------
# WRITE TITLE & AUTHOR INFORMATION: Refer to B14.
  writeTitle();
# ------------------------------------------------------------
# DECLARE VARIABLES RELATED TO USER INPUTS:
# Refer to B15 & B16.
  string site$;
  numeric imager,vnir;
# ------------------------------------------------------------
# DECLARE VARIABLES DIRECTLY RELATED TO USER PROVIDED VALUES:
# Refer to B15 & B16.
  string imager$;
# ------------------------------------------------------------
# DECLARE STRING VARIABLE RELATED TO ALL RASTER TYPES:
# Refer to B17. 
  string rtype$;
# ------------------------------------------------------------
# DECLARE VARIABLES RELATED TO BARE-SOIL & DENSE VEG SEARCHES:
# Refer to B17.
  numeric wpvis,pbi2s,pvi1v;
  numeric pvi1s,pvi2s,pbi1s,pbi2s;
# ------------------------------------------------------------
# DECLARE VARIABLES RELATED TO PURE-PIXEL SEARCH:
# Refer to B17.
  numeric boxsize,sdmaxs,sdmaxv,oddcheck;
# ------------------------------------------------------------
# DECLARE VARIABLES RELATED TO BOOLEAN ENABLERS:
# Refer to B15 & B16
  numeric pCB,pBL,pGL,pYL,pRL,pRE,pNA,pNB;
  numeric pMA,pMB,pMC,pMD,pME,pMF,pMG;
# ------------------------------------------------------------
# DECLARE VARIBLES RELATED TO FOR-EACH LOOPS:
  numeric mk,pvi,pbi,pvisd,nlins,ncols;
# ------------------------------------------------------------
# DECLARE LIST OF POSSIBLE INPUT RASTERS:
  raster MK,SRFICB,SRFIBL,SRFIGL,SRFIYL,SRFIRL,SRFIRE;
  raster SRFINA,SRFINB,SRFIMA,SRFIMB,SRFIMC,SRFIMD;
  raster SRFIME,SRFIMF,SRFIMG,PVI,PBI;
# ------------------------------------------------------------
# DECLARE LIST OF POSSIBLE OUTPUT RASTERS:
  raster DCB,DBL,DGL,DYL,DRL,DRE,DNA,DNB;
  raster DMA,DMB,DMC,DMD,DME,DMF,DMG;
# ------------------------------------------------------------
# GET NAME OF SITE FROM THE USER: Refer to B17.
  t$  = "SITE NAME";
  p1$ = "SITE-NAME ENTRY\n";
  p2$ = "* ENTER the SITE NAME.\n";
  p3$ = "* Then, CLICK the OK Button.\n\n";
  p4$ = "SITE-NAME ENTERED:";
  p$  = p1$ + p2$ + p3$ + p4$;
  site$ = PopupString(p$,"",t$);
  printf("           SITE NAME: %s\n",site$);
# ------------------------------------------------------------
# GET IMAGER NUMBER FROM THE USER: Refer to B17.
  p1$  = "IMAGER-NUMBER SELECTION\n";
  p2$  = "  IMAGER\n";
  p3$  = "  NUMBER:  SYSTEM NAME\n";
  p4$  = "       1:  QuickBird 2 MS\n";
  p5$  = "       2:  Ikonos 2 MS\n";
  p6$  = "       3:  OrbView 3 MS\n";
  p7$  = "       4:  Landsat 7 ETM+\n";
  p8$  = "       5:  Landsat 5 TM\n";
  p9$  = "       6:  Landsat 5 MSS\n";
  p10$ = "       7:  Landsat 4 TM\n";
  p11$ = "       8:  Landsat 4 MSS\n";
  p12$ = "       9:  Landsat 3 MSS\n";
  p13$ = "      10:  Landsat 2 MSS\n";
  p14$ = "      11:  Landsat 1 MSS\n";
  p15$ = "      12:  Terra ASTER\n";
  p16$ = "      13:  Terra MODIS\n";
  p17$ = "      14:  Aqua MODIS\n";
  p18$ = "* Either ACCEPT the Default NUMBER,\n";
  p19$ = "* Or, SELECT a Different NUMBER.\n";
  p20$ = "* Then, CLICK the OK Button.\n\n";
  p21$ = "IMAGER-NUMBER SELECTED:";
  p$   = p1$ + p2$ + p3$ + p4$ + p5$ + p6$ + p7$ + p8$ + p9$;
  p$   = p$ + p10$ + p11$ + p12$ + p13$ + p14$ + p15$ + p16$;
  p$   = p$ + p17$ + p18$ + p19$ + p20$ + p21$;
  imager = PopupNum(p$,1,1,14,0);  
# ------------------------------------------------------------
# GENERATE IMAGER-SPECIFIC PARAMETERS: Refer to B25.
  if (imager == 1) then begin
     imager$ = "QuickBird 2 MS";
     pBL=1; pNA=1;
  end
  if (imager == 2) then begin
     imager$ = "Ikonos 2 MS"; pBL=1; pNA=1;
  end
  if (imager == 3) then begin
     imager$ = "OrbView 3 MS"; pBL=1; pNA=1;
  end
  if (imager == 4) then begin
     imager$ = "Landsat 7 ETM+";
     pBL=1; pNA=1; pMB=1; pMC=1;
  end
  if (imager == 5) then begin
     imager$ = "Landsat 5 TM";
     pBL=1; pNA=1; pMB=1; pMC=1;
  end
  if (imager == 6) then begin
     imager$ = "Landsat 5 MSS"; pRE=1; pNB=1;
  end
  if (imager == 7) then begin
     imager$ = "Landsat 4 TM"; 
     pBL=1; pNA=1; pMB=1; pMC=1;
  end
  if (imager == 8) then begin
     imager$ = "Landast 4 MSS"; pRE=1; pNB=1;
  end
  if (imager == 9) then begin
     imager$ = "Landsat 3 MSS"; pRE=1; pNB=1;
  end
  if (imager == 10) then begin
     imager$ = "Landsat 2 MSS"; pRE=1; pNB=1;
  end
  if (imager == 11) then begin
     imager$ = "Landsat 1 MSS"; pRE=1; pNB=1;
  end
  if (imager == 12) then begin
     imager$ = "Terra ASTER";
     pNA=1; pMB=1; pMC=1; pMD=1; pME=1;
     pMF=1; pMG=1;
     p1$ = "VNIR ONLY or ALL OPTION:\n";
     p2$ = "     OPTION 1: VNIR ONLY\n";
     p3$ = "     OPTION 2: ALL 9 BANDS\n";
     p4$ = "OPTION ENTERED:";
     p$ = p1$ + p2$ + p3$ + p4$;
     vnir = PopupNum(p$,2,1,2,0);
     if (vnir == 1) then begin
        pMB=0; pMC=0; pMD=0; pME=0;
        pMF=0; pMG=0;
     end
 end
  if (imager == 13) then begin
     imager$ = "Terra MODIS"; 
     pBL=1; pNA=1; pMA=1; pMB=1; pMC=1;
  end
  if (imager == 14) then begin
     imager$ = "Aqua MODIS";
     pBL=1; pNA=1; pMA=1; pMB=1; pMC=1;
  end
  printf("              IMAGER: %s\n",imager$);
# ------------------------------------------------------------
# GET SOIL-SEARCH PVI-WIDTH PARAMETER: Refer to C3.
  p1$ = "SOIL-SEARCH PVI-WIDTH ENTRY\n";
  p2$ = "  FORMAT: NNN\n";
  p3$ = "   RANGE: 2  to 500\n";
  p4$ = "* Either ACCEPT the Default WIDTH,\n";
  p5$ = "* Or, ENTER a Different WIDTH.\n";
  p6$ = "* Then, CLICK the OK Button.\n\n";
  p7$ = "SOIL-SEARCH PVI-WIDTH ENTERED:";
  p$  = p1$ + p2$ + p3$ + p4$ + p5$ + p6$ + p7$;
  wpvis = PopupNum(p$,200,2,500,0);
  pvi1s = 1000 - int(wpvis / 2);
  pvi2s = 1000 + int(wpvis / 2);
  printf("            SOIL BOX: ");
  printf("%4d < PVI < %4d\n",pvi1s,pvi2s);
# ------------------------------------------------------------
# GET SOIL-SEARCH PBI-MAX PARAMETER: Refer to C4.
  p1$ = "SOIL-SEARCH PBI-MAX ENTRY\n";
  p2$ = "  FORMAT: NNN\n";
  p3$ = "   RANGE: 500 to 2500\n";
  p4$ = "* Either ACCEPT the Default PBI-MAX,\n";
  p5$ = "* Or, ENTER a Different PBI-MAX.\n";
  p6$ = "* Then, CLICK the OK Button.\n\n";
  p7$ = "SOIL-SEARCH PBI-MAX ENTERED:";
  p$  = p1$ + p2$ + p3$ + p4$ + p5$ + p6$ + p7$;
  pbi2s = PopupNum(p$,1100,500,2500,0);
  pbi1s = int(0.3 * pbi2s);
  printf("                      ");
  printf("%4d < PBI < %4d\n",pbi1s,pbi2s);
# ------------------------------------------------------------
# GET VEG-SEARCH PVI-MIN PARAMETER: Refer to C5.
  p1$ = "VEG-SEARCH PVI-MIN ENTRY\n";
  p2$ = "  FORMAT: NNNN\n";
  p3$ = "   RANGE:  900 to 2500\n";
  p4$ = "* Either ACCEPT the Default PVI-MIN,\n";
  p5$ = "* Or, ENTER a Different PVI-MIN.\n";
  p6$ = "* Then, CLICK the OK Button.\n\n";
  p7$ = "VEG-SEARCH PVI-MIN ENTERED:";
  p$  = p1$ + p2$ + p3$ + p4$ + p5$ + p6$ + p7$;
  pvi1v = PopupNum(p$,1300,900,2500,0);
  printf("            ");
  printf("VEG TEST: %4d < PVI\n",pvi1v);
# ------------------------------------------------------------
# GET TEXTURE-FILTER PARAMETER FOR SOIL: Refer to C6.
  p1$ = "PURE-SOIL-PIXEL SOIL-SD-MAX ENTRY\n";
  p2$ = "  FORMAT: NN\n";
  p3$ = "   RANGE:  1 to 42\n";
  p4$ = "* Either ACCEPT the Default SOIL-SD-MAX,\n";
  p5$ = "* Or, ENTER a Different SOIL-SD-MAX.\n";
  p6$ = "* Then, CLICK the OK Button.\n\n";
  p7$ = "PURE-PIXEL SOIL-SD-MAX ENTERED:";
  p$  = p1$ + p2$ + p3$ + p4$ + p5$ + p6$ + p7$;
  sdmaxs = PopupNum(p$,14,1,42,0);
  printf("     SOIL PVI-SD MAX: %2d\n",sdmaxs);
  sdmaxv = int(sdmaxs * (pvi1v + 2000) / 2000);
# ------------------------------------------------------------
# TEXTURE-FILTER PARAMETER FOR VEG: Refer to C6.
  p1$ = "PURE-VEG-PIXEL VEG-SD-MAX ENTRY\n";
  p2$ = "  FORMAT: NN\n";
  p3$ = "   RANGE:  1 to 42\n";
  p4$ = "* Either ACCEPT the Default VEG-SD-MAX,\n";
  p5$ = "* Or, ENTER a Different PVI-SD-MAX.\n";
  p6$ = "* Then, CLICK the OK Button.\n\n";
  p7$ = "PURE-PIXEL PVI-SD-MAX ENTERED:";
  p$  = p1$ + p2$ + p3$ + p4$ + p5$ + p6$ + p7$;
  sdmaxv = PopupNum(p$,sdmaxv,1,84,0);
  printf("      VEG PVI-SD MAX: %2d\n",sdmaxv);
# ------------------------------------------------------------
# TEXTURE-FILTER BOX-SIZE: Refer to C6.
  p1$ = "PURE-PIXEL BOX-SIZE ENTRY\n";
  p2$ = "  FORMAT: NN\n";
  p3$ = "   RANGE:  3 to 11\n";
  p4$ = "    NOTE: MUST be an ODD INTEGER\n";
  p5$ = "* Either ACCEPT the Default BOX-SIZE,\n";
  p6$ = "* Or, ENTER a Different BOX-SIZE.\n";
  p7$ = "* Then, CLICK the OK Button.\n\n";
  p8$ = "PURE-PIXEL BOX-SIZE ENTERED:";
  p$  = p1$ + p2$ + p3$ + p4$ + p5$ + p6$ + p7$ + p8$;
  boxsize = PopupNum(p$,5,3,11,0);
  oddcheck = boxsize / 2 - int(boxsize * 1.01 / 2);
  if (oddcheck < 0.1) then boxsize = boxsize + 1;
  printf("     FILTER BOX SIZE: %d\n\n",boxsize); 
# ------------------------------------------------------------
# RASTER DATA TYPE (16-bit unsigned integers):
  rtype$ = "16-bit unsigned";
# ------------------------------------------------------------
# OPEN INPUT RASTERS:
  printf("LIST OF INPUT RASTERS:\n");
  if (pCB) then begin
     printf(" SRFICB");
     GetInputRaster( SRFICB);
     nlins = NumLins(SRFICB); ncols = NumCols(SRFICB);
     checkHisto(SRFICB);
  end
  if (pCB) then begin
     if (pBL) then begin
        printf(" SRFIBL");
        GetInputRaster(SRFIBL,nlins,ncols,rtype$);
        checkHisto(SRFIBL);
     end
  end
  else begin
     if (pBL) then begin
        printf(" SRFIBL");
        GetInputRaster(SRFIBL);
        checkHisto(SRFIBL);
        nlins = NumLins(SRFIBL); ncols = NumCols(SRFIBL);
     end
  end
  printf(" SRFIGL");
  if (pBL) then begin
     printf(" SRFIGL");
     GetInputRaster(SRFIGL,nlins,ncols,rtype$);
     checkHisto(SRFIGL);
  end
  else begin
     printf(" SRFIGL");
     GetInputRaster(SRFIGL);
     nlins = NumLins(SRFIGL); ncols = NumCols(SRFIGL);
     checkHisto(SRFIGL);
  end
  if (pYL) then begin
     printf(" SRFIYL");
     GetInputRaster(SRFIYL,nlins,ncols,rtype$);
     checkHisto(SRFIYL);
  end
  GetInputRaster(SRFIRL,nlins,ncols,rtype$); 
  if (pRE) then begin
     printf(" SRFIRE");
     GetInputRaster(SRFIRE,nlins,ncols,rtype$);
     checkHisto(SRFIRE);
  end
  if (pNA) then begin
     printf(" SRFINA");
     GetInputRaster(SRFINA,nlins,ncols,rtype$);
     checkHisto(SRFINA);
  end
  if (pNB) then begin
     printf(" SRFINB");
     GetInputRaster(SRFINB,nlins,ncols,rtype$);
     checkHisto(SRFINB);
  end
  if (pMA) then begin
     printf(" SRFIMA");
     GetInputRaster(SRFIMA,nlins,ncols,rtype$);
     checkHisto(SRFIMA);
  end
  if (pMB) then begin
     printf(" SRFIMB");
     GetInputRaster(SRFIMB,nlins,ncols,rtype$);
     checkHisto(SRFIMB);
  end
  if (pMC) then begin
     printf(" SRFIMC");
     GetInputRaster(SRFIMC,nlins,ncols,rtype$);
     checkHisto(SRFIMC);
  end
  if (pMD) then begin
     printf(" SRFIMD");
     GetInputRaster(SRFIMD,nlins,ncols,rtype$);
     checkHisto(SRFIMD);
  end
  if (pME) then begin
     printf(" SRFIME");
     GetInputRaster(SRFIME,nlins,ncols,rtype$);
     checkHisto(SRFIME);
  end
  if (pMF) then begin
     printf(" SRFIMF");
     GetInputRaster(SRFIMF,nlins,ncols,rtype$);
     checkHisto(SRFIMF);
  end
  if (pMG) then begin
     printf(" SRFIMG");
     GetInputRaster(SRFIMG,nlins,ncols,rtype$);
     checkHisto(SRFIMG);
  end
  GetInputRaster(MK,nlins,ncols,"binary");
  checkHisto(MK);
  printf(" MK");
  GetInputRaster(PVI,nlins,ncols,rtype$);
  checkHisto(PVI);
  printf(" PVI");
  GetInputRaster(PBI,nlins,ncols,rtype$);
  checkHisto(PBI);
  printf(" PBI\n\n");
# ------------------------------------------------------------
# SET UP OUTPUT RASTERS:
  printf("LIST OF OUTPUT RASTERS:\n");
  if (pCB) then begin
     printf(" DCB");
     GetOutputRaster(DCB,nlins,ncols,rtype$);
     IgnoreNull(DCB); CopySubobjects(SRFICB,DCB,"GEOREF");
     CopySubobjects(SRFICB,DCB,"CONTAB");
  end
  if (pBL) then begin
     printf(" DBL");
     GetOutputRaster(DBL,nlins,ncols,rtype$);
     IgnoreNull(DBL); CopySubobjects(SRFIBL,DBL,"GEOREF");
     CopySubobjects(SRFIBL,DBL,"CONTAB");
  end
  printf(" DGL");
  GetOutputRaster(DGL,nlins,ncols,rtype$);
  IgnoreNull(DGL); CopySubobjects(SRFIGL,DGL,"GEOREF");
  CopySubobjects(SRFIGL,DGL,"CONTAB");
  if (pYL) then begin
     printf(" DYL");
     GetOutputRaster(DYL,nlins,ncols,rtype$);
     IgnoreNull(DYL); CopySubobjects(SRFIYL,DYL,"GEOREF");
     CopySubobjects(SRFIYL,DYL,"CONTAB");
  end
  printf(" DRL");
  GetOutputRaster(DRL,nlins,ncols,rtype$);
  IgnoreNull(DRL); CopySubobjects(SRFIRL,DRL,"GEOREF");
  CopySubobjects(SRFIRL,DRL,"CONTAB");
  if (pRE) then begin
     printf(" DRE");
     GetOutputRaster(DRE,nlins,ncols,rtype$);
     IgnoreNull(DRE); CopySubobjects(SRFIRE,DRE,"GEOREF");
     CopySubobjects(SRFIRE,DRE,"CONTAB");
  end
  if (pNA) then begin
     printf(" DNA");
     GetOutputRaster(DNA,nlins,ncols,rtype$);
     IgnoreNull(DNA); CopySubobjects(SRFINA,DNA,"GEOREF");
     CopySubobjects(SRFINA,DNA,"CONTAB");
  end
  if (pNB) then begin
     printf(" DNB");
     GetOutputRaster(DNB,nlins,ncols,rtype$);
     IgnoreNull(DNB); CopySubobjects(SRFINB,DNB,"GEOREF");
     CopySubobjects(SRFINB,DNB,"CONTAB");
  end
  if (pMA) then begin
     printf(" DMA");
     GetOutputRaster(DMA,nlins,ncols,rtype$);
     IgnoreNull(DMA); CopySubobjects(SRFIMA,DMA,"GEOREF");
     CopySubobjects(SRFIMA,DMA,"CONTAB");
  end
  if (pMB) then begin
     printf(" DMB");
     GetOutputRaster(DMB,nlins,ncols,rtype$);
     IgnoreNull(DMB); CopySubobjects(SRFIMB,DMB,"GEOREF");
     CopySubobjects(SRFIMB,DMB,"CONTAB");
  end
  if (pMC) then begin
     printf(" DMC");
     GetOutputRaster(DMC,nlins,ncols,rtype$);
     IgnoreNull(DMC); CopySubobjects(SRFIMC,DMC,"GEOREF");
     CopySubobjects(SRFIMC,DMC,"CONTAB");
  end
  if (pMD) then begin
     printf(" DMD");
     GetOutputRaster(DMD,nlins,ncols,rtype$);
     IgnoreNull(DMD); CopySubobjects(SRFIMD,DMD,"GEOREF");
     CopySubobjects(SRFIMD,DMD,"CONTAB");
  end
  if (pME) then begin
     printf(" DME");
     GetOutputRaster(DME,nlins,ncols,rtype$);
     IgnoreNull(DME); CopySubobjects(SRFIME,DME,"GEOREF");
     CopySubobjects(SRFIME,DME,"CONTAB");
  end
  if (pMF) then begin
     printf(" DMF");
     GetOutputRaster(DMF,nlins,ncols,rtype$);
     IgnoreNull(DMF); CopySubobjects(SRFIMF,DMF,"GEOREF");
     CopySubobjects(SRFIMF,DMF,"CONTAB");
  end
  if (pMG) then begin
     printf(" DMG");
     GetOutputRaster(DMG,nlins,ncols,rtype$);
     IgnoreNull(DMG); CopySubobjects(SRFIMG,DMG,"GEOREF");
     CopySubobjects(SRFIMG,DMG,"CONTAB");
  end
# ------------------------------------------------------------
# SEARCH FOR BARE-SOIL & DENSE VEGETATION PIXELS:
# Refer to C7.
  printf("\n\nSEARCHING FOR BARE-SOIL & DENSE-VEG PIXELS.\n");
  printf("     This takes a few minutes.  Please Wait.\n");
  for each MK begin
     mk = MK;
     if (mk) then begin
        pvi = PVI;
#       BARE-SOIL & PVI-TEXTURE FILTER:
        if (pvi < pvi2s and pvi > pvi1s) then begin
           pbi = PBI;
           if (pbi < pbi2s and pbi > pbi1s) then begin
              pvisd = FocalSD(PVI,boxsize,boxsize);
              if (pvisd < sdmaxs) then begin
                 if (pCB) then DCB = SRFICB;
                 if (pBL) then DBL = SRFIBL;
                 DGL = SRFIGL;
                 if (pYL) then DYL = SRFIYL;
                 DRL = SRFIRL;
                 if (pRE) then DRE = SRFIRE;
                 if (pNA) then DNA = SRFINA;
                 if (pNB) then DNB = SRFINB;
                 if (pMA) then DMA = SRFIMA;
                 if (pMB) then DMB = SRFIMB;
                 if (pMC) then DMC = SRFIMC;
                 if (pMD) then DMD = SRFIMD;
                 if (pME) then DME = SRFIME;
                 if (pMF) then DMF = SRFIMF;
                 if (pMG) then DMG = SRFIMG;
              end
           end
        end
#       DENSE-VEG & PVI-TEXTURE FILTER:
        if (pvi > pvi1v) then begin
           pvisd = FocalSD(PVI,boxsize,boxsize);
           if (pvisd < sdmaxv) then begin
              if (pCB) then DCB = SRFICB;
              if (pBL) then DBL = SRFIBL;
              DGL = SRFIGL;
              if (pYL) then DYL = SRFIYL;
              DRL = SRFIRL;
              if (pRE) then DRE = SRFIRE;
              if (pNA) then DNA = SRFINA;
              if (pNB) then DNB = SRFINB;
              if (pMA) then DMA = SRFIMA;
              if (pMB) then DMB = SRFIMB;
              if (pMC) then DMC = SRFIMC;
              if (pMD) then DMD = SRFIMD;
              if (pME) then DME = SRFIME;
              if (pMF) then DMF = SRFIMF;
              if (pMG) then DMG = SRFIMG;
           end
        end
     end
  end
# ------------------------------------------------------------
# CREATE PYRAMIDS & CLOSE RASTERS: Refer to C7
  printf("\nCREATE PYRAMIDS & CLOSE RASTERS:\n");
  CloseRaster(PVI); CloseRaster(PBI);
  if (pCB) then begin
     printf(" DCB");
     CloseRaster(SRFICB);
     SetNull(DCB,0); CreateHistogram(DCB,0);
     CreatePyramid(DCB,0); CloseRaster(DCB);
  end
  if (pBL) then begin
     printf(" DBL");
     CloseRaster(SRFIBL);
     SetNull(DBL,0); CreateHistogram(DBL,0);
     CreatePyramid(DBL,0); CloseRaster(DBL);
  end
  printf(" DGL");
  CloseRaster(SRFIGL);
  SetNull(DGL,0); CreateHistogram(DGL,0);
  CreatePyramid(DGL,0); CloseRaster(DGL);
  if (pYL) then begin
     printf(" DYL");
     CloseRaster(SRFIYL);
     SetNull(DYL,0); CreateHistogram(DYL,0);
     CreatePyramid(DYL,0); CloseRaster(DYL);
  end
  printf(" DRL");
  CloseRaster(SRFIRL);
  SetNull(DRL,0); CreateHistogram(DRL,0);
  CreatePyramid(DRL,0); CloseRaster(DRL);
  if (pRE) then begin
     printf(" DRE");
     CloseRaster(SRFIRE);
     SetNull(DRE,0); CreateHistogram(DRE,0);
     CreatePyramid(DRE,0); CloseRaster(DRE);
  end
  if (pNA) then begin
     printf(" DNA");
     CloseRaster(SRFINA);
     SetNull(DNA,0); CreateHistogram(DNA,0);
     CreatePyramid(DNA,0); CloseRaster(DNA);
  end
  if (pNB) then begin
     printf(" DNB");
     CloseRaster(SRFINB);
     SetNull(DNB,0); CreateHistogram(DNB,0);
     CreatePyramid(DNB,0); CloseRaster(DNB);
  end
  if (pMA) then begin
     printf(" DMA");
     CloseRaster(SRFIMA);
     SetNull(DMA,0); CreateHistogram(DMA,0);
     CreatePyramid(DMA,0); CloseRaster(DMA);
  end
  if (pMB) then begin
     printf(" DMB");
     CloseRaster(SRFIMB);
     SetNull(DMB,0); CreateHistogram(DMB,0);
     CreatePyramid(DMB,0); CloseRaster(DMB);
  end
  if (pMC) then begin
     printf(" DMC");
     CloseRaster(SRFIMC);
     SetNull(DMC,0); CreateHistogram(DMC,0);
     CreatePyramid(DMC,0); CloseRaster(DMC);
  end
  if (pMD) then begin
     printf(" DMD");
     CloseRaster(SRFIMD);
     SetNull(DMD,0); CreateHistogram(DMD,0);
     CreatePyramid(DMD,0); CloseRaster(DMD);
  end
  if (pME) then begin
     printf(" DME");
     CloseRaster(SRFIME);
     SetNull(DME,0); CreateHistogram(DME,0);
     CreatePyramid(DME,0); CloseRaster(DME);
  end
  if (pMF) then begin
     printf(" DMF");
     CloseRaster(SRFIMF);
     SetNull(DMF,0); CreateHistogram(DMF,0);
     CreatePyramid(DMF,0); CloseRaster(DMF);
  end
  if (pMG) then begin
     printf(" DMG");
     CloseRaster(SRFIMG);
     SetNull(DMG,0); CreateHistogram(DMG,0);
     CreatePyramid(DMG,0); CloseRaster(DMG);
  end
  printf("\n\n");
  printf("FOR ANALYSIS HINTS: Read FAQs_by_Jack: C\n");
  printf("                    Especially: C8\n");


Back Home ©MicroImages, Inc. 2013 Published in the United States of America
11th Floor - Sharp Tower, 206 South 13th Street, Lincoln NE 68508-2010   USA
Business & Sales: (402)477-9554  Support: (402)477-9562  Fax: (402)477-9559
Business info@microimages.com  Support support@microimages.com  Web webmaster@microimages.com

25 March 2009

page update: 26 May 11