Operator Reference

gen_principal_comp_transT_gen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTransgen_principal_comp_trans (Operator)

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

Signature

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)

def gen_principal_comp_trans(multichannel_image: HObject) -> Tuple[Sequence[float], Sequence[float], Sequence[float], Sequence[float], Sequence[float]]

Description

gen_principal_comp_transgen_principal_comp_transGenPrincipalCompTransGenPrincipalCompTransgen_principal_comp_trans 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_transGenPrincipalCompTransGenPrincipalCompTransgen_principal_comp_trans takes one or more multichannel images MultichannelImageMultichannelImageMultichannelImagemultichannelImagemultichannel_image and computes the transformation matrix TransTransTranstranstrans for the principal components analysis, as well as its inverse TransInvTransInvTransInvtransInvtrans_inv. 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_transGenPrincipalCompTransGenPrincipalCompTransgen_principal_comp_trans facilitates using the statistics of multiple images.

If n is the number of channels, TransTransTranstranstrans and TransInvTransInvTransInvtransInvtrans_inv 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_colorLinearTransColorLinearTransColorlinear_trans_color. 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 InfoPerCompInfoPerCompInfoPerCompinfoPerCompinfo_per_comp contains the relative information content of each output channel.

Attention

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

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

Parameters

MultichannelImageMultichannelImageMultichannelImagemultichannelImagemultichannel_image (input_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / real)

Multichannel input image.

TransTransTranstranstrans (output_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Transformation matrix for the computation of the PCA.

TransInvTransInvTransInvtransInvtrans_inv (output_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Transformation matrix for the computation of the inverse PCA.

MeanMeanMeanmeanmean (output_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Mean gray value of the channels.

CovCovCovcovcov (output_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Covariance matrix of the channels.

InfoPerCompInfoPerCompInfoPerCompinfoPerCompinfo_per_comp (output_control)  real-array HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)

Information content of the transformed channels.

Result

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

Possible Successors

linear_trans_colorlinear_trans_colorLinearTransColorLinearTransColorlinear_trans_color

Alternatives

principal_compprincipal_compPrincipalCompPrincipalCompprincipal_comp

Module

Foundation