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 :
> Hi,
> 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 
> Python.
> 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.
> Regards,
>   Almar

You received this message because you are subscribed to the Google Groups 
"scikit-image" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to scikit-image+unsubscr...@googlegroups.com.
To post to this group, send an email to scikit-image@googlegroups.com.
To view this discussion on the web, visit 
For more options, visit https://groups.google.com/d/optout.

Reply via email to