[elastix] BsplineTransformWithDiffusion

Ilja Bezrukov bezrukov at tuebingen.mpg.de
Thu Mar 11 22:13:57 CET 2010

Dear Marius and Stefan,
first of all, many thanks for writing elastix and making it available
to the public!
I am working with elastix for whole body MR to MR and CT to MR
registration. While exploring the depths of Doxygen documentation, I
encountered BSplineTransformWithDiffusion, which seemed suitable for
reducing the deformation in bone areas. Unfortunately, when I tried to
apply it, I got the following error:

  Linux (x64), #3 SMP Fri Jan 29 15:29:20 CET
2010, with 7942 MB memory.

Running elastix with parameter file 0: "bspline.txt".

Current time: Thu Mar 11 20:52:25 2010.
Reading the elastix parameters from file ...

Installing all components.
InstallingComponents was successful.

BSplineTransformWithDiffusion(index 2) - This component is not installed!
ERROR: error occurred while creating Transform 0.

itk::ExceptionObject (0x1b8e940)
Location: "virtual itk::SmartPointer<itk::Object>
elastix::ElastixMain::CreateComponent(const std::string&)"
File: /home/sklein/tk/elastix/exports/tags/elastix_04_3/src/Core/Kernel/elxElastixMain.cxx
Line: 573
Description: itk::ERROR: ElastixMain(0x1b58610): The following
component could not be created: BSplineTransformWithDiffusion

I use elastix version 4.300, downloaded from your site. Do you have a
suggestion what might be the problem? I did not try to compile
the code myself yet, but at least the string
BSplineTransformWithDiffusion is present in the binary elastix
I use the following settings for a toy setup for a registration of two
2D slices:

(FixedInternalImagePixelType "float")
(MovingInternalImagePixelType "float")
(FixedImageDimension 2)
(MovingImageDimension 2)
(UseDirectionCosines "false")

(Registration "MultiResolutionRegistration")
(Interpolator "BSplineInterpolator")
(ResampleInterpolator "FinalBSplineInterpolator")
(Resampler "DefaultResampler")
(FixedImagePyramid "FixedRecursiveImagePyramid")
(MovingImagePyramid "MovingRecursiveImagePyramid")
(Optimizer "StandardGradientDescent")
(Metric "AdvancedNormalizedCorrelation")
(Transform "BSplineTransformWithDiffusion")
(FinalGridSpacing 8.0)
(UpsampleGridOption "true")
(FilterPattern 1)
(DiffusionEachNIterations 1)
(NumberOfDiffusionIterations 1)
(Radius 1)
(GrayValueImageAlsoBasedOnFixedImage "false")
(UseMovingSegmentation "true")
(MovingSegmentationFileName "../../../Data/CT/02_CT_s133_bone_100.mhd")

(HowToCombineTransforms "Add")

(NumberOfResolutions 5)
(ImagePyramidSchedule 8 4  6 2  4 2  2 1  2 1 )
(MaximumNumberOfIterations 1000)
//(MaximumStepLength 1.0)
(NumberOfSpatialSamples 2000)
(NewSamplesEveryIteration "true")
(ImageSampler "Random")
(BSplineInterpolationOrder 1)
(FinalBSplineInterpolationOrder 3)
(DefaultPixelValue 0)

Greetings, Ilja

More information about the Elastix mailing list