<div dir="ltr"><div><div><div><div><div>Hey Brad,<br><br></div>So in most of the DeformableRegistration examples that come in the ITK package, this line is present when creating an output image to qualitatively see how registration went:<br>
<br>warper->SetInput( movingImageReader->GetOutput() );<br><br></div>which makes it seem like the field generated from the registration process (also input into this filter) is designed to take the movingImage and warp it to look like the FixedImage. This is what I have found by running the process over and over. If I switch the line to read <br>
<br>warper->SetInput( fixedImageReader->GetOutput() );<br><br></div>I get an output image that does not looked like either my fixed or moving input. Does this still line up with your explanation?<br><br></div>All regions and domains were set to be exactly the same between fixed and moving data sets. There are significant deformations between data sets, though.<br>
<br></div>I'm never certain what data to share... what should I typically include in these emails? my cxx file? my input data?<br><br>Thanks very much for your help,<br><br>Tim<br></div><div class="gmail_extra"><br><br>
<div class="gmail_quote">On Mon, Dec 9, 2013 at 6:18 AM, Bradley Lowekamp <span dir="ltr"><<a href="mailto:brad@lowekamp.net" target="_blank">brad@lowekamp.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word">Hello,<div><br></div><div>I am working on integrating displacement fields into SimpleITK right now, so in just a couple days I should be able easily demonstrate this in SimpleITK Notebooks.</div>
<div><br></div><div>To use you WarpFilter on a results a a registration, you will be resampling the fixed image onto the moving image, as the is the direction of the transform.</div><div><br></div><div>Have you been able to use the following example:</div>
<div><br></div><div><a href="http://www.itk.org/Doxygen/html/Filtering_2WarpImageFilter1_8cxx-example.html#_a4" target="_blank">http://www.itk.org/Doxygen/html/Filtering_2WarpImageFilter1_8cxx-example.html#_a4</a></div><div>
<br></div><div>With the command line arguments as "FixedImage" DisplacementFieldImage" "OutputImage"?</div><div><br></div><div>Does the moving and fixed image have the same domain prior to registration or is there an additional large transformation going on with the displacement field?</div>
<div><br></div><div>Also if you could share your data or a small test case illustrating the problem this may help others more extensively help you.</div><div><br></div><div>Brad</div><div><div class="h5"><div><br><div><div>
On Dec 9, 2013, at 9:06 AM, Tim Bhatnagar <<a href="mailto:tim.bhatnagar@gmail.com" target="_blank">tim.bhatnagar@gmail.com</a>> wrote:</div><br><blockquote type="cite"><div dir="ltr"><div><div><div>I appreciate the response, Brad.<br>
<br></div>Can you tell me how the implementation of the 'WarpImageFilter' works, such that when I input my Demons-generated displacement field, and my 'movingImage' (from Demons) as input, I get what looks like my 'fixedImage' (from Demons) as output... making me think that the displacement field is actually mapping my movingImage into my fixedImage?<br>

<br></div>Also, I use Paraview to visualize my field, and when visualized, it illustrates what you are suggesting (the mapping that would take fixed -> moving). But how then, does the WarpFilter use the SAME FIELD to warp my movingImage into a very nice estimation of my fixedImage?<br>

<br></div>Sorry if any of that is convoluted..<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Dec 9, 2013 at 6:00 AM, Bradley Lowekamp <span dir="ltr"><<a href="mailto:brad@lowekamp.net" target="_blank">brad@lowekamp.net</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hello,<div><br></div><div>It not uncommon for resampling-type algorithms to have some points be mapped out side the the domain. This is why a boundary condition and extrapolators are used. If there are just a limited number of pixel being mapped out side, then the simplest way be by to just check if the pixel is within the image's region.</div>

<div><br></div><div>ITK's registration frameworks solve for a transform which maps from the "Fixed" image to the "Moving" image. This is well described int Chapter Eight of the old Software guide:</div>

<div><br></div><div><a href="http://www.itk.org/ItkSoftwareGuide.pdf" target="_blank">http://www.itk.org/ItkSoftwareGuide.pdf</a></div><div><br></div><div>Brad</div><div><br><div><div><div><div>On Dec 8, 2013, at 6:38 PM, Tim Bhatnagar <<a href="mailto:tim.bhatnagar@gmail.com" target="_blank">tim.bhatnagar@gmail.com</a>> wrote:</div>

<br></div></div><blockquote type="cite"><div><div><div dir="ltr"><div><div>Hello,<br><br></div>I've created a displacement field via Demons non-rigid registration. I am now trying to create the inverse (using InverseDisplacementFieldImageFilter), but when I am using the indexes to ascribe the inverted field, my program crashes mid-way through, because it appears I am trying to call a <b>negative</b> index (specifically, the 3rd index parameter.. the 'z'-parameter).<br>


<br>I don't do anything to the displacement field except write it to a vtk file before i invert it.. can anyone suggest a solution? I thought I could try and specify the 'direction' of the field, but I'm not sure where in my pipeline I can set the direction of the <b>inverted</b> displacement field...<br>


<br></div>sorry if that's messy.. any thoughts would be appreciated!<br><br>Thanks,<br><br>Tim<br clear="all"><div><br>-- <br>Tim Bhatnagar<br>PhD Candidate<br>Orthopaedic Injury Biomechanics Group<br>Department of Mechanical Engineering<br>


University of British Columbia<br><br>Rm 5000 - 818 West 10th Ave.<br>Vancouver, BC<br>Canada<br>V5Z 1M9<br><br>Ph: <a href="tel:%28604%29%20675-8845" value="+16046758845" target="_blank">(604) 675-8845</a><br>Fax: <a href="tel:%28604%29%20675-8820" value="+16046758820" target="_blank">(604) 675-8820</a><br>

Web: <a href="http://oibg.mech.ubc.ca/" target="_blank">oibg.mech.ubc.ca</a><br>

</div></div></div></div><div>
_____________________________________<br>Powered by <a href="http://www.kitware.com/" target="_blank">www.kitware.com</a><br><br>Visit other Kitware open-source projects at<br><a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>

<br>Kitware offers ITK Training Courses, for more information visit:<br><a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br><br>Please keep messages on-topic and check the ITK FAQ at:<br>

<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br><br>Follow this link to subscribe/unsubscribe:<br><a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>

</div></blockquote></div><br></div></div></blockquote></div><br><br clear="all"><br>-- <br>Tim Bhatnagar<br>PhD Candidate<br>Orthopaedic Injury Biomechanics Group<br>Department of Mechanical Engineering<br>University of British Columbia<br>

<br>Rm 5000 - 818 West 10th Ave.<br>Vancouver, BC<br>Canada<br>V5Z 1M9<br><br>Ph: <a href="tel:%28604%29%20675-8845" value="+16046758845" target="_blank">(604) 675-8845</a><br>Fax: <a href="tel:%28604%29%20675-8820" value="+16046758820" target="_blank">(604) 675-8820</a><br>
Web: <a href="http://oibg.mech.ubc.ca/" target="_blank">oibg.mech.ubc.ca</a><br>
</div>
</blockquote></div><br></div></div></div></div></blockquote></div><br><br clear="all"><br>-- <br>Tim Bhatnagar<br>PhD Candidate<br>Orthopaedic Injury Biomechanics Group<br>Department of Mechanical Engineering<br>University of British Columbia<br>
<br>Rm 5000 - 818 West 10th Ave.<br>Vancouver, BC<br>Canada<br>V5Z 1M9<br><br>Ph: (604) 675-8845<br>Fax: (604) 675-8820<br>Web: <a href="http://oibg.mech.ubc.ca" target="_blank">oibg.mech.ubc.ca</a><br>
</div>