SimpleITK  
Elastix/elx.cxx
// This one header will include all SimpleITK filters and external
// objects.
#include <SimpleITK.h>
#include <iostream>
#include <stdlib.h>
namespace sitk = itk::simple;
int
main(int argc, char * argv[])
{
if (argc < 5)
{
std::cerr << "Usage: " << argv[0]
<< " <fixedImage> <movingImage> <parameterFile> <outputImage> <outputParameterFile> \n";
return 1;
}
// Instantiate SimpleElastix
sitk::ElastixImageFilter elastixImageFilter;
// Read input
reader.SetFileName(std::string(argv[1]));
elastixImageFilter.SetFixedImage(reader.Execute());
reader.SetFileName(std::string(argv[2]));
elastixImageFilter.SetMovingImage(reader.Execute());
elastixImageFilter.SetParameterMap(sitk::ReadParameterFile(std::string(argv[3])));
elastixImageFilter.LogToConsoleOn();
// Run registration
elastixImageFilter.Execute();
// Write result image
writer.SetFileName(std::string(argv[4]));
writer.Execute(elastixImageFilter.GetResultImage());
// Write parameter file. This test executable only supports one parameter map and one transform parameter map.
sitk::WriteParameterFile(elastixImageFilter.GetTransformParameterMaps()[0], std::string(argv[5]));
return 0;
}
The class that wraps the elastix registration library.
void LogToConsoleOn()
Switches logging to console on.
void SetParameterMap(const std::string transformName, const unsigned int numberOfResolutions=4u, const double finalGridSpacingInPhysicalUnits=10.0)
Specifies the parameter map by a transformName ("translation", "rigid" , "affine",...
void SetFixedImage(const Image &fixedImage)
Sets a fixed image. Stores the image into the container of fixed images.
void SetMovingImage(const Image &movingImages)
Sets a moving image. Stores the image into the container of moving images.
std::vector< std::map< std::string, std::vector< std::string > > > GetTransformParameterMaps()
Returns all transform parameter maps.
Image GetResultImage()
Returns the result image.
Image Execute()
Executes the registration, and returns the result image.
Read an image file and return a SimpleITK Image.
void SetFileName(const PathType &fn)
Write out a SimpleITK image to the specified file location.
void Execute(const Image &)
void SetFileName(const PathType &fileName)
SITKElastix_EXPORT std::map< std::string, std::vector< std::string > > ReadParameterFile(const std::string filename)
SITKElastix_EXPORT void WriteParameterFile(const std::map< std::string, std::vector< std::string > > parameterMap, const std::string filename)