MeVisLab Toolbox Reference
|
Implementation of a clustering algorithm checking for identical image intensity values. More...
#include <mlIdenticalIntensitiesClusterAlgorithm.h>
Public Member Functions | |
IdenticalIntensitiesClusterAlgorithm (const ComputeClusterParameters ¶meters, Clusters *clusters) | |
ML_FORCE_INLINE bool | isInTolerance (DATATYPE neighborValue, DATATYPE currentValue) |
Tolerance calculation for scalar images. | |
Public Member Functions inherited from ml::ClusterAlgorithm< DATATYPE, IdenticalIntensitiesClusterAlgorithm< DATATYPE > > | |
ClusterAlgorithm (const ComputeClusterParameters ¶meters, Clusters *clusters) | |
Constructor to be used. | |
MLErrorCode | runClustering () |
MLErrorCode | processSlice (MLint zi, const ImageVector &inputImageExtent, TSubImage< MLint8 > &inMaskSlice) |
Public Member Functions inherited from ml::ClusterAlgorithmBase | |
ClusterAlgorithmBase (const ComputeClusterParameters ¶meters, Clusters *clusters) | |
Constructor to be used. | |
virtual | ~ClusterAlgorithmBase () |
Default virtual destructor. | |
bool | hasResults () const |
Returns whether getCluster() and getClusterOfVoxel() contains cluster data. | |
Static Public Member Functions | |
static ML_FORCE_INLINE DATATYPE | getVoxel (void *position) |
Get the typed voxel value for current position. | |
static ML_FORCE_INLINE MLdouble | getVoxelAsDouble (void *position) |
Additional Inherited Members | |
Public Types inherited from ml::ClusterAlgorithm< DATATYPE, IdenticalIntensitiesClusterAlgorithm< DATATYPE > > | |
typedef DATATYPE | ClusterVoxelType |
The used type of the voxels, needed by derived classes. | |
Protected Types inherited from ml::ClusterAlgorithmBase | |
enum | { _NR_OF_SUBIMAGES = 2 } |
We do not load the whole image into memory, only keep two slices at once. More... | |
Protected Member Functions inherited from ml::ClusterAlgorithm< DATATYPE, IdenticalIntensitiesClusterAlgorithm< DATATYPE > > | |
MLuint | updateClusterRefForNeighbor (void *neighborVoxelPtr, MLint x, MLint y, MLint z, DATATYPE currentValue, MLuint currentClusterRef) |
Checks if neighbor at position x,y,z belongs to the same cluster given by currentClusterRef. | |
MLErrorCode | calcClustersForSlices () |
Template applying cluster calculations for one slice. | |
Protected Member Functions inherited from ml::ClusterAlgorithmBase | |
void | setInSliceVoxelType (MLDataType dt) |
Sets voxel type of input slices. | |
void | freeInSliceData () |
Releases memory of input image slices. | |
void | storeNextSlice (SubImage &slice) |
Sets next image data, expects the data to be managed by memory manager. | |
MLErrorCode | loadNextSlice (MLint sliceNr, const ImageVector &inImgExt) |
Gets next image data. | |
MLErrorCode | loadMaskSlice (TSubImage< MLint8 > &slice, MLint sliceNr, const ImageVector &inImgExt) const |
Gets current slice of the mask image. | |
MLuint | mergeClusterReference (MLint x, MLint y, MLint z, MLuint currClusterRef) |
Merges a cluster reference currClusterRef for position (x,y,z). | |
void | setResultFlag (bool result) |
Sets internal result flag to result. | |
Static Protected Member Functions inherited from ml::ClusterAlgorithm< DATATYPE, IdenticalIntensitiesClusterAlgorithm< DATATYPE > > | |
static DATATYPE | convertBackgroundValue (MLdouble backgroundValue) |
Protected Attributes inherited from ml::ClusterAlgorithmBase | |
enum ml::ClusterAlgorithmBase:: { ... } | NumInImagesEnum |
We do not load the whole image into memory, only keep two slices at once. | |
Clusters * | _clusters |
Result clusters. | |
SubImage | _currentSlices [_NR_OF_SUBIMAGES] |
do not load the whole image into memory, only keep two slices at once | |
ComputeClusterParameters | _parameters |
Implementation of a clustering algorithm checking for identical image intensity values.
It uses internally two data structures. One (class ClusterRefVolume) holds references for every image voxel to a field of cluster informations (here ClusterRefCollection). Every image voxel will be checked whether it belongs to the background or if not, if it has neighbors with the same gray value. Merging adjacent cluster is done within ClusterRefCollection.
Definition at line 30 of file mlIdenticalIntensitiesClusterAlgorithm.h.
|
inline |
Definition at line 33 of file mlIdenticalIntensitiesClusterAlgorithm.h.
|
inlinestatic |
Get the typed voxel value for current position.
Definition at line 38 of file mlIdenticalIntensitiesClusterAlgorithm.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 43 of file mlIdenticalIntensitiesClusterAlgorithm.h.
|
inline |
Tolerance calculation for scalar images.
Here the test is for equality (zero tolerance). Needed by template function updateClusterRefForNeighbor in base class.
Definition at line 50 of file mlIdenticalIntensitiesClusterAlgorithm.h.
References mlrange_cast().