|
A two-dimensional image processing window that handles the special ODIM codes and scales the result. Template parameter for drain::SlidingWindowOpT. More...
#include <RadarWindows.h>
Public Member Functions | |
SlidingRadarWindowBase (int width=0, int height=0) | |
SlidingRadarWindowBase (const C &conf) | |
void | setSrcFrame (const drain::image::ImageFrame &src) |
Sets input image and retrieves ODIM metadata from image Properties. | |
Public Member Functions inherited from SlidingWindow< C, RadarWindowCore > | |
SlidingWindow (int width=0, int height=0, bool horzMultiple=true, bool vertMultiple=true) | |
SlidingWindow (const C &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< 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 | setDstFrame (ImageFrame &dst) |
Protected Member Functions | |
virtual void | initialize () override |
Sets class-specific initial values. Does not change general window state (e.g. location). Should not accumulate any statistics. More... | |
void | setImageLimits () const |
Sets internal limits corresponding to image geometries. Typically using coordHandler. More... | |
void | setRangeNorm () |
To compensate polar geometry, set applicable range for pixel area scaling. More... | |
virtual bool | reset () |
Returns false, if traversal should be ended. | |
Protected Member Functions inherited from SlidingWindow< C, RadarWindowCore > | |
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< 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 | |
int | rangeNorm |
int | rangeNormEnd |
int | countMin |
Protected Attributes inherited from SlidingWindow< C, RadarWindowCore > | |
Point2D< int > | locationLead |
Point2D< int > | locationTrail |
void(SlidingWindow< C, RadarWindowCore >::* | fill )() |
Pointer to fill operation preformed at initial location (0,0) More... | |
void(SlidingWindow< C, RadarWindowCore >::* | updateHorz )() |
Pointer to update function invoked at each horizontal move. More... | |
void(SlidingWindow< C, RadarWindowCore >::* | 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 |
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< UnaryFunctor > | unicloner |
drain::UnaryFunctor & | myFunctor |
Public Attributes inherited from WindowCore | |
ImageView | src |
ImageView | dst |
A two-dimensional image processing window that handles the special ODIM codes and scales the result. Template parameter for drain::SlidingWindowOpT.
C | - configuration structure |
R | - window core (input and output members) |
drain::image::WindowCore supports single-src, single-dst (with respective weights).
|
inlineoverrideprotectedvirtual |
Sets class-specific initial values. Does not change general window state (e.g. location). Should not accumulate any statistics.
Implements SlidingWindow< C, RadarWindowCore >.
Reimplemented in DopplerInversionWindow, and DopplerWindow.
|
inlineprotectedvirtual |
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< C, R >.
|
inlineprotected |
To compensate polar geometry, set applicable range for pixel area scaling.
Distance [bins] at which a bin is (nearly) square, ie. beam-perpendicular and beam-directional steps are equal.
Distance [bins] at which a single azimuthal step is equal to conf.frame.height steps at rangeNorm.