principal_compT_principal_compPrincipalCompPrincipalComp (Operator)


principal_compT_principal_compPrincipalCompPrincipalComp — Compute the principal components of multichannel images.


principal_comp(MultichannelImage : PCAImage : : InfoPerComp)

Herror T_principal_comp(const Hobject MultichannelImage, Hobject* PCAImage, Htuple* InfoPerComp)

void PrincipalComp(const HObject& MultichannelImage, HObject* PCAImage, HTuple* InfoPerComp)

HImage HImage::PrincipalComp(HTuple* InfoPerComp) const

static void HOperatorSet.PrincipalComp(HObject multichannelImage, out HObject PCAImage, out HTuple infoPerComp)

HImage HImage.PrincipalComp(out HTuple infoPerComp)


principal_compprincipal_compPrincipalCompPrincipalCompPrincipalComp does a principal components analysis of multichannel images. This is useful for images obtained, e.g., with the thematic mapper of the Landsat satellite. Because the spectral bands are highly correlated, it is desirable to transform them to uncorrelated images. This can be used to save storage, since the bands containing little information can be discarded, and with respect to a later classification step.

The operator principal_compprincipal_compPrincipalCompPrincipalCompPrincipalComp takes a (multichannel) image MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImage and transforms it to the output image PCAImagePCAImagePCAImagePCAImagePCAImage, which contains the same number of channels, using the principal components analysis. The parameter InfoPerCompInfoPerCompInfoPerCompInfoPerCompinfoPerComp contains the relative information content of each output channel.


principal_compprincipal_compPrincipalCompPrincipalCompPrincipalComp can be executed on OpenCL devices if image consists of eight channels or less. Since the calculations are done in single precision floating point, the results may differ from those calculated by the CPU.

Note that filter operators may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter Filters.

Execution Information


MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImage (input_object)  (multichannel-)image objectHImageHImageHobject (byte* / direction* / cyclic* / int1* / int2* / uint2* / int4* / real*) *allowed for compute devices

Multichannel input image.

PCAImagePCAImagePCAImagePCAImagePCAImage (output_object)  multichannel-image objectHImageHImageHobject * (real)

Multichannel output image.

InfoPerCompInfoPerCompInfoPerCompInfoPerCompinfoPerComp (output_control)  real-array HTupleHTupleHtuple (real) (double) (double) (double)

Information content of each output channel.


The operator principal_compprincipal_compPrincipalCompPrincipalCompPrincipalComp returns the value 2 (H_MSG_TRUE) if the parameters are correct. Otherwise an exception is raised.



See also