[ITK-users] 3D/2D registration with itkRayCastInterpolateImageFunction

Charles GARRAUD Charles.GARRAUD at b-com.com
Fri Aug 21 12:01:32 EDT 2015


Hi,

Thanks for your answer. My coworker tried a few experiments and here are the results.

1- Identity test

We first generated a DRR with no motion (./GenerateProjection  -t -0 0 0 /data/BrainWeb/brainweb165a10f17.mha  projection.mhd).
Then we tested the registration script against the generated projection (./IntensityBased2D3DRegistration  -t 0 0 0 /data/BrainWeb/brainweb165a10f17.mha  projection.mhd).
Final transform is not Identity...

Iteration: 0
Similarity: 131072
Position: [2.153758987711231, -2.2185832563517227, 0.13470062489014054, -0.66118
02734569167, -2.4462025457148213, -0.0002246616408056843]
Iteration: 1
Similarity: 122450
Position: [2.4187300917467964, -3.773162111555794, -0.9755229703094714, -2.07458
8877483574, -0.537315819701732, -2.5768321309606987]
Iteration: 2
Similarity: 119478
Position: [2.470584982717309, -5.832612304775175, -2.348307788159638, -4.0557547
39210535, 1.4910774048756184, -1.2233031986406182]
Iteration: 3
Similarity: 89670.6
Position: [0.5294851105555496, -7.488726388306614, -4.4764177747675395, -5.03037
4241557845, 3.3801762897017995, -0.5584817620767086]
Iteration: 4
Similarity: 117654
Position: [0.8070122506477464, -6.806625924939558, -4.184289615511856, -5.001986
557143484, 3.568233605537047, 1.2680470135769937]
Iteration: 5
Similarity: 120137
Position: [0.8986014091035406, -7.370639324747829, -4.600946472732313, -4.991937
760754552, 4.252209504897678, 1.4468579892082352]
Iteration: 6
Similarity: 121092
Position: [1.0389929549096333, -7.269481426616463, -4.5893416922553545, -4.80836
5473207177, 4.620462234241913, 2.341628219578606]
Result =
Translation X = 1.03899
Translation Y = -7.26948
Translation Z = -4.58934
Rotation X = -4.80837
Rotation Y = 4.62046
Rotation Z = 2.34163
Iterations    = 8
Metric value  = 122604

2- Metric test

Since the registration pipeline involved an Euler3DTransform transformation but our results were not converging even for translations only, I made a simple test case :

First of all, I have generated a DRR projection with a (-100, -100, -100) translation with this command line :

./GenerateProjection  -t -100 -100 -100 brainweb165a10f17.mha projection.mhd 

After that, I have generated translated DRR projections, from 5 to 20 with a step of 5 along the X axis and the Y axis one at a time. 
The aim was to check if, by plotting the metric value for a range of displacements all around the translated projection, the best similarity value would be obtained for the exact displacement we used to generate this translated projection.

For instance, for the translated projection obtained by this command line : 

./GenerateProjection  -t -105 -100 -100 brainweb165a10f17.mha projectionx5.mhd 

The best similarity value between projection.mhd and projectionx5.mhd would be obtained for a (5, 0) displacement.

The result of this experiment can be observed on the following table :

	x0 y0	x5 y0	x10 y0	x15 y0	x20 y0	x0 y5	x0 y10	x0 y15	x0 y20
Best (x, y)	(0, 0)	(9, 0)	(18, 0)	(26, 0)	(34, 0)	(0, 9)	(0, 17)	(0, 26)	(0, 34)
Similarity	131072	112939	100953	94482	90848	113021	101068	95829	92632

We can observe that, even for translations only, our results do not converge to the right value, which can lead us to imagine that the metric is not appropriate for the purpose of registrating the example data...

Is this test case relevant ? It seems to indicate that, even for simple cases, the registration is not reliable and could be the source of the wrong results I have.

Thanks for your help!
	
Charles
Garraud

{P}
Software Engineer
E-health
{T}
+33 (0) 2 56 35 88 25
{W}
www.b-com.com


-----Message d'origine-----
De : Insight-users [mailto:insight-users-bounces at itk.org] De la part de Siavash Khallaghi
Envoyé : lundi 17 août 2015 21:51
À : insight-users at itk.org
Objet : Re: [ITK-users] 3D/2D registration with itkRayCastInterpolateImageFunction

Hi Charles,

For the record, I do not think that you have a software bug per say. I think your problem is a bit more fundamental, i.e. the combination of optimizer/metric might not have sufficient capture range to guide the registration to the true solution.

In order to investigate this, I would suggest trying the following:

1. If you generate your projection from identity (which I assume is the true solution), and start your registration from identity, would the registration converge to identity as well? This tells you how stable your metric is.

2. At this point, I would definitely start plotting the metric value against transformation parameters. See /Section 3.10.1 Mean Squares Metric:
Exploring a Metric/ of the  Software Guide <http://se.csie.dyu.edu.tw/canseco/PDF/InsightSoftwareGuide-Book2-4.6.0.pdf>
. Since your registration does not converge to the correct solution for rotations, I suspect that it is getting stuck in a local minima for these parameters.

Siavash



--
View this message in context: http://itk-users.7.n7.nabble.com/ITK-users-3D-2D-registration-with-itkRayCastInterpolateImageFunction-tp35970p36020.html
Sent from the ITK - Users mailing list archive at Nabble.com.
_____________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://www.kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/insight-users


More information about the Insight-users mailing list