<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=ks_c_5601-1987">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:¹ÙÅÁ;
        panose-1:2 3 6 0 0 1 1 1 1 1;}
@font-face
        {font-family:±¼¸²;
        panose-1:2 11 6 0 0 1 1 1 1 1;}
@font-face
        {font-family:"\@±¼¸²";
        panose-1:2 11 6 0 0 1 1 1 1 1;}
@font-face
        {font-family:"\@¹ÙÅÁ";
        panose-1:2 3 6 0 0 1 1 1 1 1;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        text-align:justify;
        text-justify:inter-ideograph;
        text-autospace:none;
        word-break:break-hangul;
        font-size:10.0pt;
        font-family:¹ÙÅÁ;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:±¼¸²;
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal;
        font-family:±¼¸²;
        color:navy;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:±¼¸²;
        color:navy;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:99.25pt 3.0cm 3.0cm 3.0cm;
        layout-grid:18.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=KO link=blue vlink=purple>

<div class=Section1 style='layout-grid:18.0pt'>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>Dear ITK users,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=±¼¸²><span lang=EN-US
style='font-size:10.0pt;font-family:±¼¸²;color:navy'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>I am trying to use ITK for a registration process. <font
color=navy><span style='color:navy'>&nbsp;</span></font>Using
VersorRigid3DTransform (itk::</span></font><span lang=EN-US> </span><font
face=±¼¸²><span lang=EN-US style='font-family:±¼¸²'>VersorRigid3DTransform), a
series of exam success, but other is fail.<font color=navy><span
style='color:navy'> </span></font>Source code is below...<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>=========== source start ===================<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>UINT ThreadStartRegistration(LPVOID infoIn)<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>{<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CMyDoc* pDoc = (CMyDoc*)infoIn;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CMyView* pAutoView = pDoc-&gt;GetMyView();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
typedef float&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; InternalPixelType;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
typedef
itk::Image&lt;InternalPixelType,3&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
InternalImageType;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
typedef
itk::VersorRigid3DTransform&lt;double&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
TransformType;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
typedef
itk::VersorRigid3DTransformOptimizer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
OptimizerType;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
typedef
itk::MattesMutualInformationImageToImageMetric&lt;InternalImageType,InternalImageType&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
MetricType;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
typedef itk::LinearInterpolateImageFunction&lt;InternalImageType,double&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
InterpolatorType;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
typedef
itk::ImageRegistrationMethod&lt;InternalImageType,InternalImageType&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
RegistrationType;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
MetricType::Pointer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
metric&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = MetricType::New();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
OptimizerType::Pointer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
optimizer&nbsp;&nbsp;&nbsp;&nbsp; = OptimizerType::New();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
InterpolatorType::Pointer&nbsp;&nbsp; interpolator&nbsp; =
InterpolatorType::New();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
RegistrationType::Pointer&nbsp;&nbsp; registration&nbsp; =
RegistrationType::New();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
TransformType::Pointer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
transform&nbsp;&nbsp;&nbsp;&nbsp; = TransformType::New();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
unsigned long iNumSamples = <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
pDoc-&gt;m_sizePrimary3DImage[0]*pDoc-&gt;m_sizePrimary3DImage[1]*pDoc-&gt;m_sizePrimary3DImage[2]*2/100;
// 3 percentage of total pixels<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
metric-&gt;SetNumberOfSpatialSamples(iNumSamples);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
registration-&gt;SetMetric(metric);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
registration-&gt;SetOptimizer(optimizer);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
registration-&gt;SetInterpolator(interpolator);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
registration-&gt;SetTransform( transform );<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
typedef itk::NormalizeImageFilter&lt;ImageType,InternalImageType&gt;
NormalizeFilterType;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NormalizeFilterType::Pointer fixedNormalizer = NormalizeFilterType::New();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
NormalizeFilterType::Pointer movingNormalizer = NormalizeFilterType::New();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
fixedNormalizer-&gt;SetInput(pDoc-&gt;m_Primary3DImage.GetPointer());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
movingNormalizer-&gt;SetInput(pDoc-&gt;m_Secondary3DImage.GetPointer());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
registration-&gt;SetFixedImage(fixedNormalizer-&gt;GetOutput());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
registration-&gt;SetMovingImage(movingNormalizer-&gt;GetOutput());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
registration-&gt;SetFixedImageRegion(pDoc-&gt;m_Primary3DImage.GetPointer()-&gt;GetBufferedRegion());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
itk::Point&lt;double,3&gt; initialCenter =
pDoc-&gt;m_transformMomentCenter-&gt;GetCenter();&nbsp;&nbsp;&nbsp; <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
itk::Vector&lt;double,3&gt; initialTranslation =
pDoc-&gt;m_3DTransformManualMode-&gt;GetOffset();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
transform-&gt;SetCenter(initialCenter);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
transform-&gt;SetTranslation(initialTranslation);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
typedef TransformType::VersorType&nbsp; VersorType;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
typedef VersorType::VectorType&nbsp;&nbsp;&nbsp;&nbsp; VectorType;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
VersorType&nbsp;&nbsp;&nbsp;&nbsp; rotation;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
VectorType&nbsp;&nbsp;&nbsp;&nbsp; axis;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
axis[0] = 0.0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
axis[1] = 0.0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
axis[2] = 1.0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
const double angle = 0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
rotation.Set(axis,angle);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
transform-&gt;SetRotation(rotation);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
registration-&gt;SetInitialTransformParameters(transform-&gt;GetParameters());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
typedef
OptimizerType::ScalesType&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
OptimizerScalesType;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
OptimizerScalesType optimizerScales(transform-&gt;GetNumberOfParameters());<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
const double translationScale = <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
1.0 / (10.0 *
pDoc-&gt;m_vSpacingPrimary3DImage[0]*pDoc-&gt;m_sizePrimary3DImage[0]);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
optimizerScales[0] = 1.0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
optimizerScales[1] = 1.0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
optimizerScales[2] = 1.0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
optimizerScales[3] = translationScale;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
optimizerScales[4] = translationScale;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
optimizerScales[5] = translationScale;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
optimizer-&gt;SetScales(optimizerScales);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
optimizer-&gt;SetMaximumStepLength(1.0); <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
optimizer-&gt;SetMinimumStepLength(0.005);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
optimizer-&gt;SetNumberOfIterations(50);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
CCommandIterationUpdate::Pointer observer = CCommandIterationUpdate::New();<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
observer-&gt;SetDocument(pDoc);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
optimizer-&gt;AddObserver( itk::IterationEvent(), observer );<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
try<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
{<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
registration-&gt;StartRegistration(); <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
}<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
catch( itk::ExceptionObject &amp; err ) <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
{ <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
TRACE(&quot;ExceptionObject caught !\n&quot;);<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
} &nbsp;&nbsp;&nbsp; <o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
return 0;<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>}<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>=========== source end ===================<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'><o:p>&nbsp;</o:p></span></font></p>

<p class=MsoNormal><font size=2 face=±¼¸²><span lang=EN-US style='font-size:10.0pt;
font-family:±¼¸²'>I suspect pixel spacing of series. A case of success series is
both have same pixel spacing, but other is different.<font color=navy><span
style='color:navy'> What do you think about it?</span></font><o:p></o:p></span></font></p>

</div>

</body>

</html>