[Insight-users] Questions about VectorFuzzyConnectednessImageFilter

Cristina Casella cristina.casella at softeco.it
Mon Mar 14 10:49:42 EST 2005


Hello fellow insight-ers,

I have some questions about "VectorFuzzyConnectednessImageFilter", a segmentation filter based on principles of Fuzzy Connectedness.
I used  "SimpleFuzzyConnectednessScalarImageFilter " to segment MRA images with good results and now I wanted to experiment VectorFuzzyConnectednessImageFilter, because it uses the important concept of Relative Fuzzy Connectedness. In my implementation, the algorithm runs but the result is a black image.
 I apologize for repeating some questions present in Insight User Archives  but ,according to me, previous mails about Vector Fuzzy Filter didn't receive a clear answer.

-Question 1:
The name VectorFuzzy derives from the fact that this filter seems to require a Vector Image . Why is it not as the other filters, where is not important if the Input Image is a Scalar Image or a Vector Image?
Zhuge (zhuge at mipg.upenn.edu ) said in a previous e-mail (April 2004) that "the scalar is a special case of vector image and you don't need do any convertion".  Ok, but some important methods, such as  SetObjectsMean  or SetObjectsMatrix require  DoubleVectorType or DoubleMatrixType: so obviously, this methods dont't accept scalar values.
 To solve the Compile's Errors, I convert my Input Scalar Image (greylevel) to Vector Image thanks to itk::ScalarToArrayCastImageFilter. How is it possible to avoid the cast filter?

-Question 2:
 Doxygen Documentation says that "user needs to input some parameters", one of them is SetSelectedObject () but SetSelectedObject ()  doen't exist  not only in Doxygen Documentation but also in the source code "VectorFuzzyConnectednessImageFilter.h". In my opinion, it could be a fondamental method to   obtain the  segmentation of one of the objects present in the scene.

-Question 3:
 If we suppose to not use SetSelectedObject() what is the output of this filter ? Which are the methods to control the output values of Output Image? 
Now I try to explain better: if I have an image with 3 Object( OBJ1, OBJ2, OBJ3) , then  I put one seed for each object. I would want that in the Output Image, OBJ1 is labelled with the label 1 ,  OBJ2 is labelled with the label 2 e the OBJ3 ( that is, for example, the foreground) is labelled with the label 0! How can I do? For example, SimpleFuzzyConnectednessImageFilter has SetInsideValue (OutputPixelType) to control the output value of segmentation. 

-Question 4:
When could I call the method SetThreshold (float ) ? This method is clear in SimpleFuzzyConnectedness but not in VectorFuzzyConnectedness.


I sholuld be grateful if someone sends me explainations or examples with Scalar Image as Input Image of  "VectorFuzzyConnectednessImageFilter".
In particular I would appreciate an answer by Celina Imielinska or by Zhuge,  who probably know very well this algorithm.
Thanks,

Cristina
            
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/insight-users/attachments/20050314/1d3ab218/attachment.html


More information about the Insight-users mailing list