<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"><span>Hi Bao,</span></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><span>I basically used the example provided in the itk package for GPU Demons:&nbsp;itkGPUDemonsRegistrationFilterTest.cxx</span></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><span>Here are some important parts of my code:</span></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 16px; color: rgb(0, 0, 0); background-color: transparent; font-style: normal;"><span><br></span></div><div style="background-color:
 transparent;"><span><font face="times new roman, new york, times, serif"><div style="background-color: transparent;">const &nbsp; &nbsp;unsigned int &nbsp; &nbsp;Dimension = 3;</div><div style="background-color: transparent;">typedef &nbsp;float &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; PixelType;</div></font></span></div><div style="background-color: transparent;"><span><font face="times new roman, new york, times, serif">typedef float &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;InternalPixelType;</font><br></span></div><div style="background-color: transparent;"><span><font face="times new roman, new york, times, serif"><div style="background-color: transparent;">typedef itk::Vector&lt; float, Dimension &gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; VectorPixelType;</div><div style="background-color: transparent;">typedef itk::GPUImage&lt; &nbsp;VectorPixelType, Dimension
 &gt; &nbsp; DeformationFieldType;</div><div style="background-color: transparent;">typedef itk::GPUDemonsRegistrationFilter&lt;&nbsp;<span style="background-color: transparent;">InternalImageType,&nbsp;</span><span style="background-color: transparent;">InternalImageType,&nbsp;</span><span style="background-color: transparent;">DeformationFieldType&gt; RegistrationFilterType;</span></div><div style="background-color: transparent;"><span style="background-color: transparent;">RegistrationFilterType::Pointer filter = RegistrationFilterType::New();<br></span></div><div style="background-color: transparent; color: rgb(0, 0, 0); font-size: 16px; font-family: 'times new roman', 'new york', times, serif; font-style: normal;"><span style="background-color: transparent;"><br></span></div><div style="background-color: transparent;"><span style="background-color: transparent;"><div style="background-color: transparent;">typedef itk::WarpImageFilter&lt;&nbsp;<span
 style="background-color: transparent;">&nbsp;MovingImageType,&nbsp;</span><span style="background-color: transparent;">&nbsp;MovingImageType,&nbsp;</span><span style="background-color: transparent;">&nbsp;DeformationFieldType &nbsp;&gt; &nbsp; &nbsp; WarperType;</span></div><div style="background-color: transparent;"><span style="background-color: transparent;"><div style="background-color: transparent;">typedef itk::LinearInterpolateImageFunction&lt;&nbsp;<span style="background-color: transparent;">&nbsp;MovingImageType,&nbsp;</span><span style="background-color: transparent;">&nbsp;double &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&gt; &nbsp;InterpolatorType;</span></div><div style="background-color: transparent;"><span style="background-color: transparent;"><div style="background-color: transparent;">WarperType::Pointer warper = WarperType::New();</div><div style="background-color: transparent;">InterpolatorType::Pointer interpolator =
 InterpolatorType::New();</div><div style="background-color: transparent;">&nbsp;&nbsp;</div><div style="background-color: transparent;"><span style="background-color: transparent;">warper-&gt;SetInput( movingImage );</span><br></div><div style="background-color: transparent;">warper-&gt;SetInterpolator( interpolator );</div><div style="background-color: transparent;">warper-&gt;SetOutputSpacing( fixedImage-&gt;GetSpacing() );</div><div style="background-color: transparent;">warper-&gt;SetOutputOrigin( fixedImage-&gt;GetOrigin() );</div><div style="background-color: transparent;">warper-&gt;SetOutputDirection( fixedImage-&gt;GetDirection() );</div><div style="background-color: transparent;">warper-&gt;SetOutputSize(fixedImage-&gt;GetLargestPossibleRegion().GetSize());</div><div style="background-color: transparent;">warper-&gt;SetEdgePaddingValue(0);</div></span></div></span></div></span></div></font></span></div><div style="font-family: 'times new
 roman', 'new york', times, serif; font-size: 12pt;"></div><div><font face="times new roman, new york, times, serif">warper-&gt;SetDisplacementField( filter-&gt;GetOutput() );</font></div><div><font face="times new roman, new york, times, serif">warper-&gt;Update();</font></div><div><font face="times new roman, new york, times, serif"><br></font></div><div><font face="times new roman, new york, times, serif">fixedImage and movingImage are both matrices with the size of 64x64x64 (float).</font></div><div><font face="times new roman, new york, times, serif"><br></font></div><div><font face="times new roman, new york, times, serif">Peymon</font></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"><br></div>  <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"> <div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt;"> <div dir="ltr"> <font size="2"
 face="Arial"> <hr size="1">  <b><span style="font-weight:bold;">From:</span></b> Baohua Wu &lt;baowu99@gmail.com&gt;<br> <b><span style="font-weight: bold;">To:</span></b> Peymon Gazi &lt;peymon.gazi@yahoo.com&gt;; insight-users@itk.org <br> <b><span style="font-weight: bold;">Sent:</span></b> Tuesday, December 11, 2012 5:04 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [Insight-users] warper filter too slow<br> </font> </div> <br>
<meta http-equiv="x-dns-prefetch-control" content="off"><div id="yiv422218385">

 
 
<style></style>

<div>
<div><font size="2" face="Arial">Hi Peyman,</font></div>
<div><font size="2" face="Arial"></font>&nbsp;</div>
<div><font size="2" face="Arial">Coud you tell us which image warping filter you 
use? It would be nice to show some code here. Thank you!</font></div>
<div><font size="2" face="Arial"></font>&nbsp;</div>
<div><font size="2" face="Arial">Bao</font></div>
<blockquote style="BORDER-LEFT:#000000 2px solid;PADDING-LEFT:5px;PADDING-RIGHT:0px;MARGIN-LEFT:5px;MARGIN-RIGHT:0px;">
  <div style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-family: arial;">----- Original Message ----- </div>
  <div style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-family: arial; background-color: rgb(228, 228, 228); background-position: initial initial; background-repeat: initial initial;"><b>From:</b> 
  <a rel="nofollow" title="peymon.gazi@yahoo.com" ymailto="mailto:peymon.gazi@yahoo.com" target="_blank" href="mailto:peymon.gazi@yahoo.com">Peymon 
  Gazi</a> </div>
  <div style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-family: arial;"><b>To:</b> <a rel="nofollow" title="insight-users@itk.org" ymailto="mailto:insight-users@itk.org" target="_blank" href="mailto:insight-users@itk.org">insight-users@itk.org</a> </div>
  <div style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-family: arial;"><b>Sent:</b> Tuesday, December 11, 2012 7:00 
  PM</div>
  <div style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 10pt; line-height: normal; font-family: arial;"><b>Subject:</b> [Insight-users] warper filter 
  too slow</div>
  <div><br></div>
  <div style="background-color: rgb(255, 255, 255); font-family: 'times new roman', 'new york', times, serif; color: rgb(0, 0, 0); font-size: 12pt;">
  <div>Hi all,<br>I'm using a multi-resolution Demons registration framework to 
  register two data sets. I use the filter implemented on GPU. It works fine; 
  however the it takes a long time to warp the moving image using the 
  displacement filter. My datasets are 2 64x64x64 (float) matrices, the whole 
  demons registration process takes less than a minute, but the warping step 
  takes about 10 minutes. <br>Any ideas?</div>
  <div>Peymon<br></div></div>
  <div>
  </div><hr>

  _____________________________________<br>Powered by 
  <a target="_blank" href="http://www.kitware.com/">www.kitware.com</a><br><br>Visit other Kitware open-source projects 
  at<br>http://www.kitware.com/opensource/opensource.html<br><br>Kitware offers 
  ITK Training Courses, for more information 
  visit:<br>http://www.kitware.com/products/protraining.php<br><br>Please keep 
  messages on-topic and check the ITK FAQ 
  at:<br>http://www.itk.org/Wiki/ITK_FAQ<br><br>Follow this link to 
  subscribe/unsubscribe:<br>http://www.itk.org/mailman/listinfo/insight-users<br></blockquote></div>
</div><meta http-equiv="x-dns-prefetch-control" content="on"><br><br> </div> </div>  </div></body></html>