[Insight-users] time of non rigid registation.

Luis Ibanez luis.ibanez at kitware.com
Fri Jun 22 10:11:04 EDT 2007


Hi Tao,


     Unless you *fully* define the two experiments,
     there is no point in comparing the time of
     both algorithms.



A time comparison only makes sense if you fully specify the
two images, the entire set of parameters and the platform
in which you are running the programs.


Otherwise, you can simply make speculative claims, such as
algorithm "B" is faster than algorithm "A". Such statement
are only useful for publishing papers in *decadent* journals
and conferences.


For *serious technical work* you need to define a formal
framework in which a specific test is run and its timing
is controlled. The only *full* definition of a performance
comparison test is a package including:


    A) The input images

    B) The source code of the algorithm and the two tests

    C) The CMakeLists.txt file defining the tests the full
       set of input parameters for running the test and
       indicating the filenames of input images and output
       images.


When defined correctly, a third person should be able to
rerun the test by simply using "ctest" in the binary
directory.


The timing of the Bspline will depend on the type of metric
used, the parameters of that metric (e.g. number of samples
if MI, number of bins...), the parameters of the optimizer,
the quality of the initialization...., just to name a few.



Let's grow out of the typical simplistic "Conclusions" sections
encountered in the *Decadent Journals and Conferences* of our
community and start making some serious technical work.



You can start by modifying the examples in

              Insight/Examples/Registration

and setting up side by side two test that, with specific
parameters, can compare computational time of both test.




     One algorithm *CANNOT* be better than another algorithm.


     One algorithm *WITH* a specific set of parameter, *CAN* be
     better than another algorithm *WITH* a specific set of
     parameters for a *SPECIFIC* application.





    Regards,


       Luis


----------------------
Tao, Guozhi wrote:
> Hi, Luis:
> Thanks for your reply. Can you further tell  me your impression that the time for Demons' algorithm and Rohlfing's  B spline based registration (3 mm control knots) seperately  to register  256*256*128  volume. More specicely, I like to know the ratio of regstration time for those two algorithm.
>  
> Best wishes
> Guozhi 
> 
> ________________________________
> 
> From: Luis Ibanez [mailto:luis.ibanez at kitware.com]
> Sent: Thu 6/21/2007 6:01 PM
> To: Tao, Guozhi 
> Cc: Torsten Rohlfing; insight-users at itk.org
> Subject: Re: [Insight-users] time of non rigid registation.
> 
> 
> 
> 
> Hi Guozhi,
> 
> For that image size you should expect between 30min and 1hour.
> 
> Note, that the registration time depends on many factors,
> including, how much actual misalignment there is originally
> between the two images.
> 
> 
>    Regards,
> 
> 
>       Luis
> 
> 
> ---------------------
> Tao, Guozhi wrote:
> 
>>Hi:
>>Can sombody tell me how long the nonrigid registration algorithm in ITK need to register 256*256*128 volume on current pentium4 pc. I want to know the time consuming for Demons algorithm and BSplineDeformableTransform. Just roughtly estimation by your experience is fine.
>>best wishes
>>Guozhi Tao
>>
>>
>>________________________________
>>
>>From: insight-users-bounces+guozhi.tao=uth.tmc.edu at itk.org on behalf of Torsten Rohlfing
>>Sent: Thu 6/14/2007 11:15 AM
>>To: insight-users at itk.org
>>Subject: [Insight-users] a question about rigid + nonrigid registration
>>
>>
>>
>>
>>
>>>I am currently trying to register two volumes. One volume only contains part
>>>of the other, so I used the larger volume as fixed image and smaller volume
>>>as the moving image.  First, I performed a rigid
>>>registration(VersorRigid3DTransform) and then want to fine tune the
>>>rigistration by nonrigid method (BSplineDeformableTransform). However, I do
>>>not know how to initialize the  BSplineDeformableTransform using the
>>>existing rigid result (VersorRigid3DTransform). Maybe I can use resample
>>>filter to get a new moving image based on the rigid registration. But the
>>>resampled moving image has the size of the larger volume, so some voxels do
>>>not have resampled value and this will cause problems in further nonrigid
>>>registration. Hope I made my questions clear.
>>>
>>>Qing
>>>
>>
>>Hi --
>>
>>Indeed, resampling the moving image after affine and before nonrigid
>>registration is not a good idea, both for the reason you mentioned (loss
>>of field of view boundaries) and because interpolation artifacts can
>>build up from stage to stage.
>>
>>What you need to do is take your rigid transformation and set it as the
>>"Bulk Transform" in the B-spline transformation object. That's all.
>>Please consult the online documentation for the exact name of the member
>>function in BSplineDeformableTransform.
>>
>>Best,
>>  Torsten
>>
>>--
>>Torsten Rohlfing, PhD          SRI International, Neuroscience Program
>> Research Scientist             333 Ravenswood Ave, Menlo Park, CA 94025
>>  Phone: ++1 (650) 859-3379      Fax: ++1 (650) 859-2743
>>   torsten at synapse.sri.com        http://www.stanford.edu/~rohlfing/
>>
>>     "Though this be madness, yet there is a method in't"
>>
>>_______________________________________________
>>Insight-users mailing list
>>Insight-users at itk.org
>>http://www.itk.org/mailman/listinfo/insight-users
>>
>>
>>_______________________________________________
>>Insight-users mailing list
>>Insight-users at itk.org
>>http://www.itk.org/mailman/listinfo/insight-users
>>
> 
> 
> 
> 


More information about the Insight-users mailing list