[Insight-developers] Q: current procedure for code contributions?

Luis Ibanez luis.ibanez at kitware.com
Sat Oct 15 20:36:50 EDT 2005


Hi Torsten,

The current procedure for contributing new classes and
algorithms to ITK is to submit them to the Insight Journal:

  http://www.insightsoftwareconsortium.org/InsightJournal/

Your submission should include a PDF file with the description
of the contribution, its motivation, rationale, and guidance
on how to use it. It should also include the source code of
your algorithms/classes, as wells as test code, input images
and parameters needed for the test, and the output images that
you get when running such test.

The test should cover all the features that you describe in
the paper. In other word, the images in your paper should be
the same input images and the same output images that you
post along with the code. The goal is that the reader of
the paper must be able to replicate the demonstration that
is presented in the paper.

When the Journal receives your submission it will move your
code and input images to a testing machine that will compile
and run your test. It will generate output images and compare
them to the output images that you provide.  If the images are
equal (up to a tolerance level), then your paper is posted online.

All the process up to this point is automatic. So you should see
your paper online in a matter of hours.

 From that point on, the path is not deterministic, since your
paper is now exposed to receive public reviews. You will receive
email each time that a review is posted for your paper. You are
encouraged to reply to the reviewers also in a public way. The
dialog gets exposed along with the paper, so other reader can
benefit and contribute to the discussion.

If your find that the reviews merit that you make changes in
your code and/or your paper, you can submit a second revision
of your paper (and do it over and over again, there is no limit
to the number of revisions that you can submit). Each new revision
will be tested again for reproducibility.


As part of the process of cutting every quarterly release of ITK,
we will go through the postings on the Insight Journal and will
select the ones that have been throughly reviewed and those that
have received the best responses from the community.

This process will be done between 60 and 30 days before the release
date. For example, for the upcoming release ITK 2.4 that is scheduled
for November 30 2005, the time for including new classes is from
October 15th to November 12th.

The process of moving source code from the Insight Journal to
the ITK CVS repository will be done by those ITK developers
who are in charge of the release process. This cannot be automated
because it requires to evaluate on a case-by-case basis the best
way of reusing existing ITK components, and the way of generalizing
the current contribution so that variations of the algorithms could
be contributed by future users.


Note also that the PDF paper that you post is not supposed to be
the "vanity-paper" that most Journals require. Since reviewers will
have direct access to your source code, images and parameters,
you don't need to waste time and space trying to convince them
that your algorithm works. Instead you can focus on providing
guidance for making easier for reviewers and readers to give a
try to your code. The paper should be written more as a technical
report addressed to somebody that is going to verify that your
work is reproducible.


The three most fundamental principles of the
Insight Journal are:


                  1)  REPRODUCIBILITY
                  2)  REPRODUCIBILITY
                  3)  REPRODUCIBILITY




Please let us know if you still have any questions.


We look forward to receive your
contributions to the Insight Journal.



     Thanks


        Luis




-------------------------
Torsten Rohlfing wrote:
> 
> Hi --
> 
> My apologies if this is a stupid question, but I am a little confused. I 
> was wondering what the current procedure is for code contributions to 
> ITK? I am mostly asking about entirely new classes, not mere bug fixes 
> and patches to existing code.
> 
> I am still sitting on a pile of code, among them an algorithm for simple 
> DTI fiber tracking and an implementation of the multi-class STAPLE 
> algorithm. For now, I have put them up for download at 
> http://www.stanford.edu/~rohlfing/software/index.html, but it would be 
> quite nice if I could get rid of these sometimes.
> 
> Last time I tried to send some code (the fiber tracking classes), I 
> remember being referred to the Insight Journal. Having checked there, I 
> can't say it is clear to me how things sent to the journal would make it 
> into ITK in a predictable way. From what I recall, there seemed to be a 
> suggestion of an automated system to incorporate code submissions to the 
> journal into the ITK code base, but I can't seem to find any mention of 
> such a system on the journal web site. The longer I think about it, the 
> more I doubt such a system would work robustly in the first place, so 
> maybe I got something wrong there?
> 
> Thanks for any clarification anyone could provide.
> 
> Best,
>  Torsten
> 



More information about the Insight-developers mailing list