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. | |
![]() | |
ClusterAlgorithm (const ComputeClusterParameters ¶meters, Clusters *clusters) | |
Constructor to be used. | |
MLErrorCode | runClustering () |
MLErrorCode | processSlice (MLint zi, const ImageVector &inputImageExtent, TSubImage< MLint8 > &inMaskSlice) |
![]() | |
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 | |
![]() | |
typedef DATATYPE | ClusterVoxelType |
The used type of the voxels, needed by derived classes. | |
![]() | |
enum | { _NR_OF_SUBIMAGES = 2 } |
We do not load the whole image into memory, only keep two slices at once. More... | |
![]() | |
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. | |
![]() | |
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 DATATYPE | convertBackgroundValue (MLdouble backgroundValue) |
![]() | |
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().