Elastix is a toolbox for rigid and nonrigid registration of (medical) images.
Elastix is based on the ITK library, and provides additional algorithms for image registration.
The software can be run as a single-line command, making it easy to include in larger scripts or workflows. The user needs to edit a configuration file that contains all relevant parameters for registration: transformation model, metric used to comapre images, optimization algorithm, mutliscale pyramidal representation of images...
Nowadays elastix is accompanied by SimpleElastix, making it available in other languages like C++, Python, Java, R, Ruby, C# and Lua.