Public Member Functions | List of all members
SlidingWindowMedian Class Reference

#include <SlidingWindowMedianOp.h>

Inheritance diagram for SlidingWindowMedian:
Inheritance graph
[legend]
Collaboration diagram for SlidingWindowMedian:
Collaboration graph
[legend]

Public Member Functions

 SlidingWindowMedian (int width=1, int height=0, int bins=256)
 
 SlidingWindowMedian (const conf_t &conf)
 
virtual void write ()
 Write the result in the target image. More...
 
- Public Member Functions inherited from SlidingWindowHistogram< WindowCore >
 SlidingWindowHistogram (int width=1, int height=0, int bins=256)
 
 SlidingWindowHistogram (const HistogramWindowConfig &conf)
 
virtual void initialize ()
 
virtual void clear ()
 Clears the applied statistics. Redefined in derived classes.
 
- Public Member Functions inherited from SlidingWindow< HistogramWindowConfig, WindowCore >
 SlidingWindow (int width=0, int height=0, bool horzMultiple=true, bool vertMultiple=true)
 
 SlidingWindow (const HistogramWindowConfig &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 ()
 
const std::string & getModeStr ()
 
- Public Member Functions inherited from Window< C, R >
 Window (size_t width=1, size_t height=0)
 Constructor with geometry setting option.
 
 Window (const C &conf)
 Constructor adapting given configuration.
 
 Window (const Window &window)
 
virtual ~Window ()
 Destructor.
 
virtual void setSize (size_t width, size_t height)
 Sets the window size.
 
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)
 

Additional Inherited Members

- Public Types inherited from Window< C, R >
typedef C conf_t
 
- Public Attributes inherited from Window< C, R >
conf_t conf
 
UniCloner< UnaryFunctorunicloner
 
drain::UnaryFunctormyFunctor
 
- Public Attributes inherited from WindowCore
ImageView src
 
ImageView dst
 
- Protected Member Functions inherited from SlidingWindowHistogram< WindowCore >
virtual void setImageLimits () const
 Sets internal limits corresponding to image geometries. Typically using coordHandler. More...
 
virtual void removePixel (Point2D< int > &p)
 Removes a pixel from window statistics. Unvalidated location. More...
 
virtual void addPixel (Point2D< int > &p)
 Adds a pixel to window statistics. Unvalidated location. More...
 
- Protected Member Functions inherited from SlidingWindow< HistogramWindowConfig, WindowCore >
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 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.
 
- Protected Member Functions inherited from Window< C, R >
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 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 inherited from SlidingWindowHistogram< WindowCore >
drain::Histogram histogram
 
- Protected Attributes inherited from SlidingWindow< HistogramWindowConfig, WindowCore >
Point2D< int > locationLead
 
Point2D< int > locationTrail
 
void(SlidingWindow< HistogramWindowConfig, WindowCore >::* fill )()
 Pointer to fill operation preformed at initial location (0,0) More...
 
void(SlidingWindow< HistogramWindowConfig, WindowCore >::* updateHorz )()
 Pointer to update function invoked at each horizontal move. More...
 
void(SlidingWindow< HistogramWindowConfig, WindowCore >::* updateVert )()
 Pointer to update function invoked at each vertical move. More...
 
Point2D< int > locationTmp
 
- Protected Attributes inherited from Window< C, R >
Point2D< int > location
 Current location of this window.
 
int samplingArea = 0
 Number of pixels in the window (frame width*height?).
 
bool resetAtEdges = false
 To avoid accumulated numerical errors esp. with floats, reset the statistics at row/cols ends. See reset() .
 
bool SCALE = true
 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

# Basic example: 5x5 window
drainage image-gray.png --iMedian 5 -o median.png
# Vertical 3×7 window
drainage image-gray.png --iMedian 3:7 -o medianVert.png
# Weighted median – lower end (darkening)
drainage image-gray.png --iMedian 5:5,0.1 -o median010.png
# Weighted median – upper end (brightening)
drainage image-gray.png --iMedian 5:5,0.9 -o median090.png
# Coloured image: each channel processed separately
drainage image.png --iMedian 5 -o median-color.png

Member Function Documentation

◆ write()

virtual void write ( )
inlinevirtual

Write the result in the target image.

Sliding windows enjoys a confidence of the application, as it has the

Reimplemented from SlidingWindowHistogram< WindowCore >.


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