Template class for watershed transformations variant of Meyer algorithm, as used in Matlab http://www.mathworks.com/access/helpdesk/help/toolbox/images/watershed.html Meyer, Fernand, "Topographic distance and watershed lines," Signal Processing , Vol. 38, July 1994, pp. 113-125 Alternative watershed algorithms with source code can be found on http://www.esiee.fr/~info/tw/.  
 More...
#include <WatershedMeyer.h>
 | 
| 
  | WatershedMeyer () | 
|   | Default constructor. 
  | 
|   | 
| 
  | ~WatershedMeyer () | 
|   | Destructor. 
  | 
|   | 
| 
double  | GetMaxMinimaLevel () | 
|   | Gets upper limit for pixel to be considered a minimum and thus serve as starting seed for flooding. 
  | 
|   | 
| void  | SetMaxMinimaLevel (double maxLevel) | 
|   | Sets upper limit for pixel to be considered a minimum and thus serve as starting seed for flooding.  More...
  | 
|   | 
| 
double  | GetEqualityPrecision () | 
|   | Gets precision factor in pixel value comparison What is the minimum difference in value between pixels in order to consider them actually different. 
  | 
|   | 
| void  | SetEqualityPrecision (double precision) | 
|   | Sets precision factor in pixel value comparison.  More...
  | 
|   | 
| bool  | Run (ArrayGrid< T > *iInputImage, bool usegradientImage, std::string sourceDataName=std::string("")) | 
|   | Executes the transformation on iInputImage.  More...
  | 
|   | 
| 
int  | GetNumberOfWatershedPixels () | 
|   | Get the number of detected watershed pixels. 
  | 
|   | 
| 
ArrayGrid< bool > *  | GetWatershedGrid () | 
|   | Get grid where watershed points have value true; other points have value false. 
  | 
|   | 
| 
int  | GetNumberOfLabels () | 
|   | Get the number of watershed segments. 
  | 
|   | 
| 
ArrayGrid< int > *  | GetLabelImage () | 
|   | Get the grid with watershed labels. 
  | 
|   | 
| 
Image *  | CreateLabelsRidgeImage () | 
|   | Creates image on which labels and ridges are rendered. 
  | 
|   | 
| 
Image *  | CreateLabelsIntensitiesImage () | 
|   | Creates image on which ridges are rendered on top of the original image intensities. 
  | 
|   | 
| bool  | IsElementNoMinima (PixelElement< T > pe1, PixelElement< T > pe2) | 
|   | Checks if intensity at pe1 is not a local miminum.  More...
  | 
|   | 
| bool  | IsElementSame (PixelElement< T > pe1, PixelElement< T > pe2) | 
|   | Checks if intensities of pe1 and pe2 are the same.  More...
  | 
|   | 
| PixelElement< T >  | CreatePixelElement (int x, int y) | 
|   | creates a pixel element for the given coordinates (x, y)  More...
  | 
|   | 
| PixelElement< T >  | CreatePixelElement (stira::common::Point< int > pt) | 
|   | creates a pixel element for the given point pt  More...
  | 
|   | 
| bool  | IsValidNeighbour (int x, int y, int dx, int dy) | 
|   | checks if point (x+dx, y+dx) is a valid neighbour of (x, y) Basically, we check (1) if (x+dx, y+dx) doesn't fall out of the image and (2) that (x+dx, y+dx) is not the point (x, y) itself (case dx == dy == 0)  More...
  | 
|   | 
template<class T>
class stira::imageanalysis::WatershedMeyer< T >
Template class for watershed transformations variant of Meyer algorithm, as used in Matlab http://www.mathworks.com/access/helpdesk/help/toolbox/images/watershed.html Meyer, Fernand, "Topographic distance and watershed lines," Signal Processing , Vol. 38, July 1994, pp. 113-125 Alternative watershed algorithms with source code can be found on http://www.esiee.fr/~info/tw/. 
 
Checks if intensity at pe1 is not a local miminum. 
- Parameters
 - 
  
    | pe1 | first element in the comparison  | 
    | pe2 | second element in the comparison  | 
  
   
- Returns
 - true if value in pe2 is smaller than in pe1; false otherwise 
 
References stira::imageanalysis::PixelElement< T >::value.
 
 
Checks if intensities of pe1 and pe2 are the same. 
- Parameters
 - 
  
    | pe1 | first element in the comparison  | 
    | pe2 | second element in the comparison  | 
  
   
- Returns
 - true if value in pe2 is the same as in pe1; false otherwise 
 
References stira::imageanalysis::PixelElement< T >::value.
 
 
checks if point (x+dx, y+dx) is a valid neighbour of (x, y) Basically, we check (1) if (x+dx, y+dx) doesn't fall out of the image and (2) that (x+dx, y+dx) is not the point (x, y) itself (case dx == dy == 0) 
- Parameters
 - 
  
    | x | x coordinate of reference point  | 
    | y | y coordinate of reference point  | 
    | dx | difference in x direction to neighbour  | 
    | dy | difference in y direction to neighbour  | 
  
   
- Returns
 - true if (x+dx, y+dy) is within the grid, and dx or dy is different from 0 (if both zero, it's the point itself) 
 
 
 
Executes the transformation on iInputImage. 
- Parameters
 - 
  
  
 
 
 
Sets precision factor in pixel value comparison. 
- Parameters
 - 
  
    | precision | the minimum difference in value between pixels in order to consider them as different  | 
  
   
 
 
Sets upper limit for pixel to be considered a minimum and thus serve as starting seed for flooding. 
- Parameters
 - 
  
    | maxLevel | the largest value for a minimum to be allowed as starting seed for flooding  | 
  
   
 
 
The documentation for this class was generated from the following file:
- imageanalysis/imageanalysis/WatershedMeyer.h