Table of Contents

NAME

QccHYPkltTrain, QccHYPkltTransform, QccHYPkltInverseTransform - KLT-transform training and forward/inverse KLT application

SYNOPSIS

#include "libQccPack.h"

int QccHYPkltTrain(const QccIMGImageCube *image, QccHYPklt *klt);
int QccHYPkltTransform(QccIMGImageCube *image, const QccHYPklt *klt, int num_pcs);
int QccHYPkltInverseTransform(QccIMGImageCube *image, const QccHYPklt *klt);

DESCRIPTION

QccHYPkltTrain() determines the KLT transform mean vector and transform matrix for the pixel vectors contained in image. Together, the mean vector and transform matrix constitute the KLT for image, and they are returned in klt. klt must be allocated prior to calling QccHYPkltTrain(); furthermore, the num_bands field of klt must match the num_frames field of image (i.e., the number of frames of the image cube is considered to be the number of spectral bands of the hyperspectral image).

QccHYPkltTransform() applies the forward KLT spectrally to each pixel vector in image, which is overwritten with the transformed dataset. num_pcs must be less than or equal to klt->num_bands. If num_pcs is less than klt->num_bands, QccIMGImageCubeResize(3) is called after the spectral transform is performed in order to retain only num_pcs spectral principal components (PCs).

QccHYPkltInverseTransform() is the corresponding inverse transform. If image->num_frames is less than klt->num_bands, QccIMGImageCubeResize(3) is called prior to application of the inverse transform to resize image to have dimension of klt->num_bands spectrally such that the added PCs are zero.

THEORY

See QccHYPklt(3) .

RETURN VALUE

Both routines return 0 on success, 1 on error.

SEE ALSO

QccHYPklt(3) , QccPackHYP(3) , QccPack(3)

AUTHOR

Copyright (C) 1997-2021 James E. Fowler


Table of Contents



Get QccPack at SourceForge.net. Fast, secure and Free Open Source software downloads