Adding New Kinematics basis

15 views
Skip to first unread message

witz...@gmail.com

unread,
May 3, 2012, 4:49:50 AM5/3/12
to Plastimatch
Hello,

I will have time this summer (no PhD student to lead ...), so I want
to see if I can develop some things.
Here is a list of the things I'm very interested in.

* 2D deformable registration,
* Finite element basis,
* Analytic deformation basis,
* Mechanics based regularization,
* Mask,
* Picard iteration algorithm.

Could you please tell me what seems possible in one month ?
I'm not particulary skilled in C++ but I have already developed in a C+
+ platform.

Best regards

Sharp, Gregory C.

unread,
May 4, 2012, 4:20:54 PM5/4/12
to plast...@googlegroups.com

Hi, This is quite a list! Some of these are easier than others.
Maybe it would be good to choose one of these to start with.

I will give you an overview of my thoughts:

- 2D deformable registration.

This will be a lot of work. It would be best to choose a single
algorithm to start; each algorithm would have to be done
separately. Requires some re-thinking of Volume class, which is
currently only 3-D.

- Finite element basis
- Mechanic based regularization

Use an existing solver, or write from scratch? Might be easier to
write solver from scratch. And how to create mesh? Are there
existing meshing software which could be used?

- Analytic deformation basis

I'm not sure I understand. Which analytic basis?

- Mask

I think Tony has already has masks working for B-spline.
Each algorithm needs to add this independently.

- Picard iteration

I'm not familiar with this. Could you explain?

Greg
The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.

witz...@gmail.com

unread,
May 5, 2012, 4:28:00 AM5/5/12
to Plastimatch
> - 2D deformable registration.
>
> This will be a lot of work.  It would be best to choose a single
> algorithm to start; each algorithm would have to be done
> separately.  Requires some re-thinking of Volume class, which is
> currently only 3-D.

Ok, I think I'm not skilled enough in C++ to be able to handle this.
But for my principal interest is in BSpline, and as Bspline are based
upon a tensorial product it mustn't be complex to pass in 2D.
Basically in my mind 2D is just the same algorithm with one dimension
less ?
the ITK image container allows one to define as 2D or 3D easily the
BSpline shape functions can be extracted from the 3D ones, and the
optimizer won't change a lot ?
Am I wrong ?

> - Finite element basis
> - Mechanic based regularization
>
> Use an existing solver, or write from scratch?  Might be easier to
> write solver from scratch.  And how to create mesh?  Are there
> existing meshing software which could be used?

Meshing software are not really a problem, for mechanics we have
software like salome, freecad, gmsh, that allows us to build easily
geometry and software.
For images purposes there is mitk that allows one to mesh for example
a brain. So a whole tool chain can fatly be set-up.

For the FEM part, I think there is already a lot of things in ITK,
that contains few elements type and is able to deform images with. For
the solver part, once you've done the assembly of the system, petsc
(http://www.mcs.anl.gov/petsc/documentation/linearsolvertable.html)
seems to be a quite good solution. A lot of libraries in C++ already
exist so we have the choice.

> - Analytic deformation basis
>
> I'm not sure I understand.  Which analytic basis?
>

For example you use affine transform, it's a form of what we call
analytic basis, you define analytically shape functions which have a
support on the whole images (or a mask).
In 2D in mechanics we have a lot of complex problems that can be
solved by this. For example airy stress functions
http://en.wikiversity.org/wiki/Introduction_to_Elasticity/Disk_with_hole,
or Williams series.

> - Mask
>
> I think Tony has already has masks working for B-spline.
> Each algorithm needs to add this independently.

That's great !
Is it released ? I'm mainly interested in this shape functions.
Do you know if the knot vector is based upon the mask or is the
metrics penalized outside the mask.
It would be much better to create the minimal knot vector from the
mask (as start the minimum parallelepiped for knot vector)

> - Picard iteration
>
> I'm not familiar with this.  Could you explain?

It is the most simple you can imagine, you build the linear problem,
you choose an initial displacement in each control point (0 for
example or at least Fourier RBT) and you just update the moving image
coordinates in the functional. It is a very stable algorithm but the
initial solution is quite important, but can be initialized with any
method of plastimatch.

May be an other thing that could be great would be the block matching
method which is quite robust and allows a good initialization of
optical flow ones :http://www.insight-journal.org/browse/publication/
156

> h
> Greg
>
>
>
>
>
>
>
> -----Original Message-----
> From: plast...@googlegroups.com [mailto:plast...@googlegroups.com] On
>
> Behalf Of witzj...@gmail.com
> Sent: Thursday, May 03, 2012 4:50 AM
> To: Plastimatch
> Subject: [Plastimatch] Adding New Kinematics basis
>
> Hello,
>
> I will have time this summer (no PhD student to lead ...), so I want
> to see if I can develop some things.
> Here is a list of the things I'm very interested in.
>
> * 2D deformable registration,
> * Finite element basis,
> * Analytic deformation basis,
> * Mechanics based regularization,
> * Mask,
> * Picard iteration algorithm.
>
> Could you please tell me what seems possible in one month ?
> I'm not particulary skilled in C++ but I have already developed in a C+
> + platform.
>
> Best regards
>
> The information in this e-mail is intended only for the person to whom it is
> addressed. If you believe this e-mail was sent to you in error and the e-mail
> contains patient information, please contact the Partners Compliance HelpLine athttp://www.partners.org/complianceline. If the e-mail was sent to you in error
Reply all
Reply to author
Forward
0 new messages