This task performs an independent component analysis (ICA) procedure to transform a set of mixed, random signals into components that are mutually independent. See Independent Components Analysis for details.
Note: An ICA transform consumes a lot of system memory. Running this process on a large dataset may take a long time.
References:
Hyvarinen, A., and E. Oja. "Independent Component Analysis: Algorithms and Applications." Neural Networks 13, No. 4-5 (2000): 411-430.
Hyvarinen, A. "Fast and Robust Fixed-Point Algorithms for Independent Component Analysis." IEEE Transactions on Neural Networks 10, No. 3 (1999): 626-634.
Example
e = ENVI()
File = Filepath('qb_boulder_msi', Subdir=['data'], $
Root_Dir=e.Root_Dir)
Raster = e.OpenRaster(File)
Task = ENVITask('ForwardICATransform')
Task.INPUT_RASTER = Raster
Task.Execute
DataColl = e.Data
DataColl.Add, Task.OUTPUT_RASTER
View = e.GetView()
Layer = View.CreateLayer(Task.OUTPUT_RASTER)
Syntax
Result = ENVITask('ForwardICATransform')
Input properties (Set, Get): CHANGE_THRESHOLD, COEFFICIENT, CONTRAST_FUNCTION, INPUT_RASTER, MAXIMUM_ITERATIONS, MAXIMUM_STABILIZATION_ITERATIONS, OUTPUT_RASTER_URI, SAMPLING_PERCENT, SORT_OUTPUT
Output properties (Get only): OUTPUT_RASTER
Properties marked as "Set" are those that you can set to specific values. You can also retrieve their current values any time. Properties marked as "Get" are those whose values you can retrieve but not set.
Methods
This task inherits the following methods from ENVITask:
AddParameter
Execute
Parameter
ParameterNames
RemoveParameter
Properties
This task inherits the following properties from ENVITask:
COMMUTE_ON_DOWNSAMPLE
COMMUTE_ON_SUBSET
DESCRIPTION
DISPLAY_NAME
NAME
REVISION
TAGS
This task also contains the following properties:
CHANGE_THRESHOLD (optional)
Specify a floating-point value used to optimize independent component (IC) analysis. If the change of the IC is less than this value, then the IC iteration stops. The default value is 0.0001. The allowable range is 0.00000001 to 0.1. Increasing the value increases the speed of convergence but may provide a less optimal solution.
COEFFICIENT (optional)
Set the coefficient to use only when setting the LogCosh or Gaussian option for CONTRAST_FUNCTION. The valid range is 1.0 (default value) to 2.0 for LogCosh and greater than or equal to 1.0 for Gaussian.
CONTRAST_FUNCTION (optional)
Specify the contrast function:
- LogCosh (default):
- Kurtosis:
- Gaussian:
INPUT_RASTER (required)
Specify a raster on which to perform an ICA transform.
MAXIMUM_ITERATIONS (optional)
Specify the maximum number of iterations to perform for IC optimization using a fixed-point algorithm. The minimum value is 100 (also the default), and the maximum value is 32767. More iterations will help find more optimal components; however, each iteration adds to processing time depending on the CUP and system load.
MAXIMUM_STABILIZATION_ITERATIONS (optional)
Specify the maximum number of iterations to perform for IC optimization using a stabilized fixed-point algorithm. When estimating one IC, the fixed-point algorithm runs first. If the algorithm does not converge after the maximum number of iterations, the stabilized fixed-point algorithm runs to improve convergence. The minimum value is 0, the default value is 100, and the maximum value is 32767. Enabling stabilization and increasing stabilization iterations will help find more optimal components; however, each iteration adds to processing time depending on the CUP and system load.
OUTPUT_RASTER
This is a reference to the output raster of filetype ENVI.
OUTPUT_RASTER_URI (optional)
Specify a string with the fully qualified filename and path of the associated OUTPUT_RASTER. If you do not specify this property, or set it to an exclamation symbol (!), a temporary file will be created.
SAMPLING_PERCENT (optional)
Specify a floating-point percentage (0 to 100) for sub-sampling the data when calculating the IC transform. Sub-sampling reduces the IC sample size to fit into memory and increases computation speed. A setting of 100 does not change the data. A sampling percentage of 50 will use every other pixel in the statistics calculations and the IC sample. Setting this value too low could lose features of interest, as those pixels may be discarded.
SORT_OUTPUT (optional)
Set this property to sort output ICA bands by decreasing spatial coherence. The options are true (default) or false.
Version History
API Version
4.3
See Also
ENVITask, ForwardMNFTransform Task, ForwardPCATransform Task, DimensionalityExpansionRaster Task