[Insight-developers] ITK Procedure for Contributing New Classes and Algorithms : Wiki Page

Luis Ibanez luis.ibanez at kitware.com
Thu Dec 8 07:50:55 EST 2005



Hi Gaetan,


Thanks for your detailed comments about the Insight Journal process.


Let me answer them in this mail and also add them to the Wiki page.


1) The data that one author contributes to the Journal
    as input or output to his paper, becomes publicly
    available under the Creative Commons Attribution License.

       http://creativecommons.org/licenses/by/2.5/

    which means that the author keeps the copyrights but
    grants permission to anybody to use her/his data.

    Therefore, you are free to use such data for any purpose,
    including of course, to use it for your own papers, regardless
    of whether you submit them to the Insight Journal or not.

    Notice that this is a very important point, since as people
    in the Medical Image community, wake up from the illusion of
    the "Vanity Journals", they will realize that the only decent
    way of comparing algorithms is to run them on the *SAME* data,
    and that all those claims of "my algorithm is better than yours"
    are bogus, pedantic and meaningless.

    Curiously, the fact that common data is fundamental for algorithm
    comparison, has been understood a long time ago in sister fields
    such as image compression and image enhancement, where a set of
    images have been adopted as the *de facto* standard for comparing
    the performance of algorithms.




2) What is the maximum size of the Data ?

    Below 10 MegaBytes, we will not ask any questions.

    Once your data gets to 50 or 100 MegaBytes we will want to make
    sure that it has strong potential for reuse by other members
    of the community, or that it is exceptional data.

    In other words, this is a soft limit in the sense that the IJ
    will be willing to host large data sets as long as they are
    valuable.

    When we get to the GigaByte range, then we can make other
    arrangement. For example, there is a coallition group in Germany
    that has kindly offered to host data for the Insight Journal in
    their medical image database.



3) There should be somewhere something to tell him how it can
    be done in ITK.

    Good Point !, I'll will add this to the todo list.

     It is so important, that we should actually open an issue
     on a subject such as:

          * How to evaluate algorithm performance:

              a) computing time
              b) memory consumption
              c) user dependance
              d) correctness of results



4) Propose a "Paper Template" or boiler plate.

    Another good point, this has been requested already, and we
    are working on it.

    It will include an "example paper", along with Latex style,
    the MS-Word version, example data, example source code and
    example CMakeLists.txt file.




5) ImageCompare should be available.

    You are right.

    We should include it in Insight/Examples
    and also in the "Paper Template" of number (4) above.



6) You should give to the user what will be checked in his code.

    Good point, we should add this.

    Note that the requirements are different for papers that
    contribute a new ITK Filter and for paper that use existing
    ITK filters.

    Your point is very important because it will make very
    straight forward to bring new code into the toolkit.




7) Advice on profiling should be added.


    Agreed.

    This points again to the option of having an issue
    just on how to do performance evaluation.




8) The current LaTeX template is too small for posting code.

    You are right.

    This was the LNCS Style from Springer. We use it initially
    because it look like a good idea for MICCAI 2005.

    However, this format was designed to fit in the paper size
    of the Lecture Notes in Computer Science which is almost
    half a letter paper size.

    We will replace this LaTeX style with a variation of what
    we use for the ITK Software Guide. It will include hyperlinks
    and the macros that allow you to point to the Doxygen documentation
    of ITK filters.




Thansk a lot for posting your improvements to the Template,
that's a great contribution. We will take as much as we can
from them.




    Best Regards,



       Luis



-----------------------
Gaetan Lehmann wrote:
> Hi Luis,
> 
> It's a good thing to clarify the contribution process.
> 
> The following comments are mainly from my recent small contributions, and from 
> the upcoming bigger ones 
> 
> It would be nice to have some more information:
> + will the data be included in ITK tests, can it be reused by anybody, etc
> + what is the maximum size of the data
> + the contributor should do performance measures (for algorithm enhancement), 
> so there should be somewhere something to tell him how it can be done in ITK
> + there should be a page were we can find all intentions to produce some code 
> to have an idea of what will be done and avoid coding twice the same things
> Something like http://caddlab.rad.unc.edu/itkProjects/ would be great
> + you should propose some sections for the paper to guide the beginners
> + add a link to ImageCompare (the best solution would be to install it with 
> ITK IMHO)
> + you should give to the user what will be checked in his code, or the things 
> he should take care about, so he can know if what he have done is nice or 
> not. For example:
>  - a filter should update its progress
>  - the code should respect the ITK coding policy
>  - a filter should not segfault with default parameters or non initialized 
> input (I think there is some work to do about that in ITK) but rather send an 
> exception
>  - the test should give a good code coverage (it's already in the text, but 
> not how to get the coverage)
>  - the doc should work with doxygen
>  - ...
> + you should advice the contributor to profile its code
>   
> For the paper, the latex template proposed is too small to easily post c++ 
> code, especially with ITK which have very long names. 
> 
> I have modified the template to make more easier small submissions, like the 
> ones I have done some days ago: it allow to quickly create a submission with 
> the code, the test and the paper, and the changes are not a problem for 
> bigger submissions. I have also included a template c++ file (check.cxx) to 
> test a new filter. It also build the pdf file while building the tar.gz 
> archive, but that's only for darcs users :-)
> http://voxel.jouy.inra.fr/darcs/contrib-itk/template/
> Feel free to take what you may find nice
> 
> Hope it helps
> 
> Gaetan
> 
> On Friday 02 December 2005 18:05, Luis Ibanez wrote:
> 
>>Here is a better link to the Wiki Page:
>>
>>http://www.itk.org/Wiki/ITK_Procedure_for_Contributing_New_Classes_and_Algo
>>rithms
>>
>>
>>Please note that this is a first draft,
>>so any feedback is welcome.
>>
>>
>>   Thanks
>>
>>
>>      Luis
>>
>>
>>
>>_______________________________________________
>>Insight-developers mailing list
>>Insight-developers at itk.org
>>http://www.itk.org/mailman/listinfo/insight-developers
>>
>>
>>------------------------------------------------------------------------
>>
>>_______________________________________________
>>Insight-developers mailing list
>>Insight-developers at itk.org
>>http://www.itk.org/mailman/listinfo/insight-developers



More information about the Insight-developers mailing list