Public Member Functions | Protected Member Functions | List of all members
SlidingStripe< C, R, DIR > Class Template Reference

A horizontal, one-dimensional SlidingWindow (Nx1). More...

#include <SlidingWindow.h>

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

Public Member Functions

 SlidingStripe (size_t n=1)
 
void setSize (size_t width=1)
 
- Public Member Functions inherited from SlidingWindow< WindowConfig, WindowCore >
 SlidingWindow (int width=0, int height=0, bool horzMultiple=true, bool vertMultiple=true)
 
 SlidingWindow (const WindowConfig &conf, bool horzMultiple=true, bool vertMultiple=true)
 
void setSlidingMode (bool horzMultiple, bool vertMultiple)
 
void run ()
 Sets coord handler, calls initialise, sets pos(0,0), fills, writes and slides. More...
 
void runHorz ()
 Sets coord handler, calls initialise, sets pos(0,0), fills, writes and slides. More...
 
void runVert ()
 Sets coord handler, calls initialise, sets pos(0,0), fills, writes and slides. More...
 
virtual void debug ()
 
virtual void write ()=0
 Write the result in the target image. More...
 
const std::string & getModeStr ()
 
- Public Member Functions inherited from Window< WindowConfig, WindowCore >
 Window (size_t width=1, size_t height=0)
 Constructor with geometry setting option.
 
 Window (const WindowConfig &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 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.
 
- Protected Member Functions inherited from SlidingWindow< WindowConfig, WindowCore >
virtual void initialize ()=0
 Sets class-specific initial values. Does not change general window state (e.g. location). Should not accumulate any statistics. More...
 
virtual bool reset ()
 Returns false, if traversal should be ended.
 
void slideHorz ()
 High-level functionality of a sliding window. FINAL.
 
void slideVert ()
 High-level functionality of a sliding window. FINAL.
 
bool moveDown ()
 Moves one pixel down. Stops at the edge, and returns false. More...
 
bool moveUp ()
 Moves one pixel up. Stops at the edge, and returns false. More...
 
bool moveRight ()
 Moves one pixel right. Stops at the edge, and returns false. More...
 
bool moveLeft ()
 Moves one pixel left. Stops at the edge, and returns false. More...
 
virtual void clear ()
 Clears the applied statistics. Redefined in derived classes.
 
virtual void fillBoth ()
 Clears and computes the statistics for the current location. More...
 
void fillHorz ()
 Clears and computes the statistics for the current location. FINAL. More...
 
void fillVert ()
 Clears and computes the statistics for the current location. FINAL. More...
 
void updateHorzMultiple ()
 In moving horizontally, updates the window centered at current location. Calls removePixel() and addPixel().
 
void updateHorzSingle ()
 
void updateVertMultiple ()
 In moving vertically, updates the window centered at current location. Calls removePixel() and addPixel().
 
void updateVertSingle ()
 For 1 x n sized windows.
 
virtual void addPixel (Point2D< int > &p)=0
 Adds a pixel to window statistics. Unvalidated location. More...
 
virtual void removePixel (Point2D< int > &p)=0
 Removes a pixel from window statistics. Unvalidated location. More...
 
- Protected Member Functions inherited from Window< WindowConfig, 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 void update ()
 At each location, this is called to calculate and store something in members.
 
virtual void setImageLimits () const=0
 Sets internal limits corresponding to image geometries. Typically using coordHandler. 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)
 

Additional Inherited Members

- Public Types inherited from Window< WindowConfig, WindowCore >
typedef WindowConfig conf_t
 
- Public Attributes inherited from Window< WindowConfig, WindowCore >
conf_t conf
 
UniCloner< UnaryFunctorunicloner
 
drain::UnaryFunctormyFunctor
 
- Public Attributes inherited from WindowCore
ImageView src
 
ImageView dst
 
- Protected Attributes inherited from SlidingWindow< WindowConfig, WindowCore >
Point2D< int > locationLead
 
Point2D< int > locationTrail
 
void(SlidingWindow< WindowConfig, WindowCore >::* fill )()
 Pointer to fill operation preformed at initial location (0,0) More...
 
void(SlidingWindow< WindowConfig, WindowCore >::* updateHorz )()
 Pointer to update function invoked at each horizontal move. More...
 
void(SlidingWindow< WindowConfig, WindowCore >::* updateVert )()
 Pointer to update function invoked at each vertical move. More...
 
Point2D< int > locationTmp
 
- Protected Attributes inherited from Window< WindowConfig, 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
 

Detailed Description

template<class C = WindowConfig, class R = WindowCore, bool DIR = true>
class drain::image::SlidingStripe< C, R, DIR >

A horizontal, one-dimensional SlidingWindow (Nx1).

Template Parameters
DIR- direction: horizontal(true) or vertical(false)
C- WindowConfig
R- WindowCore

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