[Insight-users] multi-modality with FEM or with Demons ? : BSplineTransform
Luis Ibanez
luis.ibanez@kitware.com
Thu May 13 15:05:26 EDT 2004
Hi Hari,
Please check the content of the MetaImage header to
see if the deformable registration program is actually
writing 3 components per pixel.
Note that in Paraview you have to make sure that the
Glyph filter, on its Orient/Scale frame has the
Orientation option is set to "Vector".
--
Multi-res will imply to subsample your original image.
The evaluations of the metric are still done over *all*
the pixels of the original image. The BSpline transform
is used here as any other basic transform.
Please read the Chapter on image registration in the
SoftwareGuide, There is a full section on how to setup
the Multi-Resolution framwork.
Regards,
Luis
---------------------
Hari Sundar wrote:
> Hi Luis,
>
> I ran it for 50 iterations. It did not converge, but should have
> reached somewhere. I'll try and run it till convergence anyway. I
> visualized the resulting deformation field in paraview and all the
> vectors seem to be parallel to the XY plane. That's why I am saying
> that there is no Z component.
>
> Multi res in this case would be the number of nodes in the bSpline
> grid, right ? But then even the 5x5x5 grid seems to take forever. How
> do I structure the multi-res approach ?
>
> thanks,
> -Hari
>
> On Thu, 13 May 2004 00:04:19 -0400, Luis Ibanez <luis.ibanez@kitware.com> wrote:
>
>>
>>Hi Hari,
>>
>>A) Then only change that you have to make in
>>
>> Insight/Examples/Registration
>> DeformableRegistration4.cxx
>>
>> in order to make it run in 3D, is to change
>> line 125 from
>>
>> const unsigned int ImageDimension = 2;
>>
>> to
>>
>> const unsigned int ImageDimension = 3;
>>
>>B) What makes you suspect that there
>> is no Z component in your results ?
>>
>>C) Did you let it run until convergence ?
>> a couple of iteration certainly will not
>> be enough for solving the displacements.
>>
>> It takes hundreds of iterations to solve
>> a simple ridig body registration problem.
>>
>> You will need more than that in order to
>> solve for a parametric space with a high
>> dimension as is the case of the BSpline
>> transform.
>>
>>If you really plan to do this in 3D, you must
>>consider using Multi-Resolution.
>>
>> Regards,
>>
>> Luis
>>
>>-------------------
>>Hari Sundar wrote:
>>
>>
>>>Thanks Luis,
>>>
>>>Yes it is slow, but seems to work, at least kind of ...
>>>
>>>I have 2 problems ....
>>>
>>>1. The deformations do not seem to have a Z component. Am I doing
>>>something wrong ? What all changes are required to make the code work
>>>for 3D ?
>>>
>>>2. The deformations in certain parts seem to be smaller than what
>>>would be expected. Is this just a matter of the number of iterations
>>>or do I have to do something different ?
>>>
>>>thanks,
>>>-Hari
>>>
>>>On Tue, 11 May 2004 16:05:08 -0400, Luis Ibanez <luis.ibanez@kitware.com> wrote:
>>>
>>>
>>>>Hi Hari,
>>>>
>>>>Deformable registration is a highly time-consuming task.
>>>>
>>>>Just to give you an idea of performance here is a
>>>>typical configuration for a 3D registration problem:
>>>>
>>>>Registering two brainweb images of size
>>>>
>>>> 181 x 217 x 181 pixels,
>>>>
>>>>Using a BSpline grid of size 5 x 5 x 5, requires to
>>>>optimize 625 parameters. That is, the x,y,z coordinates
>>>>of the 125 nodes in the BSpline grid.
>>>>
>>>>Running a gradient descent optimizer in a parametric
>>>>space of dimension 625 is certainly not going to be
>>>>fast... :-/
>>>>
>>>>One iteration of the registration framework using
>>>>this configuration takes
>>>>
>>>> 3 minutes 32 seconds
>>>>
>>>>with a Pentium 4 at 2.4 Ghz, This is for the program
>>>>DeformableRegistration4.cxx modified for 3D, compiled
>>>>for release (-O3) with gcc 3.3 under Debian Linux.
>>>>
>>>>As you can see from this example, it is certainly quite
>>>>interesting to perform this task on a Parallel Cluster
>>>>rather than a single PC :-)
>>>>
>>>>Of course an alternative is to run the deformable
>>>>registration in a Multi-Resolution framework.
>>>>
>>>>Regards,
>>>>
>>>> Luis
>>>>
>>>>-----------------
>>>>
>>>>Hari Sundar wrote:
>>>>
>>>>
>>>>
>>>>>Hi Luis,
>>>>>
>>>>>I am trying to use the bSpline Transform based deformable registration
>>>>>in 3D. It seems to take a long time and is not getting anywhere.
>>>>>Basically what happens is that it prints out the initial parameters
>>>>>(all zeros) and then says "Starting Registration" .. however it does
>>>>>not proceed ... I mean shouldn't the observer at least report the
>>>>>iteration number ?
>>>>>
>>>>>Any estimates on how long it is supposed to take when working in 3D ..
>>>>>say trying to register 2 256^3 images.
>>>>>
>>>>>thanks,
>>>>>-Hari
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>Hi Eduard,
>>>>>>
>>>>>>An example on how to perform deformable registration
>>>>>>using the BSpline transform has been added under
>>>>>>
>>>>>> Insight/Examples/Registration/
>>>>>> DeformableRegistration4.cxx
>>>>>>
>>>>>>You may have to update your CVS checkout in order to
>>>>>>get this example.
>>>>>>
>>>>>>Regards,
>>>>>>
>>>>>> Luis
>>>>>>
>>>>>>---------------------------
>>>>>>Eduard Schreibmann wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>Hi Luis,
>>>>>>>
>>>>>>>As you suggested in your previous e-mail, the Demons did not work so nice
>>>>>>>for the images I have, FEM needs more cofee and patience, so thinking of
>>>>>>>following your second advice on using BSpline.
>>>>>>>
>>>>>>>Have problems understanding the code and how it works, mainly I can not
>>>>>>>understand how BSplineDeformableTransform (or it's coeficients ?) are
>>>>>>>connected to an optimizer. Yes, users still ask such dull questions.
>>>>>>>
>>>>>>>Is there any simple BSline example/demo available somewhere ? Some code in
>>>>>>>testing section is even more confusing for beginers.
>>>>>>>
>>>>>>>Thank you in advance,
>>>>>>>Edi
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>Hi Edi,
>>>>>>>>Along those lines of reasoning, you may want to look
>>>>>>>>at the BSpline transform for managing deformable
>>>>>>>>registration. In this method, a BSpline is used to
>>>>>>>>interpolate deformations over a coarse grid overlapped
>>>>>>>>on top of the image. you control the deformation by
>>>>>>>>initializing the nodes of the grid.
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>Regards,
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Luis
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>---------------------------
>>>>>>>>Schreibmann Eduard wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>Hello everybody,
>>>>>>>>>
>>>>>>>>>Question 1 :
>>>>>>>>>I want to use FEM to register some CT and MRI images,
>>>>>>>>>using the DeformableRegistration1.exe. With the
>>>>>>>>>demo images, it works great but...
>>>>>>>>>
>>>>>>>>>When using some CT and MRI images that came with ITK (
>>>>>>>>>BrainT1Slice and BrainProtonDensitySlice.png ), and
>>>>>>>>>with setting the metric to 3 (MI) in the configuration
>>>>>>>>>file, the application finishes after 2-3 iterations
>>>>>>>>>without doing something visible to the input image.
>>>>>>>>>Basically, the only thing changed in the parameter
>>>>>>>>>file was file names and metric type.
>>>>>>>>>
>>>>>>>>>What parameters control this behavior ?
>>>>>>>>>What settings are appropriate for this job ?
>>>>>>>>>
>>>>>>>>>Question 2: Is it true that demons can not be used for
>>>>>>>>>multi-modality registration ?
>>>>>>>>>
>>>>>>>>>Question 3: The "viscous fluid landmark" registration
>>>>>>>>>has anything to do with demons or FEM ?
>>>>>>>>>
>>>>>>>>>Thank you in advance,
>>>>>>>>>
>>>>>>>>>A nice day,
>>>>>>>>>Edi
>>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>_______________________________________________
>>>>>>Insight-users mailing list
>>>>>>Insight-users@itk.org
>>>>>>http://www.itk.org/mailman/listinfo/insight-users
>>>>>>
>>>>>
>>>>>_______________________________________________
>>>>>Insight-users mailing list
>>>>>Insight-users@itk.org
>>>>>http://www.itk.org/mailman/listinfo/insight-users
>>>>>
>>>>
>>>>
>>
>
More information about the Insight-users
mailing list