Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   Related Pages  

RWindowPcaOp Class Reference

#include <RWindowPcaOp.hpp>

Inheritance diagram for RWindowPcaOp:

Inheritance graph
[legend]
Collaboration diagram for RWindowPcaOp:

Collaboration graph
[legend]
List of all members.

Detailed Description

PCA on Covariance matrix of Image Windows.

Author:
Bernard De Cuyper
Version:
1.10
Date:
20/12/2003
 
Purpose:        PCA on covariance matrix of color RGB pixels allows to compute a fast separation
                of PCA components.

                Computation of the covariance is reduced, because we are not dealing with large number of channels.
                Also, we have the advantage, that the ordered PCAs can be evaluated quickly.
                The strongest PCA holds the most information. 

Papers: "Principal Component Neural Networks: Theory and Applications", K.I.Diamantaras, S.Y.Kung,
                Wiley-Interscience Publication, 1996.

                "Decision Estimation and Classification: An Introduction to Pattern Recognition and Related Topics.",
                Charles W. Therrien, John Wiley & Sons 1989.

Additional source:
                A very good public routine to tri-diagonalize a real symmetric matrix uses Householder's method.
                Thanks to Jeffrey D. Taft: "The C Eigenvector Source Code Page".

                
@ Copyrights: Bernard De Cuyper & Eddy Fraiha 2004, Eggs & Pictures. MIT/Open BSD copyright model.


Public Methods

 RWindowPcaOp (int widthWindow=8, int heightWindow=8, int pcaChannel=0)
virtual ~RWindowPcaOp ()
virtual RImagefilter (RImage *source, RImage *destination=0)
 Local full image filtering.

virtual void report (FILE *file)
virtual void report ()

Protected Methods

void computeWindowCovariance (RImage *g)
void triDiagonalisation ()
void tri_diag (double *a, double *d, double *e, double *z, int n, double tol)
int calc_eigenstructure (double *d, double *e, double *z, int n, double macheps)

Private Attributes

int width
int height
int pcaChannel
int nWindows
int widthW
int heightW
int nwW
int nhW
int dimensionW
double * meanSample
double * covariance
double * eigenValue
double * triDiagonalCov
double * eigenVectors
double * e


Member Function Documentation

RImage * RWindowPcaOp::filter RImage   source,
RImage   destination = 0
[virtual]
 

Local full image filtering.

Parameters:
src  is RImage* is RImage source channel
dest  is RImage* is RImage result/placeholder
Returns :
RImage* as result,

Implements AbsRImageFilter.


The documentation for this class was generated from the following files:
SourceForge.net Logo
Restoreinpaint sourceforge project `C++/Java Image Processing, Restoration, Inpainting Project'.

Bernard De Cuyper: Open Project Leader: Concept, design and development.
Bernard De Cuyper & Eddy Fraiha 2002, 2003. Bernard De Cuyper 2004. Open and free, for friendly usage only.
Modifications on Belgium ground of this piece of artistic work, by governement institutions or companies, must be notified to Bernard De Cuyper.
bern_bdc@hotmail.com