[elastix] volume preservation

M.Staring at lumc.nl M.Staring at lumc.nl
Mon Mar 8 18:08:17 CET 2010


Hi Xi Liang,

Thanks for letting know your results and uploading the data.

The MattesMutualInformationWithRigidityPenalty will be deprecated in the next release of elastix, therefore I switched it to:
(Registration "MultiMetricMultiResolutionRegistration")
(Metric "AdvancedMattesMutualInformation" "TransformRigidityPenalty") 
(Metric0Weight 1.0)
(Metric1Weight 0.1 0.1 0.1 0.1)
It is advisible to already start using this combination.

I ran your experiment with
> RigidityPenaltyWeight 0.1 0.1 0.1 0.1 )
> (LinearityConditionWeight 100.0)
> (OrthonormalityConditionWeight 1.0)
> (PropernessConditionWeight 10.0)
using the new way and indeed got a volume preservation of 86%, instead of the 75% you report. Are you sure you are evaluating the volume changes on motion_coarse and not on motion (I made that mistake and got 76%) ?

I notice however that you also set:
(DilateRigidityImages "false")

With this option you cannot expect complete volume preservation, due to the influence of the B-spline control points in the neighbourhood of the tumour region. I explain this in more detail in Section II-C of my paper. See also the end of Sections III-A2 and III-B2. I uploaded the exact parameter files at the elastix parameter file database. You can inspect them at:
	http://elastix.bigr.nl/wiki/index.php/Par0004
See also previous mails to this mailing list.

I tried:
(DilateRigidityImages "false" "false" "true" "true")
(DilationRadiusMultiplier 1.0 1.0 1.0 2.0)
(MaximumNumberOfIterations 300 300 300 1200)
and got  a volume preservation of 89%.

I attached a tuned parameter file, which you can replace with your current ones. Then, you could try to increase the power of the term at the first levels. I suspect that a lot of the compression is taking place then, which you can check by computing the spatial Jacobian determinant at those levels with transformix -jac all. You could also try to increase the number of iterations for the levels. Let me know if these things help.

With kind regards,

Marius


> -----Original Message-----
> From: Xi LIANG [mailto:liangxi1986317 at hotmail.com] 
> Sent: zaterdag 6 maart 2010 8:02
> To: Staring, M. (LKEB); Elastix
> Subject: RE: [elastix] volume preservation
> 
> Dear Maius,
>  
> Data is in the website of: 
> http://www.mediafire.com/file/m0nijknzgjm/motion_mask.zip
> motion.mhd is the moving image. motion_mask.mhd contains a 
> ROI mask, which can be used in the evaluation of the volume 
> preservation. motion_coarse_mask.mdh has a coarse mask that 
> is used in the registration.
>  
>  
> Follow your suggestions, I tried to use the following 
> parameter sets and upload the running elastix.log. Only the 
> first parameter set works, but the volume of ROI in the 
> resulting image is a lot shrinked to 75.34%. Other parameters 
> make the registration explode, due to the heavy penalty? 
> However, by using 1 10 1 combination, I manage to get a 
> slightly better result, with ROI shrinked to 86.30%. It seems 
> the parameter setting is very tricky for this data set.
>  
> this is the elastix.log file where the registration works 
> fine but ROI volume shrinked to 75.34%: 
> http://www.mediafire.com/file/32jjtvyimhi/elastix.log
> RigidityPenaltyWeight 0.1 0.1 0.1 0.1 )
> (LinearityConditionWeight 100.0)
> (OrthonormalityConditionWeight 1.0)
> (PropernessConditionWeight 10.0)
>  
>  
>  
> this is the elastix.log file where the registration explode 
> http://www.mediafire.com/file/ncm2ymomzm1/elastix.log
> (RigidityPenaltyWeight 0.1 0.1 0.1 0.5 ) 
> (LinearityConditionWeight 100.0) 
> (OrthonormalityConditionWeight 1.0) (PropernessConditionWeight 10.0)
>  
>  
> this is the elastix.log file where the registration 
> explode:http://www.mediafire.com/file/ytubicymzmm/elastix.log
> (RigidityPenaltyWeight 0.1 0.1 0.1 0.1 ) 
> (LinearityConditionWeight 250.0) 
> (OrthonormalityConditionWeight 2.0) (PropernessConditionWeight 10.0)
>  
>  
>  
> this is the elastix.log file where the registration explode: 
> http://www.mediafire.com/file/jrzewomyanv/elastix.log
> (FixedLimitRangeRatio 0.001)
> (MovingLimitRangeRatio  0.001)
> (RigidityPenaltyWeight 0.1 0.1 0.1 0.1 ) 
> (LinearityConditionWeight 250.0) 
> (OrthonormalityConditionWeight 1.0) (PropernessConditionWeight 10.0)
>  
>  
>  
> 
> --------------------------------
> Xi Liang
> 
> 梁茜
> --------------------------------
> 
> 
> 
>  
> > Subject: RE: [elastix] volume preservation
> > Date: Fri, 5 Mar 2010 10:56:51 +0100
> > From: M.Staring at lumc.nl
> > To: liangxi1986317 at hotmail.com; elastix at bigr.nl
> > 
> > Hi Xi Liang,
> > 
> > > In one of my case, I have the following result. By 
> turning off the 
> > > rigid constraint, the ROI in the resulting image has 
> 74.61% percent 
> > > of its volume segmented in moving image. By using the rigid 
> > > constraint, it increases the volume to 86.30%, but still lost of 
> > > 13.90%. Is this normal? What should I do to improve this?
> > >
> > 
> > I got the best results when I used all terms, so including 
> the PropernessCondition, so you could enable that one:
> > (UsePropernessCondition "true")
> > The properness condition is a volume preserving condition, 
> so enabling that should help you.
> > 
> > I think the next step would be to set the weights of the 
> different terms such that they contribute more evenly, as 
> indicated by the gradient magnitude of each term during the 
> registration. I think you are using the orthonormality 
> condition quite strongly, if I compare your weights with the 
> ones I used in the paper. I used them more like:
> > (LinearityConditionWeight 100.0)
> > (OrthonormalityConditionWeight 1.0)
> > (PropernessConditionWeight 10.0)
> > or in the ratio 250.0, 2.0, 10.0 or in the ratio 100.0, 
> 1.0, 2.0, but never 1 10 1.
> > 
> > Other settings are hard to recommend like this, I would 
> have to take a look at your elastix.log or the data.
> > 
> > Regards,
> > 
> > Marius
> > 
> > > I use the following parameters. I tried to increase the 
> > > (RigidityPenaltyWeight 0.1) from 0.1 to 0.2, but the registration 
> > > explodes. Those conditional weights are roughly the highest I can 
> > > give without getting exploded.
> > > 
> > > 
> > > 
> > > (FixedLimitRangeRatio 0.001)
> > > (MovingLimitRangeRatio 0.001)
> > > (RigidityPenaltyWeight 0.1 0.1 0.1 0.1) (LinearityConditionWeight 
> > > 1.0) (OrthonormalityConditionWeight 10.0) 
> (PropernessConditionWeight 
> > > 1.0) (UseLinearityCondition "true") (UseOrthonormalityCondition 
> > > "true") (UsePropernessCondition "false") 
> > > (CalculateLinearityCondition "true") 
> > > (CalculateOrthonormalityCondition "true") 
> > > (CalculatePropernessCondition "false") 
> (DilateRigidityImages "false" 
> > > "false" "false" "true") (DilationRadiusMultiplier
> > > 2.0) (UseMovingRigidityImage "true") (MovingRigidityImageName
> > > "MHD¥motion_coarse_mask.mhd")
> > > 
> > > 
> > > --------------------------------
> > > Xi Liang
> > > 
> > > 梁茜
> > > --------------------------------
> > > 
> > > 
> > > 
> > > 
> > > ________________________________
> > > 
> > > Hotmail: Trusted email with Microsoft’s powerful SPAM protection. 
> > > Sign up now.
> > > <https://signup.live.com/signup.aspx?id=60969>
> > > 
> 
> 
> ________________________________
> 
> Hotmail: Free, trusted and rich email service. Get it now. 
> <https://signup.live.com/signup.aspx?id=60969> 
> 
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: par2M.txt
URL: <http://lists.bigr.nl/pipermail/elastix/attachments/20100308/dea2567c/attachment.txt>


More information about the Elastix mailing list