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