MeVisLab Toolbox Reference
|
Implementation of a clustering algorithm for vector data types. More...
#include <mlSimilarVectorDirectionsClusterAlgorithm.h>
Public Types | |
typedef ClusterAlgorithm< constvoid *, SimilarVectorDirectionsClusterAlgorithm >::ClusterVoxelType | SimilarVectorDirectionsClusterVoxelType |
Voxel type to be used for the VectorClusterAlgorithm. | |
Public Types inherited from ml::ClusterAlgorithm< const void *, SimilarVectorDirectionsClusterAlgorithm > | |
typedef const void * | ClusterVoxelType |
The used type of the voxels, needed by derived classes. | |
Static Public Member Functions | |
static ML_FORCE_INLINE SimilarVectorDirectionsClusterVoxelType | getVoxel (void *position) |
Get the typed voxel value for current position. | |
static ML_FORCE_INLINE MLdouble | getVoxelAsDouble (void *) |
static ML_FORCE_INLINE const void * | convertBackgroundValue (MLdouble) |
Additional Inherited Members | |
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< const void *, SimilarVectorDirectionsClusterAlgorithm > | |
MLuint | updateClusterRefForNeighbor (void *neighborVoxelPtr, MLint x, MLint y, MLint z, const void * 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< const void *, SimilarVectorDirectionsClusterAlgorithm > | |
static const void * | 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 for vector data types.
It uses internally two data structures. One (class ClusterRefVolume) holds references for every image voxel to a field of cluster informations (here ClusterRefCollection). For every image voxel will be checked whether the difference between the directions of neighboring vectors is within a similarity tolerance. Merging adjacent cluster is done within ClusterRefCollection.
Definition at line 30 of file mlSimilarVectorDirectionsClusterAlgorithm.h.
typedef ClusterAlgorithm<constvoid*,SimilarVectorDirectionsClusterAlgorithm>::ClusterVoxelType ml::SimilarVectorDirectionsClusterAlgorithm::SimilarVectorDirectionsClusterVoxelType |
Voxel type to be used for the VectorClusterAlgorithm.
Definition at line 35 of file mlSimilarVectorDirectionsClusterAlgorithm.h.
|
inline |
Constructor.
Definition at line 38 of file mlSimilarVectorDirectionsClusterAlgorithm.h.
|
inline |
Calculates the dot product of two n-dimensional vectors.
Definition at line 74 of file mlSimilarVectorDirectionsClusterAlgorithm.h.
References mlrange_cast().
|
inlinestatic |
Definition at line 109 of file mlSimilarVectorDirectionsClusterAlgorithm.h.
|
inlinestatic |
Get the typed voxel value for current position.
Definition at line 63 of file mlSimilarVectorDirectionsClusterAlgorithm.h.
|
inlinestatic |
Definition at line 68 of file mlSimilarVectorDirectionsClusterAlgorithm.h.
|
inline |
Tolerance calculation for vector images.
Needed by template function updateClusterRefForNeighbor in base class.
Definition at line 102 of file mlSimilarVectorDirectionsClusterAlgorithm.h.
References mlrange_cast().
|
inline |
Definition at line 43 of file mlSimilarVectorDirectionsClusterAlgorithm.h.
References ML_BAD_DATA_TYPE, ML_RESULT_OK, and mlrange_cast().