[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