[Insight-developers] code production line & registration refactoring

Luis Ibanez luis.ibanez at kitware.com
Wed Sep 1 19:08:15 EDT 2010


Hi Brian,

Apologies for the delay in addressing your question.

We are all together figuring out how this process will
work best. So, here are my comments, but hopefully
they will be complemented by others.


      Luis

--------------------------------------
On Fri, Aug 27, 2010 at 10:54 AM, brian avants <stnava at gmail.com> wrote:

> just a quick email to see that i understand the dev process
> that we might want to use for registration refactoring:
>
> 1.  check out the current development version of itk
>
>
Yes, follow the Git clone instructions from:
http://www.itk.org/Wiki/ITK/Git#Cloning

and you may also want to create a fork of ITK in Github,
http://github.com/Kitware/ITK
so you have an easy way of publishing your changes to
collaborate with other developers.

For instructions about how to create your account in
github, please see: https://github.com/signup/free




> 2.  create a topic branch , e.g. registration
>
>
Yes.
for instructions on branching, please see
http://progit.org/book/ch3-1.html


> 3.  develop unit tests using the google unit test style ?
>
>
We haven't settle on this yet.
You may want to write test using the current test harness,
but addressing some of these concerns:

1) Aim for 100% code coverage
2) Include regression testing and
3) Verification of correctness for the tests outputs


> 4.  write some code --- local commits etc --- make sure tests pass.
>
>
Yes, yes, yes,
and note that you can then publish those commits to
your public github, if you want to have collaborators
try them and review them.



> 5.  uncrustify , kwstyle , review the code , document , etc.
>
>
Yes to all


> 6.  push to the git topic branch --- or is this where gerrit comes in?
>
>
I'm not sure on this one.
My understanding is that we are promoting that
you will first push to the topic branch,
and only went you are ready to integrate those
commits into the main ITK, then you will push
the commits to Gerrit, where other developers
will review the code.



> is this correct?  i need to be able to communicate a cohesive dev
> procedure to the rest of the development team here and i'm having a
> hard time finding a single doc that covers the whole system ....
>
>
It is great that you asked,
because we all have to converge to a
development process that is both agile
and conducive to high quality code.



> re: registration refactoring --- see the proposed plan in the shared
> google docs :
>
> ITKv4 =>  v4 Proposals
>
> we are currently working on refactoring the linear registration metric
> classes
> such that the transformation of the object (e.g. image) is separated from
> the
> metric computation.    this just means that transformation of the
> object happens
> outside of the metric ( currently, transformation of the objects happens
> inside
> the metrics ).    there are a number of simplifications that this
> strategy will allow ,
> including enabling a generalized (e.g. sparse) sampling strategy for
> all the metrics,
> symmetric / robust registration ( e.g.
> http://reuter.mit.edu/index.php/publications/ ) , masked registration
> and it can probably be implemented in a backwards compatible way ...
>
> discussing this has been a tcon topic for some time but we havent
> gotten to it probably
> because there have been so many other lower level bases to cover.
>
>
I would suggest that you coordinate the work
in the following Wiki page:
http://www.itk.org/Wiki/ITK_Release_4/Enhancing_Image_Registration_Framework



> would be happy to schedule a specific tcon time or a separate conf
> call if people are
> interested.
>


Absolutely,

For all the other topics, developers have been doing
breakout session tcons.  Let's schedule one (or even
a weekly regular) tcon  for this topic.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/mailman/private/insight-developers/attachments/20100901/34b4a63f/attachment.htm>


More information about the Insight-developers mailing list