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

RDistanceAosOp Class Reference

#include <RDistanceAosOp.hpp>

Inheritance diagram for RDistanceAosOp:

Inheritance graph
[legend]
Collaboration diagram for RDistanceAosOp:

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

 RDistanceAosOp (RImage *edgeDistance=0, int iterations=8, double t0=0.0, double tMax=20.0, double k=16.0, double asigma=5.0, bool iirFlag=false, bool nonLinearFlag=true)
virtual ~RDistanceAosOp ()
virtual void setEdgeDistance (RImage *distanceMap)
virtual RImage * filter (RImage *src, RImage *dest=0)
 Local full image filtering.

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

virtual void report (FILE *file)

Protected Methods

virtual double getTau (int x, int y)
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 tmin
double tmax
double K
double K2
RImage * distanceMapEdges
double sigma
bool iirUsed
bool nonLinear
AbsRImageFilter * blurrer
AbsRImageFilter * gradient
RImage * Isigma
RImage * IgradNorme
AbsTriDiagonalLS * hThomasLS
AbsTriDiagonalLS * vThomasLS


Member Function Documentation

RImage * RDistanceAosOp::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.

RImage * RDistanceAosOp::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.


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