Image Threshold Task Execution

A copy of this file is also available in the \examples\tasks\baseclassexample folder of the ENVI installation path.

PRO RunImageThresholdExampleTask

compile_opt idl2, hidden

 

; Start the application

e = ENVI(LAYOUT=[2,2])

views = e.GetView(/ALL)

 

; Open an input file

File = Filepath('qb_boulder_msi', Subdir=['data'], $

  Root_Dir=e.Root_Dir)

Raster = e.OpenRaster(File)

 

; Generate a max entropy threshold from input

maxEntropyTask = ENVITask('MaxEntropyThresholdExample')

maxEntropyTask.INPUT_RASTER = Raster

maxEntropyTask.Execute

 

; Generate an min error threshold from input

minErrorTask = ENVITask('MinErrorThresholdExample')

minErrorTask.INPUT_RASTER = Raster

minErrorTask.Execute

 

; Generate an mean threshold from input

meanTask = ENVITask('MeanThresholdExample')

meanTask.INPUT_RASTER = Raster

 

; Set the minimum to the max minimum of all bands and set the maximum

; to the min maximum of all bands

stats = ENVIRasterStatistics(Raster)

meanTask.Minimum = MIN(stats.Mean)

meanTask.Maximum = MAX(stats.Mean)

meanTask.Execute

 

; Display the original and outputs

origLayer = (views[0]).CreateLayer(Raster, BAND=0)

maxEntropyLayer = (views[1]).CreateLayer(maxEntropyTask.OUTPUT_RASTER, BAND=0)

minErrorLayer = (views[2]).CreateLayer(minErrorTask.OUTPUT_RASTER, BAND=0)

meanLayer = (views[3]).CreateLayer(meanTask.OUTPUT_RASTER, BAND=0)

END