principal_compT_principal_compPrincipalCompPrincipalComp (Operator)

Name

principal_compT_principal_compPrincipalCompPrincipalComp — Compute the principal components of multichannel images.

Signature

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)

Description

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.

Attention

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

Parameters

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.

Result

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

Alternatives

gen_principal_comp_transgen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTransGenPrincipalCompTrans

See also

linear_trans_colorlinear_trans_colorLinearTransColorLinearTransColorLinearTransColor

Module

Foundation