<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
<div>Dear all,&nbsp;</div><div><br></div><div>I am trying to change an image direction cosine matrix to identity by using the following code, but it fails. I read in an input image and set its DCM to identity, then I write it to a new image and then print out its DCM again. However, the DCM in the new image is not identity matrix. I am not sure what was wrong in my code, and the following are the major part related to this.</div><div><br></div><div><br></div><div>// I first get the DCM from the fixedImage</div><div>FixedImageType::DirectionType directionCosines = fixedImage-&gt;GetDirection();</div><div><br></div><div><br></div><div>&nbsp;&nbsp; std::cout &lt;&lt; "Input DCM is " &lt;&lt; std::endl;</div><div>&nbsp;&nbsp;std::cout &lt;&lt; directionCosines &lt;&lt; std::endl;</div><div><br></div><div><div style="text-indent: 0in !important; ">//Terminal shows:</div><div style="text-indent: 0in !important; ">//1 0 0</div><div style="text-indent: 0in !important; ">//0 -1 0</div><div style="text-indent: 0in !important; ">//0 0 1</div></div><div><br></div><div>&nbsp;&nbsp;directionCosines[0][0] = 1;</div><div>&nbsp;&nbsp;directionCosines[0][1] = 0;</div><div>&nbsp;&nbsp;directionCosines[0][2] = 0;</div><div>&nbsp;&nbsp;directionCosines[1][0] = 0;</div><div>&nbsp;&nbsp;directionCosines[1][1] = 1;</div><div>&nbsp;&nbsp;directionCosines[1][2] = 0;</div><div>&nbsp;&nbsp;directionCosines[2][0] = 0;</div><div>&nbsp;&nbsp;directionCosines[2][1] = 0;</div><div>&nbsp;&nbsp;directionCosines[2][2] = 1;</div><div><br></div><div>&nbsp;&nbsp;std::cout &lt;&lt; directionCosines &lt;&lt; std::endl;</div><div><br></div><div><div style="text-indent: 0in !important; ">//Terminal shows:</div><div style="text-indent: 0in !important; ">//1 0 0</div><div style="text-indent: 0in !important; ">//0 1 0</div><div style="text-indent: 0in !important; ">//0 0 1</div></div><div><br></div><div><br></div><div>//Then I reset the direction to identity</div><div>&nbsp;&nbsp;fixedImageReader-&gt;GetOutput()-&gt;SetDirection(directionCosines);</div><div>&nbsp;</div><div>&nbsp;&nbsp;std::cout &lt;&lt; "New DCM is " &lt;&lt; std::endl;</div><div>&nbsp;&nbsp;std::cout &lt;&lt; fixedImageReader-&gt;GetOutput()-&gt;GetDirection() &lt;&lt; std::endl;</div><div><br></div><div><div style="text-indent: 0in !important; ">//Terminal shows:</div><div style="text-indent: 0in !important; ">//1 0 0</div><div style="text-indent: 0in !important; ">//0 1 0</div><div style="text-indent: 0in !important; ">//0 0 1</div><div style="text-indent: 0in !important; "><br></div><div style="text-indent: 0in !important; "><br></div><div style="text-indent: 0in !important; "><br></div><div style="text-indent: 0in !important; ">//Then I write the new image with the identity DCM</div><div style="text-indent: 0in !important; "><div style="text-indent: 0in !important; ">&nbsp;&nbsp;caster-&gt;SetInput( fixedImageReader-&gt;GetOutput() );</div><div style="text-indent: 0in !important; ">&nbsp;&nbsp;writer-&gt;SetInput( caster-&gt;GetOutput() &nbsp; );</div><div style="text-indent: 0in !important; "><br></div><div style="text-indent: 0in !important; "><br></div><div style="text-indent: 0in !important; ">//Then I read in the new image again to print its DCM</div><div style="text-indent: 0in !important; "><div style="text-indent: 0in !important; ">&nbsp;&nbsp;outputImageReader-&gt;SetFileName( &nbsp;argv[2] );</div><div style="text-indent: 0in !important; ">&nbsp;&nbsp;OutputImageType::ConstPointer outputImage = outputImageReader-&gt;GetOutput();</div><div style="text-indent: 0in !important; ">&nbsp;&nbsp;outputImageReader-&gt;Update();</div><div style="text-indent: 0in !important; ">&nbsp;&nbsp;OutputImageType::DirectionType directionCosinesOutput = outputImage-&gt;GetDirection();</div><div style="text-indent: 0in !important; ">&nbsp;&nbsp; std::cout &lt;&lt; "Output DCM is " &lt;&lt; std::endl;</div><div style="text-indent: 0in !important; ">&nbsp;&nbsp;std::cout &lt;&lt; directionCosinesOutput &lt;&lt; std::endl;</div><div style="text-indent: 0in !important; "><br></div><div style="text-indent: 0in !important; ">//Terminal shows:</div><div style="text-indent: 0in !important; ">//1 0 0</div><div style="text-indent: 0in !important; ">// 0 -1 0</div><div style="text-indent: 0in !important; ">//0 0 1</div></div></div></div><br>--------------------------------<br>Xi Liang<br><br>ÁºÜç<br>--------------------------------<br><br><br>                                               <br /><hr />Hotmail: Trusted email with Microsoft¡¯s powerful SPAM protection. <a href='https://signup.live.com/signup.aspx?id=60969' target='_new'>Sign up now.</a></body>
</html>