CFilter Class Reference

#include <filter.h>

List of all members.


Detailed Description

CFilter provides one and two dimensional filtering capabilities and one and two dimensional analysis and synthesis filter banks. CFilter allocates temporary buffers for filtering and therefore every thread needs its own instance of CFilter in multithreaded applications.


Public Types

enum  { FILTER_OK, FILTER_CANCELLED, FILTER_ERROR }

Public Member Functions

void Callback (CProgressCallback *)
int ConvolveDown1d (CMatrix< TCoeff >::Iterator &, int, const CWavelet::TCoeff *, int)
int ConvolveDown2d (CMatrix< TCoeff > &, const CWavelet::TCoeff *, const CWavelet::TCoeff *, int)
int ConvolveUp1d (CMatrix< TCoeff >::Iterator &, int, const CWavelet::TCoeff *, int)
int ConvolveUp2d (CMatrix< TCoeff > &, const CWavelet::TCoeff *, const CWavelet::TCoeff *, int)
int AnalysisFB1d (CMatrix< TCoeff >::Iterator &, int, const CWavelet::TCoeff *, const CWavelet::TCoeff *, int)
int AnalysisFB2d (CMatrix< TCoeff > &, const CWavelet::TCoeff *, const CWavelet::TCoeff *, const CWavelet::TCoeff *, const CWavelet::TCoeff *, int)
int SynthesisFB1d (CMatrix< TCoeff >::Iterator &, int, const CWavelet::TCoeff *, const CWavelet::TCoeff *, int)
int SynthesisFB2d (CMatrix< TCoeff > &, const CWavelet::TCoeff *, const CWavelet::TCoeff *, const CWavelet::TCoeff *, const CWavelet::TCoeff *, int)


Member Enumeration Documentation

anonymous enum
 

Enumerator:
FILTER_CANCELLED  Success return value.
FILTER_ERROR  Error occured.


Member Function Documentation

int AnalysisFB1d CMatrix< TCoeff >::Iterator &  iterator,
int  size,
const CWavelet::TCoeff *  loFilter,
const CWavelet::TCoeff *  hiFilter,
int  filterSize
 

One dimensional analysis filter bank.

Create two bands subsampled by factor two, each filtered with the loFilter resp. hiFilter. The source iterator data is replaced by the filtered values organized as follows:

               +-------------------+--------------------+
    iterator = | Low pass filtered | High pass filtered |
               +-------------------+--------------------+
  

Parameters:
iterator Input sequence.
size Length of the input sequence.
loFilter Low pass analysis filter.
hiFilter High pass analysis filter.
filterSize Length of the filter.

int AnalysisFB2d CMatrix< TCoeff > &  M,
const CWavelet::TCoeff *  filterLoCol,
const CWavelet::TCoeff *  filterHiCol,
const CWavelet::TCoeff *  filterLoRow,
const CWavelet::TCoeff *  filterHiRow,
int  filterSize
 

Two dimensional analysis filter bank.

Create four bands subsampled by factor two in both dimensions and filtered row-wise and column-wise by the loFilter resp. hiFilter. The source iterator data is replaced by the filtered values organized as follows:

       +-------------+-------------+
       |             |             |
       |  Low - low  | High - low  |
       |  filtered   |  filtered   |
       |             |             |
   M = +-------------+-------------+
       |             |             |
       | Low - High  | High - high |
       |  filtered   |  filtered   |
       |             |             |
       +-------------+-------------+
   

Parameters:
M Input matrix.
loFilterRow Low pass row analysis filter.
hiFilterRow High pass row analysis filter.
loFilterCol Low pass column analysis ilter.
hiFilterCol High pass column analysis filter.
filterSize Length of the analysis filter.

void Callback CProgressCallback C  ) 
 

Set callback object.

Set to NULL to disable callback.

Parameters:
C Callback object.

int ConvolveDown1d CMatrix< TCoeff >::Iterator &  iterator,
int  size,
const CWavelet::TCoeff *  filter,
int  filterSize
 

One dimensional analysis filter bank.

Create two bands subsampled by factor two, each filtered with the loFilter resp. hiFilter. The source iterator data is replaced by the filtered values organized as follows:

               +-------------------+--------------------+
    iterator = | Low pass filtered | High pass filtered |
               +-------------------+--------------------+
  

Parameters:
iterator Input sequence.
size Length of the input sequence.
loFilter Low pass analysis filter.
hiFilter High pass analysis filter.
filterSize Length of the filter.

int ConvolveDown2d CMatrix< TCoeff > &  M,
const CWavelet::TCoeff *  filterCol,
const CWavelet::TCoeff *  filterRow,
int  filterSize
 

Two dimensional analysis filter bank.

Create four bands subsampled by factor two in both dimensions and filtered row-wise and column-wise by the loFilter resp. hiFilter. The source iterator data is replaced by the filtered values organized as follows:

       +-------------+-------------+
       |             |             |
       |  Low - low  | High - low  |
       |  filtered   |  filtered   |
       |             |             |
   M = +-------------+-------------+
       |             |             |
       | Low - High  | High - high |
       |  filtered   |  filtered   |
       |             |             |
       +-------------+-------------+
   

Parameters:
M Input matrix.
loFilterRow Low pass row analysis filter.
hiFilterRow High pass row analysis filter.
loFilterCol Low pass column analysis ilter.
hiFilterCol High pass column analysis filter.
filterSize Length of the analysis filter.

int ConvolveUp1d CMatrix< TCoeff >::Iterator &  iterator,
int  size,
const CWavelet::TCoeff *  filter,
int  filterSize
 

One dimensional synthesis filter bank.

Create a reconstructed data from two subbands organized in the input iterator as follows:

               +-------------------+--------------------+
    iterator = | Low pass filtered | High pass filtered |
               +-------------------+--------------------+
   
The data in iterator is replaced by the reconstructed values.

Parameters:
iterator Input sequence.
size Length of the input sequence.
loFilter Low pass synthesis filter.
hiFilter High pass synthesis filter.
filterSize Length of the filter.

int ConvolveUp2d CMatrix< TCoeff > &  M,
const CWavelet::TCoeff *  filterCol,
const CWavelet::TCoeff *  filterRow,
int  filterSize
 

Two dimensional synthesis filter bank.

Create four bands subsampled by factor two in both dimensions and filtered row-wise and column-wise by the loFilter resp. hiFilter. The source iterator data is replaced by the filtered values organized as follows:

       +-------------+-------------+
       |             |             |
       |  Low - low  | High - low  |
       |  filtered   |  filtered   |
       |             |             |
   M = +-------------+-------------+
       |             |             |
       | Low - High  | High - high |
       |  filtered   |  filtered   |
       |             |             |
       +-------------+-------------+
   

Parameters:
M Input coefficient matrix.
loFilterRow Low pass row synthesis filter.
hiFilterRow High pass row synthesis filter.
loFilterCol Low pass column synthesis ilter.
hiFilterCol High pass column synthesis filter.
filterSize Length of the synthesis filter.

int SynthesisFB1d CMatrix< TCoeff >::Iterator &  iterator,
int  size,
const CWavelet::TCoeff *  loFilter,
const CWavelet::TCoeff *  hiFilter,
int  filterSize
 

One dimensional synthesis filter bank.

Create a reconstructed data from two subbands organized in the input iterator as follows:

               +-------------------+--------------------+
    iterator = | Low pass filtered | High pass filtered |
               +-------------------+--------------------+
   
The data in iterator is replaced by the reconstructed values.

Parameters:
iterator Input sequence.
size Length of the input sequence.
loFilter Low pass synthesis filter.
hiFilter High pass synthesis filter.
filterSize Length of the filter.

int SynthesisFB2d CMatrix< TCoeff > &  M,
const CWavelet::TCoeff *  filterLoCol,
const CWavelet::TCoeff *  filterHiCol,
const CWavelet::TCoeff *  filterLoRow,
const CWavelet::TCoeff *  filterHiRow,
int  filterSize
 

Two dimensional synthesis filter bank.

Create four bands subsampled by factor two in both dimensions and filtered row-wise and column-wise by the loFilter resp. hiFilter. The source iterator data is replaced by the filtered values organized as follows:

       +-------------+-------------+
       |             |             |
       |  Low - low  | High - low  |
       |  filtered   |  filtered   |
       |             |             |
   M = +-------------+-------------+
       |             |             |
       | Low - High  | High - high |
       |  filtered   |  filtered   |
       |             |             |
       +-------------+-------------+
   

Parameters:
M Input coefficient matrix.
loFilterRow Low pass row synthesis filter.
hiFilterRow High pass row synthesis filter.
loFilterCol Low pass column synthesis ilter.
hiFilterCol High pass column synthesis filter.
filterSize Length of the synthesis filter.


Generated on Tue Jul 11 11:22:31 2006 for ImgFusion by  doxygen 1.4.6