<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hi all,<div>I modified an &nbsp;imageregistration example to perform a registration between 2 CT scans &nbsp;with Mutual information.</div><div>I am currently trying to apply the caculated transformation (itk::<span class="Apple-style-span" style="color: rgb(92, 38, 153); font-family: Monaco; ">VersorRigid3DTransform) </span><font class="Apple-style-span" color="#04060C">to an other set of image (SPECT images) rigth after the registration process ... without succeed I must confess :-)</font></div><div><font class="Apple-style-span" color="#04060C"><br></font></div><div><span class="Apple-style-span" style="color: rgb(4, 6, 12); ">Here is the problem I am facing. &nbsp;I would like to have your opinion on that piece of code ...</span></div><div><font class="Apple-style-span" color="#04060C"><br></font></div><div><span class="Apple-style-span" style="color: rgb(4, 6, 12); ">After registration I save correctly the registred CT volume. &nbsp;Then, I am defining my NM volume :</span></div><div><font class="Apple-style-span" color="#04060C"><br></font></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "></div><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">        </span><span style="color: #aa0d91">typedef</span> <span style="color: #5c2699">itk</span>::<span style="color: #5c2699">Image</span>&lt; <span style="color: #aa0d91">unsigned</span> <span style="color: #aa0d91">short</span>, <span style="color: #2e0d6e">Dimension</span> >&nbsp; FixedMNImageType;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">        </span><span style="color: #aa0d91">typedef</span> <span style="color: #5c2699">itk</span>::<span style="color: #5c2699">ImageFileReader</span>&lt; FixedMNImageType&nbsp; > FixedImageMNReaderType;</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; min-height: 16.0px"><span class="Apple-tab-span" style="white-space:pre">        </span><br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">        </span>FixedImageMNReaderType::<span style="color: #5c2699">Pointer</span>&nbsp; fixedImageMNReader&nbsp; = FixedImageMNReaderType::<span style="color: #2e0d6e">New</span>();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">        </span>fixedImageMNReader-><span style="color: #2e0d6e">SetFileName</span>(argv[<span style="color: #1c00cf">4</span>]); // my NM volume</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">        </span>fixedImageMNReader-><span style="color: #2e0d6e">Update</span>();</div></blockquote><div><font class="Apple-style-span" color="#04060C"><br></font></div><div><span class="Apple-style-span" style="color: rgb(4, 6, 12); ">I am casting my NM images to the type of my CT volume in order to perform the resampling process.</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(92, 38, 153); "></div><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(92, 38, 153); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: #aa0d91">typedef</span><span style="color: #000000"> </span>itk<span style="color: #000000">::</span>CastImageFilter<span style="color: #000000">&lt;&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; FixedMNImageType,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #5c2699">MovingImageType</span>> CastFilterMNFloatType;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">        </span>CastFilterMNFloatType::<span style="color: #5c2699">Pointer</span> floatCastMN = CastFilterMNFloatType::<span style="color: #2e0d6e">New</span>();</div><p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Monaco; min-height: 16.0px"><span class="Apple-tab-span" style="white-space:pre">        </span><br class="webkit-block-placeholder"></p><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">        </span>floatCastMN-><span style="color: #2e0d6e">SetInput</span>(fixedImageMNReader-><span style="color: #2e0d6e">GetOutput</span>());</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(92, 38, 153); "><span style="color: #000000"><span class="Apple-tab-span" style="white-space:pre">        </span></span><span style="color: #aa0d91">typedef</span><span style="color: #000000"> </span>itk<span style="color: #000000">::</span>ResampleImageFilter<span style="color: #000000">&lt;&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #5c2699">MovingImageType</span>,&nbsp;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #5c2699">FixedImageType</span> > ResampleMNFilterType;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">        </span>ResampleMNFilterType::<span style="color: #5c2699">Pointer</span> resamplerMN = ResampleMNFilterType::<span style="color: #2e0d6e">New</span>();<span class="Apple-style-span" style="white-space: pre; "></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-style-span" style="white-space: pre; ">        <span class="Apple-style-span" style="white-space: normal; ">resamplerMN-><span style="color: #2e0d6e">SetInput</span>( floatCastMN-><span style="color: #2e0d6e">GetOutput</span>() );</span></span></div></blockquote><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><font class="Apple-style-span" face="Helvetica">Then, I am applying the transformation to my NM volume.</font><span class="Apple-tab-span" style="white-space:pre">        </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "></div><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">        </span>resamplerMN-><span style="color: #2e0d6e">SetTransform</span>(finalTransform);</div></blockquote><blockquote type="cite"><div><span class="Apple-style-span" style="color: rgb(4, 6, 12); "><span class="Apple-tab-span" style="white-space:pre">        </span>&nbsp;<span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: Monaco; ">&nbsp; &nbsp; resamplerMN-><span style="color: #2e0d6e">SetSize</span>(&nbsp; &nbsp; fixedImage-><span style="color: #2e0d6e">GetLargestPossibleRegion</span>().<span style="color: #2e0d6e">GetSize</span>() );</span></span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>resamplerMN-><span style="color: #2e0d6e">SetOutputOrigin</span>(&nbsp; fixedImage-><span style="color: #2e0d6e">GetOrigin</span>() );</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">        </span>resamplerMN-><span style="color: #2e0d6e">SetOutputSpacing</span>( fixedImage-><span style="color: #2e0d6e">GetSpacing</span>() );</div></blockquote>I am using fixedImage as input of resampling because I'd like to put my final image as the same size that my CT scans<br><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">        </span>resamplerMN-><span style="color: #2e0d6e">SetInterpolator</span>(interpolator);</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;resamplerMN-><span style="color: #2e0d6e">SetDefaultPixelValue</span>( <span style="color: #1c00cf">0</span> );</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><span class="Apple-tab-span" style="white-space:pre">        </span>resamplerMN-><span style="color: #2e0d6e">Update</span>();</div></blockquote><div><font class="Apple-style-span" face="Monaco">Then, I am creating an output file and downcasting it to unsigned short and&nbsp;I am creating a writer :</font></div><div><font class="Apple-style-span" face="Monaco"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "></div><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp;&nbsp; &nbsp;<span style="color: #aa0d91">typedef</span>&nbsp; <span style="color: #aa0d91">unsigned</span> <span style="color: #aa0d91">short</span>&nbsp; OutputMNPixelType;<span class="Apple-style-span" style="white-space: pre; ">        </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp; &nbsp; <span style="color: #aa0d91">typedef</span> <span style="color: #5c2699">itk</span>::<span style="color: #5c2699">Image</span>&lt; OutputMNPixelType, <span style="color: #2e0d6e">Dimension</span> > OutputImageMNType;<span class="Apple-tab-span" style="white-space:pre">        </span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; color: rgb(92, 38, 153); "><span style=""><font class="Apple-style-span" color="#000000"><span class="Apple-style-span" style="white-space: pre;">&nbsp;   </span></font></span><span style="color: #aa0d91">typedef</span><span style="color: #000000"> </span>itk<span style="color: #000000">::</span>CastImageFilter<span style="color: #000000">&lt;&nbsp;</span></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #5c2699">MovingImageType</span>,</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; OutputImageMNType> CastFilterMNType;</div><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp;&nbsp; &nbsp;<span style="color: #aa0d91">typedef</span> <span style="color: #5c2699">itk</span>::<span style="color: #5c2699">ImageFileWriter</span>&lt; OutputImageMNType >&nbsp; WriterMNType;&nbsp;&nbsp;</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp;&nbsp; &nbsp;WriterMNType::<span style="color: #5c2699">Pointer</span>&nbsp; &nbsp; &nbsp; writerMN =&nbsp; WriterMNType::<span style="color: #2e0d6e">New</span>();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp;&nbsp; &nbsp;CastFilterMNType::<span style="color: #5c2699">Pointer</span>&nbsp; casterMN =&nbsp; CastFilterMNType::<span style="color: #2e0d6e">New</span>();</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp;&nbsp; &nbsp;writerMN-><span style="color: #2e0d6e">SetFileName</span>("MN-reg.vtk");</div></div></blockquote><div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">Here I am downcasting my resampled volume to unsigned short and writing it to a file.<br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "></div><blockquote type="cite"><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp;&nbsp; &nbsp;casterMN-><span style="color: #2e0d6e">SetInput</span>(resamplerMN-><span style="color: #2e0d6e">GetOutput</span>());</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp;&nbsp; &nbsp;writerMN-><span style="color: #2e0d6e">SetInput</span>(casterMN-><span style="color: #2e0d6e">GetOutput</span>());</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">&nbsp;&nbsp; &nbsp;writerMN-><span style="color: #2e0d6e">Update</span>();<span class="Apple-tab-span" style="white-space:pre">        </span></div></blockquote><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">When I am looking at my output file, I have a volume which size is equal to CT size (256^2) ... so far so good ... that volume seems to be translated and rotated according to my transform but pixels are filled with 0 or 65536.</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">I am a bit puzzled a that time... If anybody have a clue, I greetly appreciate ...</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">Cheers</div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; "><br></div><div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Monaco; ">LF&nbsp;</div></div></div></font></div><div><font class="Apple-style-span" face="Monaco"><br></font></div><div><font class="Apple-style-span" face="Monaco"><br></font></div></body></html>