[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