Public Types | Public Member Functions | List of all members
SlidingOpticalFlowWeighted Class Reference
Inheritance diagram for SlidingOpticalFlowWeighted:
Inheritance graph
[legend]
Collaboration diagram for SlidingOpticalFlowWeighted:
Collaboration graph
[legend]

Public Types

typedef SlidingOpticalFlow< OpticalFlowCore1unweighted
 
- Public Types inherited from SlidingOpticalFlow< OpticalFlowCore1 >
typedef OpticalFlowCore1::data_t data_t
 
typedef OpticalFlowCore1::cumul_t cumul_t
 
- Public Types inherited from Window< C, R >
typedef C conf_t
 

Public Member Functions

 SlidingOpticalFlowWeighted (const conf_t &conf)
 
virtual void addPixel (Point2D< int > &p)
 Adds a pixel to window statistics. Unvalidated location. More...
 
virtual void removePixel (Point2D< int > &p)
 Removes a pixel from window statistics. Unvalidated location. More...
 
- Public Member Functions inherited from SlidingOpticalFlow< OpticalFlowCore1 >
 SlidingOpticalFlow (int width=0, int height=0)
 
 SlidingOpticalFlow (const OpticalFlowConfig &conf)
 
virtual void setImageLimits () const
 Sets internal limits corresponding to image geometries. Typically using coordHandler. More...
 
virtual void initialize ()
 Sets class-specific initial values. Does not change general window state (e.g. location). Should not accumulate any statistics. More...
 
data_t predictionError (double u, double v) const
 Returns the mean squared error of predicted.
 
virtual void write ()
 Write the result in the target image. More...
 
- Public Member Functions inherited from SlidingWindow< OpticalFlowConfig, OpticalFlowCore1 >
 SlidingWindow (int width=0, int height=0, bool horzMultiple=true, bool vertMultiple=true)
 
 SlidingWindow (const OpticalFlowConfig &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 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 SlidingOpticalFlow< OpticalFlowCore1 >
virtual void clear ()
 Clears the applied statistics. Redefined in derived classes.
 
- Protected Member Functions inherited from SlidingWindow< OpticalFlowConfig, OpticalFlowCore1 >
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 SlidingOpticalFlow< OpticalFlowCore1 >
size_t address
 
data_t dx
 
data_t dy
 
data_t dt
 
data_t w
 
data_t u
 
data_t v
 
data_t nom
 
data_t quality
 
- Protected Attributes inherited from SlidingWindow< OpticalFlowConfig, OpticalFlowCore1 >
Point2D< int > locationLead
 
Point2D< int > locationTrail
 
void(SlidingWindow< OpticalFlowConfig, OpticalFlowCore1 >::* fill )()
 Pointer to fill operation preformed at initial location (0,0) More...
 
void(SlidingWindow< OpticalFlowConfig, OpticalFlowCore1 >::* updateHorz )()
 Pointer to update function invoked at each horizontal move. More...
 
void(SlidingWindow< OpticalFlowConfig, OpticalFlowCore1 >::* 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
 

Member Function Documentation

◆ addPixel()

virtual void addPixel ( Point2D< int > &  p)
inlinevirtual

Adds a pixel to window statistics. Unvalidated location.

Updates class-specific window statistics by adding a pixel value - typically at the leading edge of the window.

Parameters
p- location at which contribution should be removed

The argument p is not validated in advance but it should be checked within the implementation using coordinateHandler.validate(p), for example.

Reimplemented from SlidingOpticalFlow< OpticalFlowCore1 >.

◆ removePixel()

virtual void removePixel ( Point2D< int > &  p)
inlinevirtual

Removes a pixel from window statistics. Unvalidated location.

     Updates class-specific window statistics by removing a pixel value  - typically at the trailing edge of the window.

     \param p - location at which contribution should be removed
    const int h = (conf.height>0.0) ? conf.height : conf.width;

GaussianStripeVert window2(h, 0.5*conf.radius*static_cast{double}(h)); GaussianStripe2<false> window2(h, 0.5*conf.radius*static_cast{double}(h));

 The argument p is \em not validated in advance but
 it should be checked within the implementation using coordinateHandler.validate(p), for example.

Reimplemented from SlidingOpticalFlow< OpticalFlowCore1 >.


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