Given a set of mixed spectral vectors, estimate reference substances also known as endmembers using the Vertex Component Analysis algorithm.
Apply the Vertex Component Analysis  to an hyperspectral image to extract endmembers. Given a set of mixed spectral vectors (multispectral or hyperspectral), the application estimates the spectral signature of reference substances also known as endmembers.
This application has several output images and supports “multi-writing”. Instead of computing and writing each image independently, the streamed image blocks are written in a synchronous way for each output. The output images will be computed strip by strip, using the available RAM to compute the strip size, and a user defined streaming mode can be specified using the streaming extended filenames (type, mode and value). Note that multi-writing can be disabled using the multi-write extended filename option: &multiwrite=false, in this case the output images will be written one by one. Note that multi-writing is not supported for MPI writers.
-in image Mandatory
Input hyperspectral data cube
-outendm image [dtype] Mandatory
Endmembers, stored in a one-line multi-spectral image.Each pixel corresponds to one endmembers and each band values corresponds to the spectral signature of the corresponding endmember.
Number of endmembers
-ne int Default value: 1
The number of endmembers to extract from the hyperspectral image.
Set a specific random seed with integer value.
From the command-line:
otbcli_VertexComponentAnalysis -in cupriteSubHsi.tif -ne 5 -outendm VertexComponentAnalysis.tif double
import otbApplication app = otbApplication.Registry.CreateApplication("VertexComponentAnalysis") app.SetParameterString("in", "cupriteSubHsi.tif") app.SetParameterInt("ne", 5) app.SetParameterString("outendm", "VertexComponentAnalysis.tif") app.SetParameterOutputImagePixelType("outendm", 7) app.ExecuteAndWriteOutput()