It seems indeed that there is no solution in python. I have tested
SimpleElastix which is clearly great as Elastix is the main OpenSource
software for Image Registration and Plastimatch is very efficent too.
SimpleITK is now able to perform Image Registration
The main issue you have with python and image registration is the
scalability. For example interpoler for getting the transformation at a non
integer coordinate is not efficient in numpy/scipy. The memory limit is
reached with 2048x1024 images with griddata with 8Go of Ram for example. It
means that there is a lot of work to be done at this level. It seems that
you have done work in your project.
Is you multivariate interpolation implementation is scalable ? For example
I couldn't apply an elastic transform on image larger than 2048x1024 with
scipy. If your able to to so, maybe you should contribute to scipy and
improve the interpolation module which is currently the biggest bottleneck
for Image Registration.
Image registration is a vast field, you have, global, local elastix, you
can use classical metric minimization on a transform or working with demons
where the framework is a little bit different.
I think that if you are a simple user SimpleITK and SimpleElastix are not
too bad. But if you want to develop techniques it is more complicated
Le jeudi 6 octobre 2016 10:21:32 UTC+2, Almar Klein a écrit :
> A student recently asked me about (medical) image registration in Python.
> I had to tell him that there is currently hardly anything like that in
> I was frustrated enough about this that I decided to turn a piece of code
> from my PhD work into a usable library. It’s a thin wrapper around the
> awesome Elastix image registration toolkit. I figure/hope that because its
> so thin, it won’t need much maintenance, and/or is easy to maintain by
> others. The code and docs are on Github:
> https://github.com/almarklein/pyelastix Further, the package is on
> conda-forge and Pypi.
> Aside from this announcement, I’d like to propose to put together a list
> of Python packages that do (nonrigid) image registration. Since efforts in
> Python-based image registration have only resulted in relatively small and
> unknown packages, it would be good to have an overview. What would be a
> good place for this? Maybe a wiki-page on scikit-image’s Gitub repo?
> Two entries I would add:
> - Kasper Marstal’s SimpleElastix:
> https://github.com/kaspermarstal/SimpleElastix (also based on Elastix,
> but compiled against it instead of wrapping the CLI). It’s hard to compile,
> but Kasper is currently working on putting it on conda-forge.
> - During my PhD I developed PIRT (
> https://bitbucket.org/almarklein/pirt), which uses Cython. It’s a bit
> idiosyncratic, so it will need work to make “generally useful”. I don’t
> have the time to do this, let alone maintain it when people start using it.
You received this message because you are subscribed to the Google Groups
To unsubscribe from this group and stop receiving emails from it, send an email
To post to this group, send an email to email@example.com.
To view this discussion on the web, visit
For more options, visit https://groups.google.com/d/optout.