This topic describes the fields (also called keys) in a task template for use with ENVI 5.2.1.

Task Keys


The following table describes the keys that provide an overview of the task. The "Mapping to ENVITask Routine" field lists the keys' corresponding ENVITask properties.

Key

Required

Description

Mapping to ENVITask Routine

name

Yes

A string with the name of the task, excluding the prefix ENVI and the suffix Task.

NAME

baseClass

Yes

A string with the name of the class to use; the most common is ENVITaskFromProcedure.

 

routine

No

The routine that is called when Task.Execute is invoked.

 

displayName

No

A string with the name of the task as it appears to the end user. Spaces and special characters are allowed. This key is used by tasks that display a dynamic user interface for entering parameters. See ENVIUI::SelectTaskParameters for details.

 

description

Yes

A string with a description of the task.

DESCRIPTION

commuteOnDownsample

No

A string that indicates if raster processing is affected by downsampling before program execution. A value of Yes indicates that the raster can be downsampled before execution, yielding the same result as downsampling the output raster. A value of No means that the raster should not be downsampled before execution.

This key is used by the dynamic task UI to determine Preview accuracy.

COMMUTE_ON_DOWNSAMPLE

commuteOnSubset

No

A string that indicates if raster processing is affected by subsetting before program execution. For example, your algorithm may rely on statistics of the entire dataset to get accurate results. A value of Yes indicates that the raster can be subsetted before execution. A value of No means that the raster should not be subsetted before execution.

This key is used by the dynamic task UI to determine Preview accuracy.

COMMUTE_ON_SUBSET

version

No

A string listing the earliest version of ENVI that the task will work with.

 

parameters

No

A container of key/value pairs, described in the Parameter Keys section next.

 

Parameter Keys


The following table describes the keys that belong to the parameters group in a task template; these are repeated for each parameter. The "Mapping to ENVITaskParameter" field lists the keys' corresponding property names in ENVITaskParameter.

Key

Required

Description

Mapping to ENVITaskParameter

name

Yes

The name of the parameter as it appears to the end user.

NAME

keyword

No

The internal keyword that the parameter should map to. If it is the same as the NAME key, then you do not need to set keyword.

 

displayName

No

The name of the task as it appears to the end user. This key is used by tasks that display a dynamic user interface for entering parameters. See ENVIUI::SelectTaskParameters for details.

DISPLAY_NAME

dataType

Yes

A scalar string with one of the following:

  • IDL data type: Byte, Int, Long, Float, Double, Complex, String, DComplex, UInt, ULong, Long64, or ULong64
  • The required class for the parameter (for example, ENVIRaster)
  • Boolean type (Bool)
  • ENVIURI: Indicates that a string is required that references a local or remote file source.

If the parameter requires more than one scalar, the string contains additional information on array dimensions.

  • Example of a three-element array declaration: FLOAT[3]
  • Example of a 1D array with any number of elements: INT[*]
  • Example of a 2D array with any number of columns or rows: INT[*,*]
  • Example of a 2D array with a specific number of elements: BYTE[3,256]
  • Example of a 2D array with any number of columns and 3 rows: INT[*,3]

TYPE

direction

Yes

Specify if the parameter is input or output.

DIRECTION

parameterType

No

Specify if the parameter is required or optional (default) in order for the task to execute.

REQUIRED

description

Yes

A description of the parameter.

DESCRIPTION

choiceList

No

A string array that lists the possible values for the property. Any IDL data type is supported. You can also map from user-friendly strings to an internal lookup table of values if desired.

CHOICE_LIST

defaultValue

No

The default value of the parameter if the end user does not provide a value. If you set this key, you should also set parameterType to optional to allow ENVI Services Engine (ESE) users to run the task without having to provide a parameter value.

DEFAULT

min

No

A value that is greater than or equal to the minimum value allowed for the parameter.

MIN

max

No

A value that is less than or equal to the maximum value allowed for the parameter.

MAX

hidden

No

Set this key to true if the parameter is required for the task but you do not want to expose it to the end user. You must also set the defaultValue key to the desired value for the parameter to be set internally.

 

Revision History


Task templates and the ability to write custom tasks were introduced in this version.

See Also


Task Schema History, Sample Task Template, Custom Tasks