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

Public Member Functions

 SizeProber (const Channel &s, Channel &d)
 
virtual void clear ()
 Called before processing each segment. Compare with init(), which is called once for each image. More...
 
virtual void visit (int i, int j)
 Visiting a single pixel when not coming from any direction. More...
 
virtual bool isVisited (int i, int j) const
 Experimental.
 
virtual void update (int i, int j)
 Application dependent operation performed in each segment location (i,j).
 
virtual bool isValidSegment (int i, int j) const
 Application dependent, to be redefined. Assumes checked coordinates. More...
 
- Public Member Functions inherited from SegmentProber< int, int, SegmentProberConf< int, int > >
 SegmentProber (const Channel &s)
 
 SegmentProber (const Channel &s, Channel &d)
 
void setDst (Channel &d)
 Set new target channel. Needed in multichannel operations.
 
virtual void init ()
 Fills the segment having intensity between min and max. More...
 
void scan ()
 A convenience function for traversing a whole image. More...
 
void probe (int i, int j, bool HORIZONTAL)
 Start probings.
 
bool isValidPixel (int i, int j) const
 Returns isValidSegment(i,j) and !isVisited(i,j).
 

Public Attributes

size_t size
 
- Public Attributes inherited from SegmentProber< int, int, SegmentProberConf< int, int > >
ProberControlcontrol
 
conf_t conf
 
const Channelsrc
 
Channeldst
 

Additional Inherited Members

- Public Types inherited from SegmentProber< int, int, SegmentProberConf< int, int > >
typedef int src_t
 
typedef int dst_t
 
typedef SegmentProberConf< int, int > conf_t
 
- Protected Member Functions inherited from SegmentProber< int, int, SegmentProberConf< int, int > >
virtual bool isValidMove (int i0, int j0, int i, int j) const
 Application dependent, to be redefined. Note: assumes checked coordinates. More...
 
bool move (int &i, int &j)
 Try to move; change coords in success, else keep them intact.
 
void scanHorzProbeVert (int i, int j)
 A semi-recursive approach that turns the 2D recursion to 1D traversal + 1D recursion. More...
 
void scanVertProbeHorz (int i, int j)
 
- Protected Attributes inherited from SegmentProber< int, int, SegmentProberConf< int, int > >
SimpleProberControl basicControl
 

Member Function Documentation

◆ clear()

virtual void clear ( )
inlinevirtual

Called before processing each segment. Compare with init(), which is called once for each image.

Application dependent initialisation for statistics updated with update(int i, int j) function.

Reimplemented from SegmentProber< int, int, SegmentProberConf< int, int > >.

◆ isValidSegment()

virtual bool isValidSegment ( int  i,
int  j 
) const
inlinevirtual

Application dependent, to be redefined. Assumes checked coordinates.

Determines if the current position is within a segment. The criterion of "segment" depends on the application.

Note: does not check coordinates, assumes them to be checked by the calling scope.

Implements SegmentProber< int, int, SegmentProberConf< int, int > >.

◆ visit()

virtual void visit ( int  i,
int  j 
)
inlinevirtual

Visiting a single pixel when not coming from any direction.

Visiting means

  • updating the status of this prober, for example by updating statistics like segment size
  • marking the pixel visited in dst image
Parameters
i0- current i coordinate (always valid)
j0- current j coordinate (always valid)

Mark visited

Reimplemented from SegmentProber< int, int, SegmentProberConf< int, int > >.


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