[elastix] BsplineTransformWithDiffusion

M.Staring at lumc.nl M.Staring at lumc.nl
Fri Mar 12 09:19:42 CET 2010


Hi Ilja,

The approach that Dan describes is indeed the way to go.

Our intention is to include in the binaries from the website all components, but we seem to have forgotten that for the 32 bit windows binaries. The 64 bit binaries were compiled with  USE_BSplineTransformWithDiffusion=TRUE.

An alternative to using the BSplineTransformWithDiffusion transform is to use a (rigidity) penalty term on those areas. This can be achieved by setting:

(Registration "MultiMetricMultiResolutionRegistration")
(Metric "MetricOfYourChoice" "TransformRigidityPenalty")
(Metric0Weight 1.0)
(Metric1Weight <float> ... <float>)

Good luck,

Marius

> -----Original Message-----
> From: elastix-bounces at bigr.nl 
> [mailto:elastix-bounces at bigr.nl] On Behalf Of Dan Mueller
> Sent: vrijdag 12 maart 2010 7:47
> To: Ilja Bezrukov
> Cc: elastix at bigr.nl
> Subject: Re: [elastix] BsplineTransformWithDiffusion
> 
> Hi Ilja,
> 
> When I configure the elastix source code, 
> USE_BSplineTransformWithDiffusion is not checked by default. 
> I assume this means that the binary files do not have this 
> component installed.
> 
> I would try downloading the source, setting 
> USE_BSplineTransformWithDiffusion=TRUE, and compiling from scratch.
> 
> Cheers, Dan
> 
> On 11 March 2010 22:13, Ilja Bezrukov 
> <bezrukov at tuebingen.mpg.de> wrote:
> > 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 2.6.32.7-00000-v2.6.32.7 (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.
> >
> > Error:
> > 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/elxE
> > lastixMain.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 executable.
> > 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
> > _______________________________________________
> > elastix mailing list
> > elastix at bigr.nl
> > http://lists.bigr.nl/mailman/listinfo/elastix
> >
> _______________________________________________
> elastix mailing list
> elastix at bigr.nl
> http://lists.bigr.nl/mailman/listinfo/elastix
> 



More information about the Elastix mailing list