> - 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
> 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