<html>
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 10 (filtered)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
h1
        {margin-top:12.0pt;
        margin-right:0cm;
        margin-bottom:3.0pt;
        margin-left:0cm;
        page-break-after:avoid;
        font-size:16.0pt;
        font-family:Arial;}
h2
        {margin-top:12.0pt;
        margin-right:0cm;
        margin-bottom:3.0pt;
        margin-left:0cm;
        page-break-after:avoid;
        font-size:14.0pt;
        font-family:Arial;
        font-style:italic;}
h3
        {margin-top:12.0pt;
        margin-right:0cm;
        margin-bottom:3.0pt;
        margin-left:0cm;
        page-break-after:avoid;
        font-size:13.0pt;
        font-family:Arial;}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
p.EPSRCHeading1, li.EPSRCHeading1, div.EPSRCHeading1
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:6.0pt;
        margin-left:0cm;
        page-break-after:avoid;
        font-size:14.0pt;
        font-family:Calibri;
        font-weight:bold;}
p.EPSRCHeading2, li.EPSRCHeading2, div.EPSRCHeading2
        {margin-top:3.0pt;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:0cm;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:12.0pt;
        font-family:Calibri;
        text-transform:uppercase;
        font-weight:bold;
        font-style:italic;}
p.EPSRCHeading3, li.EPSRCHeading3, div.EPSRCHeading3
        {margin-top:3.0pt;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:0cm;
        margin-bottom:.0001pt;
        page-break-after:avoid;
        font-size:11.0pt;
        font-family:Calibri;
        font-weight:bold;
        font-style:italic;}
p.EPSRCNormal, li.EPSRCNormal, div.EPSRCNormal
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:3.0pt;
        margin-left:0cm;
        text-indent:17.0pt;
        line-height:12.0pt;
        font-size:11.0pt;
        font-family:Calibri;}
p.EPSRCBullets, li.EPSRCBullets, div.EPSRCBullets
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:3.0pt;
        margin-left:19.85pt;
        text-indent:-11.35pt;
        line-height:12.0pt;
        font-size:11.0pt;
        font-family:Calibri;}
p.EPSRCBulletsCxSpFirst, li.EPSRCBulletsCxSpFirst, div.EPSRCBulletsCxSpFirst
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:19.85pt;
        margin-bottom:.0001pt;
        text-indent:-11.35pt;
        line-height:12.0pt;
        font-size:11.0pt;
        font-family:Calibri;}
p.EPSRCBulletsCxSpMiddle, li.EPSRCBulletsCxSpMiddle, div.EPSRCBulletsCxSpMiddle
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:19.85pt;
        margin-bottom:.0001pt;
        text-indent:-11.35pt;
        line-height:12.0pt;
        font-size:11.0pt;
        font-family:Calibri;}
p.EPSRCBulletsCxSpLast, li.EPSRCBulletsCxSpLast, div.EPSRCBulletsCxSpLast
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:3.0pt;
        margin-left:19.85pt;
        text-indent:-11.35pt;
        line-height:12.0pt;
        font-size:11.0pt;
        font-family:Calibri;}
p.EPSRCNumbering, li.EPSRCNumbering, div.EPSRCNumbering
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:3.0pt;
        margin-left:19.85pt;
        text-indent:-11.35pt;
        line-height:12.0pt;
        font-size:11.0pt;
        font-family:Calibri;}
p.EPSRCNumberingCxSpFirst, li.EPSRCNumberingCxSpFirst, div.EPSRCNumberingCxSpFirst
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:19.85pt;
        margin-bottom:.0001pt;
        text-indent:-11.35pt;
        line-height:12.0pt;
        font-size:11.0pt;
        font-family:Calibri;}
p.EPSRCNumberingCxSpMiddle, li.EPSRCNumberingCxSpMiddle, div.EPSRCNumberingCxSpMiddle
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:19.85pt;
        margin-bottom:.0001pt;
        text-indent:-11.35pt;
        line-height:12.0pt;
        font-size:11.0pt;
        font-family:Calibri;}
p.EPSRCNumberingCxSpLast, li.EPSRCNumberingCxSpLast, div.EPSRCNumberingCxSpLast
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:3.0pt;
        margin-left:19.85pt;
        text-indent:-11.35pt;
        line-height:12.0pt;
        font-size:11.0pt;
        font-family:Calibri;}
p.StyleEPSRCNormalCentered, li.StyleEPSRCNormalCentered, div.StyleEPSRCNormalCentered
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:3.0pt;
        margin-left:0cm;
        text-align:center;
        text-indent:17.0pt;
        line-height:12.0pt;
        font-size:11.0pt;
        font-family:Calibri;}
p.CVList, li.CVList, div.CVList
        {margin-top:0cm;
        margin-right:0cm;
        margin-bottom:6.0pt;
        margin-left:36.0pt;
        text-align:justify;
        text-indent:-18.0pt;
        font-size:12.0pt;
        font-family:"Times New Roman";
        color:black;}
span.EmailStyle25
        {font-family:Arial;
        color:windowtext;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 90.0pt 72.0pt 90.0pt;}
div.Section1
        {page:Section1;}
/* List Definitions */
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
-->
</style>
</head>
<body lang=EN-US link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'>Hi there,</span></font></p>
<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'> </span></font></p>
<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'>I was wondering if someone
might be able to offer advice regarding the new ITK 4.2 </span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>GPU</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
implementation of the demons algorithm.</span></font></p>
<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'> </span></font></p>
<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'>I have an application using
the standard CPU implementation to register 3D CT images (512x512x~70 voxels).
This behaves perfectly when registering synthetic deformations to their
original image. I typically use a smoothing kernel standard deviation of 10.0
with no update field smoothing. With my images, the metric reduces
exponentially as expected from ~8000 to 350 over 50 iterations with the RMS
update field change showing a similar but slower trend from ~0.08 to 0.04.
After 50 iterations the solutions have made good progress towards the original
images. </span></font></p>
<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'> </span></font></p>
<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'>Porting this code to the </span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>GPU</span></font><font
size=2 face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
implementation following the examples in the itkGPUDemonsRegistrationFilterTests
(i.e. swapping the internal image type for GPUImageType and GPUDemonsRegistrationFilter
for DemonsRegistrationFilter) provides an immediate ~x15 increase in speed on
my machine (GeForce GTX480). However using the same input data and smoothing
parameters, the metric and RMS update field trends, although still exponential
show changes from ~8000 to 1500 (metric) and ~0.3 to 0.2 (update field). The
result is that the deformation field produced is much too large. Changing
smoothing parameters does not change this behaviour, whilst enabling update
field smoothing crashes the process (in GPUDemonsRegistrationFilter::ApplyUpdate).
It is very strange that the similarity metric is continuing to reduce as the
deformation field pushes the moving image through and past its correct fixed
image alignment.</span></font></p>
<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'> </span></font></p>
<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'>Would someone be able to
tell me if this is expected behaviour/are known bugs, or offer advice if I am
using the </span></font><font size=2 face="Courier New"><span style='font-size:
10.0pt;font-family:"Courier New"'>GPU</span></font><font size=2
face="Courier New"><span style='font-size:10.0pt;font-family:"Courier New"'>
registration filter incorrectly?</span></font></p>
<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'> </span></font></p>
<p class=MsoNormal style='text-autospace:none'><font size=2 face="Courier New"><span
style='font-size:10.0pt;font-family:"Courier New"'>Many thanks, Gareth</span></font></p>
<p class=MsoNormal><font size=2 face=Arial><span style='font-size:10.0pt;
font-family:Arial'> </span></font></p>
</div>
<DIV><P><HR>
****************************************************************<BR>
This e-mail and any files transmitted with it are confidential<BR>
and solely for the use of the intended recipient. If you have<BR>
received this e-mail in error you should not disseminate,<BR>
distribute or copy it. Please notify the sender immediately and<BR>
delete this e-mail from your system.<BR>
****************************************************************<BR>
</P></DIV>
</body>
</html>