Inheritance diagram for w2img::HysteresisSegmenter:
An object consists of contiguous pixels above thresh1 that contain at least one pixel with value above thresh2.
Public Types | |
typedef Cluster< SingleFeature > | RegionProperty |
The simplest region property is a cluster of a single feature. | |
typedef std::vector< int > | Replacement |
Given a region with label i, Replacement[i] provides the new label, usually at a particular scale. | |
Public Member Functions | |
HysteresisSegmenter (int thresh1, int thresh2, int sm_size=1, bool wrapAroundRadials=false) | |
Will segment the given image into regions based on two thresholds. | |
virtual SegmenterResult | segment (const code::Image< int > &orig) |
The resulting image has pixels marked with the region number, starting at 1. | |
SegmenterResult | segment (const code::Image< int > &orig) const |
The resulting image has pixels marked with the region number, starting at 1. | |
virtual | ~HysteresisSegmenter () |
int | getHigherThreshold () const |
int | getLowerThreshold () const |
Static Public Member Functions | |
static void | computeRegionProperty (const code::Image< int > &orig, const SegmenterResult &label, std::vector< RegionProperty > *fillme) |
Fills in the passed in vector with a vector of computed region properties. | |
static void | computeRegionProperty (const SegmenterResult &label, std::vector< RegionProperty > *fillme) |
Fills in the passed in vector with a vector of computed region properties. | |
static void | normalize (Segmenter::Replacement &replacement) |
completes the cycle | |
static SegmenterResult | relabel (const SegmenterResult &label_img) |
Will relabel the image, removing unused labels. | |
Protected Member Functions | |
virtual bool | isSeedForNewRegion (int dataval, int row, int col) const |
void | expand_segment (int x, int y, const code::Image< int > &orig, code::Image< int > &segimg, int label) const |
Set the segimg at x,y to be label and then call this function. | |
Static Protected Attributes | |
static const int | Unset = -1000 |
static const int | Invalid = -2000 |
typedef Cluster< SingleFeature > w2img::Segmenter::RegionProperty [inherited] |
The simplest region property is a cluster of a single feature.
typedef std::vector<int> w2img::Segmenter::Replacement [inherited] |
Given a region with label i, Replacement[i] provides the new label, usually at a particular scale.
The Replacement structure is such that replacement[i] provides the replacement label for the current label i. This replacement may be 0 or negative, which means that no replacement exists.
w2img::HysteresisSegmenter::HysteresisSegmenter | ( | int | thresh1, | |
int | thresh2, | |||
int | sm_size = 1 , |
|||
bool | wrapAroundRadials = false | |||
) |
Will segment the given image into regions based on two thresholds.
An object consists of contiguous pixels above thresh1 that contain at least one pixel with value above thresh2. The optional smoothing filter size sets the size of the rectangular filter to use in smoothing the image before contouring.
virtual w2img::HysteresisSegmenter::~HysteresisSegmenter | ( | ) | [inline, virtual] |
static void w2img::Segmenter::computeRegionProperty | ( | const SegmenterResult & | label, | |
std::vector< RegionProperty > * | fillme | |||
) | [static, inherited] |
Fills in the passed in vector with a vector of computed region properties.
The input label image should be a labeled image such as that returned by the segmenter. WARNING: The resulting properties will not have any of the value elements set because the original image was not passed in.
static void w2img::Segmenter::computeRegionProperty | ( | const code::Image< int > & | orig, | |
const SegmenterResult & | label, | |||
std::vector< RegionProperty > * | fillme | |||
) | [static, inherited] |
Fills in the passed in vector with a vector of computed region properties.
The input label image should be a labeled image such as that returned by the segmenter.
void w2img::Segmenter::expand_segment | ( | int | x, | |
int | y, | |||
const code::Image< int > & | orig, | |||
code::Image< int > & | segimg, | |||
int | label | |||
) | const [protected, inherited] |
Set the segimg at x,y to be label and then call this function.
It will expand out segimg to all contiguous values that match
int w2img::HysteresisSegmenter::getHigherThreshold | ( | ) | const [inline] |
int w2img::HysteresisSegmenter::getLowerThreshold | ( | ) | const [inline] |
virtual bool w2img::HysteresisSegmenter::isSeedForNewRegion | ( | int | dataval, | |
int | row, | |||
int | col | |||
) | const [inline, protected, virtual] |
Reimplemented in w2img::AdaptiveHysteresisSegmenter.
static void w2img::Segmenter::normalize | ( | Segmenter::Replacement & | replacement | ) | [static, inherited] |
completes the cycle
static SegmenterResult w2img::Segmenter::relabel | ( | const SegmenterResult & | label_img | ) | [static, inherited] |
Will relabel the image, removing unused labels.
SegmenterResult w2img::HysteresisSegmenter::segment | ( | const code::Image< int > & | orig | ) | const [inline] |
The resulting image has pixels marked with the region number, starting at 1.
Zero values do not belong to any region.
virtual SegmenterResult w2img::HysteresisSegmenter::segment | ( | const code::Image< int > & | orig | ) | [inline, virtual] |
The resulting image has pixels marked with the region number, starting at 1.
Zero values do not belong to any region.
Implements w2img::Segmenter.
const int w2img::Segmenter::Invalid = -2000 [static, protected, inherited] |
const int w2img::Segmenter::Unset = -1000 [static, protected, inherited] |