ClassesClassesClassesClasses | | | | Operators

principal_compT_principal_compPrincipalCompprincipal_compPrincipalCompPrincipalComp (Operator)

Name

principal_compT_principal_compPrincipalCompprincipal_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)

Herror principal_comp(Hobject MultichannelImage, Hobject* PCAImage, HTuple* InfoPerComp)

HImage HImage::PrincipalComp(HTuple* InfoPerComp) const

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

HImage HImage::PrincipalComp(HTuple* InfoPerComp) const

void HOperatorSetX.PrincipalComp(
[in] IHUntypedObjectX* MultichannelImage, [out] IHUntypedObjectX*PCAImage, [out] VARIANT* InfoPerComp)

IHImageX* HImageX.PrincipalComp([out] VARIANT* InfoPerComp)

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

HImage HImage.PrincipalComp(out HTuple infoPerComp)

Description

principal_compprincipal_compPrincipalCompprincipal_compPrincipalCompPrincipalComp 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_compPrincipalCompprincipal_compPrincipalCompPrincipalComp takes a (multichannel) image MultichannelImageMultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImage and transforms it to the output image PCAImagePCAImagePCAImagePCAImagePCAImagePCAImage, which contains the same number of channels, using the principal components analysis. The parameter InfoPerCompInfoPerCompInfoPerCompInfoPerCompInfoPerCompinfoPerComp contains the relative information content of each output channel.

Attention

principal_compprincipal_compPrincipalCompprincipal_compPrincipalCompPrincipalComp 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.

Parallelization

Parameters

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

Multichannel input image.

PCAImagePCAImagePCAImagePCAImagePCAImagePCAImage (output_object)  multichannel-image objectHImageHImageHImageHImageXHobject * (real)

Multichannel output image.

InfoPerCompInfoPerCompInfoPerCompInfoPerCompInfoPerCompinfoPerComp (output_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Information content of each output channel.

Result

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

Alternatives

gen_principal_comp_transgen_principal_comp_transGenPrincipalCompTransgen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTrans

See also

linear_trans_colorlinear_trans_colorLinearTransColorlinear_trans_colorLinearTransColorLinearTransColor

Module

Foundation


ClassesClassesClassesClasses | | | | Operators