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

RSimpleAosOp Class Reference

#include <RSimpleAosOp.hpp>

Inheritance diagram for RSimpleAosOp:

Inheritance graph
[legend]
Collaboration diagram for RSimpleAosOp:

Collaboration graph
[legend]
List of all members.

Detailed Description

Abstract Float simple AOS flow.

Author:
Bernard De Cuyper
Version:
0.055
Date:
14/09/2002
 
Purpose:        Fast Computation of Simple AOS recursive flow.
                        Use the Thomas LU model.
                        Semi-Implicit solver using AOS additive splitting

            (I - tau * A) * uNew=  uOld

                        Should be better than LOD: Rotation invariant.

                        LOD is sequential (handelling each direction x y z in sequence)

                        AOS is parallel (handelling each direction x y z at the same time)
                        AOS build an average operator

                        Both LOD and AOS are designed for large image restoration, O(N) in time ang space!!!

Papers:         "Recursivity and PDE's in image processing", 
                        L. Alvarez, R. Deriche and F Santana, Spain 1998.

                        "Efficient and Reliable Schemes for Nonlinear Diffusion Filtering", 
                        Joachim. Weickert & all, IEEE transactions on Image Processing, vol7, n3, March 1998.
                

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


Public Methods

 RSimpleAosOp (int iterations=8, double t=0.5, double k=16.0, double asigma=5.0, bool iirFlag=false, bool nonLinearFlag=true)
virtual ~RSimpleAosOp ()
virtual RImagefilter (RImage *src, RImage *dest=0)
 Local full image filtering.

virtual RImageselectedFilter (AnImage *mask, RImage *src, RImage *dest=0)
 Local filtering in a mask area.

virtual void report (FILE *file)

Protected Methods

virtual void init (RImage *im)
virtual void gradientRegularisation (RImage *im)
virtual double g (int i, int j)=0

Protected Attributes

int m
int w
int h
int iterMax
double tau
double K
double K2
double sigma
bool iirUsed
bool nonLinear
AbsRImageFilterblurrer
AbsRImageFiltergradient
RImageIsigma
RImageIgradNorme
AbsTriDiagonalLShThomasLS
AbsTriDiagonalLSvThomasLS


Member Function Documentation

RImage * RSimpleAosOp::filter RImage   src,
RImage   dest = 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.

Reimplemented in RAosPeronaFabOp, and RRegularizedAosOp.

RImage * RSimpleAosOp::selectedFilter AnImage   mask,
RImage   src,
RImage   dest = 0
[virtual]
 

Local filtering in a mask area.

Parameters:
mask  is AnImage* is a ByteImage
src  is RImage* is RImage source channel
dest  is RImage* is RImage result/placeholder
Returns :
RImage* as result,

Reimplemented from AbsRImageFilter.

Reimplemented in RAosCDDinpainting, RAosPeronaCDDinpainting, and RRegularizedAosOp.


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