MeVisLab Toolbox Reference
|
Implementation of a clustering algorithm for vector data types. More...
#include <mlSimilarVectorDirectionsClusterAlgorithm.h>
Public Types | |
typedef ClusterAlgorithm< const void *, SimilarVectorDirectionsClusterAlgorithm >::ClusterVoxelType | SimilarVectorDirectionsClusterVoxelType |
Voxel type to be used for the VectorClusterAlgorithm. More... | |
Public Types inherited from ml::ClusterAlgorithm< const void *, SimilarVectorDirectionsClusterAlgorithm > | |
typedef const void * | ClusterVoxelType |
The used type of the voxels, needed by derived classes. More... | |
Static Public Member Functions | |
static ML_FORCE_INLINE SimilarVectorDirectionsClusterVoxelType | getVoxel (void *position) |
Get the typed voxel value for current position. More... | |
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. More... | |
MLErrorCode | calcClustersForSlices () |
Template applying cluster calculations for one slice. More... | |
Protected Member Functions inherited from ml::ClusterAlgorithmBase | |
void | setInSliceVoxelType (MLDataType dt) |
Sets voxel type of input slices. More... | |
void | freeInSliceData () |
Releases memory of input image slices. More... | |
void | storeNextSlice (SubImage &slice) |
Sets next image data, expects the data to be managed by memory manager. More... | |
MLErrorCode | loadNextSlice (MLint sliceNr, const ImageVector &inImgExt) |
Gets next image data. More... | |
MLErrorCode | loadMaskSlice (TSubImage< MLint8 > &slice, MLint sliceNr, const ImageVector &inImgExt) const |
Gets current slice of the mask image. More... | |
MLuint | mergeClusterReference (MLint x, MLint y, MLint z, MLuint currClusterRef) |
Merges a cluster reference currClusterRef for position (x,y,z). More... | |
void | setResultFlag (bool result) |
Sets internal result flag to result. More... | |
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. More... | |
Clusters * | _clusters |
Result clusters. More... | |
SubImage | _currentSlices [_NR_OF_SUBIMAGES] |
do not load the whole image into memory, only keep two slices at once More... | |
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<const void*, 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.
|
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 ml::abs().
|
inline |
Definition at line 43 of file mlSimilarVectorDirectionsClusterAlgorithm.h.
References ML_BAD_DATA_TYPE, and ML_RESULT_OK.
Referenced by ml::TypedComputeClusters::process().