[Insight-users] Re: About optimizers for registration
DiLLa HaNdiNi
daffodilsky at gmail.com
Mon Jan 16 11:39:16 EST 2006
Hi Luis,
Thank you very much for the enlightments. Help me to get better
understanding about registration.
My next questions are:
1. Could you give me some pointers on how to fine tune the parameters?
Is it by looking at the iteration results ? or the steps ? If yes, the how
should we change ?
2. How could I determine if my registration result is 'satisfying' (if there
is not such things called 'correct' :D)?
-In the case of using sample volume image with known transformation (e.g. 17
mm y-axis-translated and 10 degree about-z-rotated) (e.g. from BrainWeb), we
could always look at the final result and determine that the result if
'satisfying' to a certain accuracy level.
I don't mind getting the transformation result differ by 1 mm or 1 degree,
but sometimes I may got totally far from the known result; differ by 20 mm
(totally far, right ? or is that transformation also correct ?
-What if we are blinded about the transformation ? How to find out ? Is it
by trying to resample based on the resulted transformation and overlying the
image on top of each other to see if they are aligned ?
3. If for example, I managed to find out the so-called 'good set' of
parameters (e.g. optimizer scales, step size, multiresolution level, etc.)
for one particular application (i.e. a pair of volume image), does the set
of parameters also be 'good set' of parameters if I used it to register
another pair of volume images ? (say, the pair also have the same volume
size, same pixel type, same pixel spacing, etc. only differ in the object of
the volume; I would expect that the parameter set would be different if the
image pairs are of completely different characteristics - e.g. different
pixel type, spacing, etc. Am I right ?)
Regarding the registration that I am asking about,
here are the informations:
1) What are the types of images that you are registering: 3D image
and what are they characteristics:
=> Type of image: volume of raw format with the header of .mha.
(fixed: brainweb1e1a10f20.mha, and moving: brainweb1e1a10f20Rot10Tx15.mha)
(obtained from ftp://public.kitware.com/pub/itk/Data/BrainWeb/ ). :
- Number of Pixels : 181 x 217 x 181 (x,y,z)
- Pixel size in millimeters : 1 mm x 1 mm x 1 mm
- Image Modality: Modality=PD
- Pixel Type : signed__ short 0 to 4095
Both with known translation of 10 degree about Z, and 17 mm in Z direction.
My parameter set: (please refer to the codes that I attached in my previous
email)
Optimizer: RegularStepGradientDescentOptimizer
Transform: Euler3DTransform
Interpolator: BSplineInterpolateImageFunction
Metric: MattesMI
Maximum step length: 0.1 (for level 0), 0.1xcurrentLevel/totalLevel (for
subsequent levels)
Minimum step length: 0.001 (for level 0), 0.001xcurrentLevel/totalLevel (for
subsequent levels)
Multiresolution of 5 levels.
2) The print out of the output that you get with the
Command Observers that you connected to the optimizer.
=> I attached it below.
Thank you very much in advance for being patient with my questions.
Best Regards.
Dilla
Output: (too long that it is truncated by the window)
189 -0.464686 [-0.333409, -0.0791086, -0.18898, 0.313457, -1.14818, -
0.06734
56]
190 -0.464737 [-0.333579, -0.079193, -0.189089, 0.313636, -1.14872, -
0.06749
07]
191 -0.464705 [-0.33355, -0.0793066, -0.189159, 0.313823, -1.14928, -
0.06764
35]
192 -0.464647 [-0.333258, -0.0791319, -0.1892, 0.313984, -1.14976, -
0.067774
1]
193 -0.464676 [-0.333174, -0.0791547 , -0.189116, 0.314173, -1.15032, -
0.0679
284]
194 -0.46469 [-0.333301, -0.0791249, -0.189043, 0.314357, -1.15088, -
0.06808
18]
195 -0.464705 [-0.333472, -0.0791895, -0.189026, 0.314538, -1.15143, -
0.0682
324]
196 -0.464757 [-0.333496, -0.0792566, -0.189082, 0.314728, -1.15199, -
0.0683
875]
197 -0.464763 [-0.333322, -0.0791368, -0.189182, 0.314905, -1.15253, -
0.0685
317]
198 -0.464727 [-0.333162 , -0.0791866, -0.189159, 0.31509, -1.15308, -
0.06868
17]
199 -0.464738 [-0.333127, -0.0791232, -0.189156, 0.315279, -1.15365, -
0.0688
391]
Interation: 3
0 -0.392653 [-0.369659, -0.047565, -0.154304, 0.316976, -1.16061, -
0.0707262
]
1 -0.39133 [-0.348296, -0.0316052, -0.16753, 0.318111, -1.1638, -
0.0723013]
2 -0.388049 [-0.351559, -0.0444719, -0.160742, 0.318708, -1.16524, -
0.072850
3]
3 -0.391708 [-0.365124, -0.0500949, -0.160552, 0.319606, -1.16802, -
0.073737
7]
4 -0.391349 [-0.360776, -0.0549552, -0.156911, 0.319951, -1.16858, -
0.073952
7]
5 -0.393752 [-0.362297, -0.0621432, -0.155848, 0.320479 , -1.16949, -
0.074128
]
6 -0.394421 [-0.359762, -0.0595702, -0.15682, 0.320559, -1.16973, -
0.0742051
]
7 -0.394416 [-0.358517, -0.0567285, -0.158868, 0.320733, -1.17018, -
0.074327
]
8 -0.393478 [-0.359665, -0.0580998, -0.158397, 0.320891, -1.17043, -
0.074397
3]
9 -0.393987 [-0.361272, -0.0581854, -0.158882, 0.321264, -1.17116, -
0.074567
1]
10 -0.393925 [-0.360483, -0.0580834, -0.158667, 0.321462 , -1.17155, -
0.07465
25]
Interation: 4
0 -0.363343 [-0.308178, -0.112454, -0.134598, 0.325839, -1.18073, -
0.0796605
]
1 -0.367377 [-0.323184, -0.0815516, -0.154929, 0.325817, -1.18304, -
0.080738
6]
2 -0.369751 [-0.299335, -0.0496655, -0.155229, 0.326987, -1.18578, -
0.08309]
3 -0.37072 [-0.304311, -0.0634376, -0.141665, 0.327761, -1.18668, -
0.0834733
]
4 -0.372869 [-0.31178, -0.0658768, -0.123576, 0.329088, -1.18936, -
0.0849234
]
5 -0.375957 [-0.316741, -0.0591062, - 0.1055, 0.329625, -1.19064, -
0.0858798]
6 -0.378002 [-0.3081, -0.0567318, -0.1099, 0.32985, -1.1911, -0.086133]
7 -0.377799 [-0.298204, -0.0567207, -0.110663, 0.330161, -1.19207, -
0.086811
6]
8 -0.379099 [-0.299722, -0.0533165, -0.107419 , 0.33036, -1.19273, -
0.0871248
]
9 -0.379125 [-0.29793, -0.0526449, -0.102867, 0.330541, -1.19342, -
0.0874569
]
10 -0.379347 [-0.296691, -0.0513088, -0.104569, 0.330599, -1.19355, -
0.08756
04]
11 - 0.379221 [-0.297418, -0.0517805, -0.103706, 0.33069, -1.19377, -
0.087674
2]
Probe Tag Starts Stops Time
registration 1 1 10837.7 <- it is in
seconds !!! *damn long*
Result =
Angle X (degrees) = -17.0408
Angle Y (degrees) = -2.9668
Angle Z (degrees) = -5.94191
Translation X = 0.33069
Translation Y = -1.19377
Translation Z = -0.0876742
Iterations = 13
Metric value = -0.379401
I tried using Powell optimizer, and I got this result: which I consider
'Satisfying' result.
Probe Tag Starts Stops Time
registration 1 1 4759.31
Result =
Angle X (degrees) = -0.0413042
Angle Y (degrees) = 0.0232163
Angle Z (degrees) = - 10.141
Translation X = 2.46763
Translation Y = -17.3549
Translation Z = 0.000790069
Iterations = 1
Metric value = -1.59818
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/insight-users/attachments/20060117/09c6e4e7/attachment.htm
More information about the Insight-users
mailing list