[Insight-users] problems running and incoherent documentation in Chan-Vese segmentation examples

Juan Cardelino juan.cardelino at gmail.com
Tue May 10 11:43:19 EDT 2011


Hello Dan,

Thanks for the answer. I found out the explanation for some of the
'strange' behaviours I was experimenting, some of them where based on
my assumptions of whats reasonable and whats not.  For instance, I
assumed the following: if you put a 'big' number of iterations (100)
on a level set algorithm the curve could be driven away from its
target, but shouldn't became unstable.
Having reviewed these assumptions, and having made many more detailed
examples I found out most of the problems. Anyway, I still think that
the learning curve is still steep even for an experienced user, and
I'm trying to think a way to avoid getting frustrated again and again.
I apologize for my whinning, some of the problems were exclusively my
fault, but others still remain.

Regarding the documentation, the IJ submission source (tex files, etc)
is only modifiable by the authors? or could it be modified by anyone?
I will take a look into the procedure to contribute new clases.

Whats the policiy for examples? Will they be inside the ITK source
tree or in the wiki and the correspoding gitorious link? I think that
duplication should be avoided.
Will it make sense to have all things related to examples together?
i.e. a wiki page with a description, links to download the code and
input data, and sample results. That has some intersection with the
current state, particularly with the IJ submission. Maybe it will be
enough to update the IJ submission with links to the code.

Is there any reason why the SoftwareGuide is not updated? Has it
something to do with the books being sold?

Thank you very much for your time, I really appreciate.
Best regards,
                  Juan

On Tue, May 10, 2011 at 12:10 PM, Dan Mueller <dan.muel at gmail.com> wrote:
> Hi Juan,
>
>> *once a piece of code finds its way into ITK, what happens to the IJ
>> submission? Ideally it should go into the SoftwareGuide, but it also
>> seems hard to find a recent version of it (I even tried to get it from
>> the Insight Documents in CVS). Is there a place to contribute this
>> kind of documentation?
>
> The code contribution procedure is documented here:
>    http://www.itk.org/Wiki/ITK_Procedure_for_Contributing_New_Classes_and_Algorithms
>
> The procedure says that while the code is in the review folder/module,
> the IJ article remains the master location for documentation (see step
> 13), not the SoftwareGuide as you suppose. Whenever ITK review code is
> changed, ideally the IJ article should be updated, but I too have
> experienced this does not always happen. In fact, being the author of
> a few IJ articles, I confess I am sometimes the cause of this
> situation!
>
> Some advice:
> * You can use the follow link to see if an article has been moved to
> ITK: http://www.insight-journal.org/publication/status
> * Contact the authors (either directly or via the IJ review/comment
> process). The IJ review/comment process is probably the preferred
> option, because then other users can see the issues you've
> experienced. I don't like having negative reviews on my articles, so I
> tend to address these :D
>
> I'm sure the Insight Journal editorial/management team will have
> further comments.
>
> Hopefully someone else on the list can comment regarding your specific
> questions/issues with the Chan-Vese level set filters.
>
> HTH
>
> Cheers, Dan
>
> On 10 May 2011 14:14, Juan Cardelino <juan.cardelino at gmail.com> wrote:
>> =Introduction=
>>
>> As much as I love open source and ITK in particular, this is the third
>> time I try to use contributed code to ITK and fail or invest a huge
>> amount of time understanding how to make it work.
>> I won't just criticize, but also offer my two cents. I'm willing to
>> help improving the documentation and the examples. I did this once
>> before without much echo from the community so this will be my last
>> try.
>>
>> While I find the examples in the software guide nice and realistic,
>> sometimes they are too complex for a person trying to understand an
>> algorithm. Even if you deeply understand them (as in my case) case,
>> sometimes a very simple example helps you grasp the basics. In
>> addition, in simpler cases is clear what is a good result or not (for
>> instance in segmentation) while in a realistic case, a good result is
>> an elusive concept.
>>
>> This time my problem is with the Chan-Vese level set filters. The
>> information I could find was the following:
>> *Insight journal:
>> **nice presentation and examples, but outdated code. This is
>> important, because the Insight journal code is the first hit you get
>> and you tend to download this. Just after you struggle with it you
>> realize that it won't work and look in the mailing lists. Then you
>> find out that there are examples buried in the Review folder. My
>> suggestion: remove all traces of code from IJ.
>> **In addition, within the papers there are examples of use that had
>> became obsoleted: names of methods and attributed have changed.
>> *Doxygen: the doxygen documentation is not complete for the main
>> clases involved, it is hard to find out what does each of the many
>> parameters of the algorithm exactly does. You have to deduce them from
>> the IJ submission (when available) and then translate them into the
>> actual names.
>> *ITK git code: there are two examples in the code:
>> **they only test the single phase scalar case in the dense and sparse versions
>> **they don't have any example usage (yes, again you can deduce this from IJ)
>> **they don't have any accompanying images.
>> *Kitware wiki:
>> **After struggling with the examples in the review folder (which
>> changed in last git update of the ITK source) I found out that in the
>> ITK wiki there were 3 examples of the Chan-Vese algorithm. Two were
>> the single phase spare and dense examples that used to be in the ITK
>> source tree and the other was the multiphase case (again, no images).
>>
>> I'm not a newbie in ITK and I still find hard to grasp information
>> from 5 or more different sources which could also be potentially
>> contradictory.
>>
>> I hope I'm doing something wrong and someone can point out where my
>> problems are. But I spent a lot of time and careful experimentation in
>> this, so I think there is something wrong.
>>
>> I've summarized my whole experience at my wiki:
>> http://iie.fing.edu.uy/rs/wiki/ContributedCode:ITKChanVese, I hope
>> someone takes the time to read it. There, I will contribute a couple
>> of  simple examples just to say how I think they could be presented.
>> In addition, I'm posting comments on the existing examples. Finally, I
>> have an easy question:
>> *once a piece of code finds its way into ITK, what happens to the IJ
>> submission? Ideally it should go into the SoftwareGuide, but it also
>> seems hard to find a recent version of it (I even tried to get it from
>> the Insight Documents in CVS). Is there a place to contribute this
>> kind of documentation?
>>
>> Thanks in advance.
>> _____________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Kitware offers ITK Training Courses, for more information visit:
>> http://www.kitware.com/products/protraining.html
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-users
>>
>


More information about the Insight-users mailing list