[Insight-users] How to calculate inverse of Versor3DRigidTransform?
How to validate registration?
evelyn_heyes at homeworking.org
evelyn_heyes at homeworking.org
Mon Aug 14 18:41:51 EDT 2006
Hello ITK-users,
I am performing 3d registration similar to the registration example (#8) in the ITK guide with the following differences:
* Mattes' mutual information (15 bins 1,0000 samples)
* VersorRigid3D optimizer
* multiresolution
My concern relates to validation... I'm conducting validation test as follows:
(given fixed image F and moving image M with resolutions different)
1. Calculate aligned moving image M1 and resample M1 to M2 so it has same resolution as M.
2. Apply versorRigid3DTransform to M2 with rotation=origin of M2 around y-axis and translation t = [a,b,c]
3. Perform registration between M2 and F with same setup as Example#8.
Here is an example run:
F-dimensions: 256*256*167
F-spacing: 1.31^3mm
M-dimensions: 128*128*70
M-spacing: 4.66^3mm
***Parameters of T (transform applied to M2 in step 2):
Translation: [-10, 20, -15]
Rotation matrix:
0.997564 0 0.0697564
0 1 0
-0.0697564 0 0.997564
Rotation center:
[0, 0, 0]
Rotation offset:
[-10, 20, -15]
Below is the printout of step 3:
Fixed's COG: [249.057, 227.131, 162.8]
Moving's COG: [246.257, 285.306, 216.786]
TranslationVector:[-2.80001, 58.175, 53.9854]
Versor3DTransform before initialization
1 0 0
0 1 0
0 0 1
Center: [249.057, 227.131, 162.8]
Translation: [0, 0, 0]
Offset: [0, 0, 0].
initializing transform...
Versor3DTransform after initialization
1 0 0
0 1 0
0 0 1
Center: [249.057, 227.131, 162.8]
Translation: [-2.80001, 58.175, 53.9854]
Offset: [-2.80001, 58.175, 53.9854][0.361983 min.] .
Building the pyramids...
Start registration..............................................................
................................................................................
................................................................................
................................................................................
.................................................
Iteration 1
Maximum Step Length: 2
Minimum Step Length: 0.0001
Start registration..............................................................
................................................................................
.........................................................[2.1732 min.]
Total iterations: 550
FinalParameters:[0.0065179, -0.0290851, -0.0122236, -2.23873, -20.4402, 31.3509]
Matrix =
0.998009 0.0240553 -0.0582994
-0.0248136 0.999616 -0.012318
0.0579807 0.0137401 0.998223
Offset =
[2.28452, -12.1676, 14.0789]
versor X = 0.0065179
versor Y = -0.0290851
versor Z = -0.0122236
Metric value = -0.0583124
My question is how can I compare the numeric results? Specifically, can I simply compare the final transform to the inverse transform of T? And how can I calculate the inverse of T produced in step2? Or, was the test done incorrectly?
Any help is much appreciated.
Thanks in advance!
Eve
More information about the Insight-users
mailing list