[Insight-users] registration without through plane rotation

Karl Diedrich karl.diedrich at azeresearch.com
Fri Mar 9 11:20:02 EST 2012


Hello,

I wanted to make a registration that translates a 3D image in  x,y,z and
rotates the image in the in plane (typically x,y) but not z when the
through plane slice spacing is large to prevent banding and artefacts in
the image due to rotating over the lab slice gap. So that's 5 degrees of
freedom rotation in x,y and translation in x,y,z.

I used a VersorRigid3DTransform which is 6 degrees of freedom.

typedef typename itk::VersorRigid3DTransform< double > TransformType;
typedef typename itk::VersorRigid3DTransformOptimizer
OptimizerType;


And register and calculate a transformation matrix and offset

0.99587 -0.0714092 0.056069

0.0731405 0.996887 -0.0294547

-0.0537911 0.033434 0.997992


Offset [-13.0234, 1.55239, 11.5985]


Then I reset the through plane/Z rotation component to its part of the
Identity matrix.

0.99587 -0.0714092 0.056069

0.0731405 0.996887 -0.0294547

0 0 1

And apply this transformation.


This strategy isn't optimal because I found the optimal transformation with
the through plane/Z rotation and then eliminated the rotation. It's better
to never rotate in through plane/Z during the registration/transformation
optimization process.


I tried changing the scales of the optimizer. I believe the [2] index is
for the Z component.

I tried changing [2] to 0, -1, 0.000001, -0.000001. 0 crashes and the other
values change the registration output but don't turn of Z rotation.


typedef OptimizerType::ScalesType OptimizerScalesType;
OptimizerScalesType optimizerScales( transform->GetNumberOfParameters() );
const double translationScale = 1.0 / 1000.0;


optimizerScales[0] = 1.0;
optimizerScales[1] = 1.0;
optimizerScales[2] = 1.0; // ? Z component
optimizerScales[3] = translationScale;
optimizerScales[4] = translationScale;
optimizerScales[5] = translationScale;

optimizer->SetScales( optimizerScales );


Is there some way to turn off rotation in a single (usually Z) axis?

Cheers,
Karl

-- 
Karl Diedrich, Ph.D.
Principal Engineer
----------------------------------------
AZE Research and Development
1 Broadway, 14th floor
Cambridge, MA 02142
Tel: +1 (617) 475-1502
www.azeofamerica.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20120309/df15ee0f/attachment.htm>


More information about the Insight-users mailing list