gen_principal_comp_transT_gen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTrans (Operator)


gen_principal_comp_transT_gen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTrans — Compute the transformation matrix of the principal component analysis of multichannel images.


gen_principal_comp_trans(MultichannelImage : : : Trans, TransInv, Mean, Cov, InfoPerComp)

Herror T_gen_principal_comp_trans(const Hobject MultichannelImage, Htuple* Trans, Htuple* TransInv, Htuple* Mean, Htuple* Cov, Htuple* InfoPerComp)

void GenPrincipalCompTrans(const HObject& MultichannelImage, HTuple* Trans, HTuple* TransInv, HTuple* Mean, HTuple* Cov, HTuple* InfoPerComp)

HTuple HImage::GenPrincipalCompTrans(HTuple* TransInv, HTuple* Mean, HTuple* Cov, HTuple* InfoPerComp) const

static void HOperatorSet.GenPrincipalCompTrans(HObject multichannelImage, out HTuple trans, out HTuple transInv, out HTuple mean, out HTuple cov, out HTuple infoPerComp)

HTuple HImage.GenPrincipalCompTrans(out HTuple transInv, out HTuple mean, out HTuple cov, out HTuple infoPerComp)


gen_principal_comp_transgen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTransGenPrincipalCompTrans computes the transformation matrix of 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 gen_principal_comp_transgen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTransGenPrincipalCompTrans takes one or more multichannel images MultichannelImageMultichannelImageMultichannelImageMultichannelImagemultichannelImage and computes the transformation matrix TransTransTransTranstrans for the principal components analysis, as well as its inverse TransInvTransInvTransInvTransInvtransInv. All input images must have the same number of channels. The principal components analysis is performed based on the collection of data of all images. Hence, gen_principal_comp_transgen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTransGenPrincipalCompTrans facilitates using the statistics of multiple images.

If n is the number of channels, TransTransTransTranstrans and TransInvTransInvTransInvTransInvtransInv are matrices of dimension n × (n+1), which describe an affine transformation of the multichannel gray values. They can be used to transform a multichannel image with linear_trans_colorlinear_trans_colorLinearTransColorLinearTransColorLinearTransColor. For information purposes, the mean gray value of the channels and the n × n covariance matrix of the channels are returned in MeanMeanMeanMeanmean and CovCovCovCovcov, respectively. The parameter InfoPerCompInfoPerCompInfoPerCompInfoPerCompinfoPerComp contains the relative information content of each output channel.


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(-array) objectHImageHImageHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real)

Multichannel input image.

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

Transformation matrix for the computation of the PCA.

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

Transformation matrix for the computation of the inverse PCA.

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

Mean gray value of the channels.

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

Covariance matrix of the channels.

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

Information content of the transformed channels.


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

Possible Successors