| 
    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().