[Insight-users] Variable clusters

Mark Bouts mark at invivonmr.uu.nl
Wed Oct 24 22:43:35 EDT 2007


Hi,

I'm currently working on a clustering problem for data I'm currently 
working on. Right now I'm using the KdTreeBasedKMeansEstimator which seems 
to work fine. However I do not want to prespecify te number of cluster I 
want to use. I want the method to be unbiased. Now I've tried the 
ImageKmeansModelEstimator which has a way of splitting the clusters to 
obtain an 'optimal' result, however the prespecified number of clusters 
seems to be optimal which is not the case since some clusters aren't used 
in the classification.

I've set the OffsetAdd and OffSetMultiply options.

I currently the following options:

        typedef itk::Statistics::DistanceToCentroidMembershipFunction<
        typedef
        itk::ImageKmeansModelEstimator<ImageType,MembershipFunctionType>
        ImageKMeansEstimatorType;

        ImageKMeansEstimatorType::Pointer IKME =
        ImageKMeansEstimatorType::New();


        IKME->SetInputImage(initImage);
        IKME->SetOffsetAdd(0.01);
        IKME->SetOffsetMultiply(0.01);
        IKME->SetNumberOfModels(clusters);
        IKME->Update();

        std::cout<<"Split attempts: 
"<<IKME->GetMaxSplitAttempts()<<std::endl;
        vnl_matrix<double> codebook = IKME->GetKmeansResults();

>From this I use a mahalanobis membership function to classify to the 
datapoints in the image.

The algorithm estimates the 'codebook' entries, but doesn't seem to be 
able to find the optimal number of clusters. Additionally I don't want to 
prespecify te number of clusters.

Anyone some suggestions?

Additionally am I using te MRFFilter to finetune the result, except in 
this case the result gets far to smooth. I've tried to 
adjust the smoothing filter to a value far below the suggested 1.5 (ie 
0.3) and the result is exactly the seem when using 1.5. The smoothing 
factor is no integer value is it? Adjusting the neighborhood weights seems 
to have little improvement. Are there other options I should or could try?


Thanks!

Mark


More information about the Insight-users mailing list