Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
GaussianStripe< DIR, R > Class Template Reference

#include <GaussianWindow.h>

Inheritance diagram for GaussianStripe< DIR, R >:
Inheritance graph
[legend]
Collaboration diagram for GaussianStripe< DIR, R >:
Collaboration graph
[legend]

Public Types

typedef float value_t
 
- Public Types inherited from Window< GaussianWindowConf, WindowCore >
typedef GaussianWindowConf conf_t
 

Public Member Functions

 GaussianStripe (int n, double radius=1.0)
 
virtual void setImageLimits () const
 Sets internal limits corresponding to image geometries. Typically using coordHandler. More...
 
void initialize ()
 
void setSize (size_t width=1)
 
- Public Member Functions inherited from Window< GaussianWindowConf, WindowCore >
 Window (size_t width=1, size_t height=0)
 Constructor with geometry setting option.
 
 Window (const GaussianWindowConf &conf)
 Constructor adapting given configuration.
 
 Window (const Window &window)
 
virtual ~Window ()
 Destructor.
 
size_t getArea ()
 Returns the nominal area in pixels.
 
size_t getSamplingArea ()
 Returns the area which has eventually been scaled (in a non-linear coordinate system)
 
virtual void run ()
 Main loop: traverses the source image and writes result to dst image. More...
 
virtual void toStream (std::ostream &ostr) const
 
- Public Member Functions inherited from WindowCore
virtual void setSrcFrames (const ImageTray< const Channel > &srcTray)
 
virtual void setDstFrames (ImageTray< Channel > &dstTray)
 
virtual void setSrcFrameWeight (const ImageFrame &srcW)
 
virtual void setDstFrameWeight (ImageFrame &dstW)
 
- Public Member Functions inherited from WindowCoreBase
virtual void setSrcFrame (const ImageFrame &src)
 
virtual void setDstFrame (ImageFrame &dst)
 

Protected Member Functions

virtual void setSize (size_t width, size_t height)
 Sets the window size.
 
virtual void write ()
 At each location, the result of computation to dst image(s). More...
 
virtual void update ()
 At each location, this is called to calculate and store something in members.
 
void update ()
 At each location, this is called to calculate and store something in members.
 
void update ()
 At each location, this is called to calculate and store something in members.
 
void update ()
 At each location, this is called to calculate and store something in members.
 
void update ()
 At each location, this is called to calculate and store something in members.
 
- Protected Member Functions inherited from Window< GaussianWindowConf, WindowCore >
virtual bool isHorizontal () const
 Tells if the window should be moved (traversed of slided) row-by-row (horizontally) or column-by-column (vertically). More...
 
virtual bool reset ()
 Function determining whether array should be cleared at the edge(s). Needed for 1) cleaning numerical residues and 2) updating window parameters. More...
 
virtual void setLoopLimits (int width, int height)
 Sets the actual traversal range inside the window. Sometimes applied dynamically by reset().
 
void setLoopLimits ()
 Sets the actual traversal range inside the window. Sometimes applied dynamically by reset().
 
bool debugDiag (int bit=4)
 

Protected Attributes

std::vector< value_t > lookUp
 
value_t weightSum
 
value_t value
 
value_t scaleResult
 
Point2D< int > locationTmp
 
value_t w
 Current weight.
 
value_t sumW
 Current weighted sum.
 
- Protected Attributes inherited from Window< GaussianWindowConf, WindowCore >
Point2D< int > location
 Current location of this window.
 
int samplingArea
 Number of pixels in the window (frame width*height?).
 
bool resetAtEdges
 To avoid accumulated numerical errors esp. with floats, reset the statistics at row/cols ends. See reset() .
 
bool SCALE
 If set, scaling is applied, potentially slowering the computation.
 
Range< int > iRange
 Studies source and destination images and decides whether scaling (SCALE=true) should be set.
 
Range< int > jRange
 
CoordinateHandler2D coordinateHandler
 

Additional Inherited Members

- Public Attributes inherited from Window< GaussianWindowConf, WindowCore >
conf_t conf
 
UniCloner< UnaryFunctorunicloner
 
drain::UnaryFunctormyFunctor
 
- Public Attributes inherited from WindowCore
ImageView src
 
ImageView dst
 

Detailed Description

template<bool DIR = true, class R = WindowCore>
class drain::image::GaussianStripe< DIR, R >

Template Parameters
DIR- direction: true=horzizontal, false=vertical
R- Core for window input & output images

Member Function Documentation

◆ initialize()

void initialize ( )
inlinevirtual

This function \i must

  1. set image limits (limits of the total scanning area)
  2. set (initial) loop limits (limits of the window scanning area. Typically window origin is in the center.
  3. set starting location (typically 0,0)

Reimplemented from Window< GaussianWindowConf, WindowCore >.

◆ setImageLimits()

virtual void setImageLimits ( ) const
inlinevirtual

Sets internal limits corresponding to image geometries. Typically using coordHandler.

Studies source image(s) and sets srcWidth, srcHeight and coordHandler. Consider already implemented methods like WindowCore::adjustCoordHandler()

Implements Window< GaussianWindowConf, WindowCore >.

◆ write()

virtual void write ( )
inlineprotectedvirtual

At each location, the result of computation to dst image(s).

Contract: this function is called after update().

Implements Window< GaussianWindowConf, WindowCore >.

Reimplemented in GaussianStripeWeighted< DIR >, and GaussianStripeWeighted< false >.


The documentation for this class was generated from the following file: