<div dir="ltr">Dear Matt, <div>I have successfully tried your answer to my registration problem (using <span style="font-family:arial,sans-serif;font-size:13px">SetNumberOfRequiredInputs</span> and <span style="font-family:arial,sans-serif;font-size:13px">this->SetInput( 0, fixedImage ) </span> )<br>

However this->GetInput() returns a casual pointer instead of a SmartPointer. In order to be consistent with the rest of my filters (and the rest of my program), I have had to cast it like this:</div><div><br></div><div>

ImageType::Pointer fixedImage = const_cast<ImageType*>( this->GetInput(0) ); <br><br>as per mentioned here: <a href="http://www.itk.org/pipermail/insight-users/2008-February/024988.html">http://www.itk.org/pipermail/insight-users/2008-February/024988.html</a> <br>
Yet, when later on in the code I use<br>







<p>registrator->SetFixedImageRegion( fixedImage->GetLargestPossibleRegion() );<br><br>the program ends with a segfault. Somehow the casting does not work and returns NULL.<br>Do you have any ideas why that is?</p><p>
<br></p><p>Yours Sincerely<br><br>Thibault</p></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-02-13 19:10 GMT-06:00 Thibault Lucidarme <span dir="ltr"><<a href="mailto:thibault.lucidarme@gmail.com" target="_blank">thibault.lucidarme@gmail.com</a>></span>:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear Matt,<div>Thank you for taking the time to make it buildable, I am sorry for not doing so in the first place.</div>
<div>I will try your suggestions as soon as possible and will come back to you.</div><div>
<br></div><div>Sincerely</div><div><br></div><div>Thibault</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2014-02-13 16:02 GMT-06:00 Matt McCormick <span dir="ltr"><<a href="mailto:matt.mccormick@kitware.com" target="_blank">matt.mccormick@kitware.com</a>></span>:<div>
<div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Thibault,<div><br></div><div>This was not buildable, but I made it buildable here:</div><div><br></div>

<div><a href="https://gist.github.com/thewtex/8984576" target="_blank">https://gist.github.com/thewtex/8984576</a><br>
</div><div><br></div><div>When this is run, the caught exception says:</div><div><br></div><div><div>Error: </div><div>itk::ExceptionObject (0x1c95630)</div><div>Location: "unknown" </div><div>File: /home/matt/src/ITK/Modules/Core/Common/src/itkProcessObject.cxx</div>


<div>Line: 1370</div><div>Description: itk::ERROR: RegistrationFilter(0x1c92430): Input Primary is required but not set.</div><div><br></div><div>Since ImageToImageFilter (the base class) is a filter, that transform inputs to outputs, these must be specified.  ImageToImageFilter call SetNumberOfRequiredInputs(1) in its constructor [1].  Therefore, this class should set the NumberOfRequiredInputs to 2, and call this->SetInput( 0, fi ) in SetFixedImage, and similar in SetMovingImage.</div>


<div><br></div><div>Hope this helps,</div><div>Matt</div><div><br></div><div>[1] <a href="http://itk.org/gitweb?p=ITK.git;a=blob;f=Modules/Core/Common/include/itkImageToImageFilter.hxx;h=59f44fac45bd22be1a362584466ae593be1e602b;hb=HEAD#l44" target="_blank">http://itk.org/gitweb?p=ITK.git;a=blob;f=Modules/Core/Common/include/itkImageToImageFilter.hxx;h=59f44fac45bd22be1a362584466ae593be1e602b;hb=HEAD#l44</a></div>


<div><br></div></div><div><br></div></div><div><div><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Feb 13, 2014 at 3:39 PM, Thibault Lucidarme <span dir="ltr"><<a href="mailto:thibault.lucidarme@gmail.com" target="_blank">thibault.lucidarme@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Here is a link to the public gist:<br><a href="https://gist.github.com/anonymous/8983351" target="_blank">https://gist.github.com/anonymous/8983351</a><br>


<br>Thank you for your help</div><div class="gmail_extra"><br><br><div class="gmail_quote">
2014-02-13 14:25 GMT-06:00 Matt McCormick <span dir="ltr"><<a href="mailto:matt.mccormick@kitware.com" target="_blank">matt.mccormick@kitware.com</a>></span>:<div><div><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div dir="ltr">Hi Thibault,<div><br></div><div>Yes, a self-contained, buildable set of code may be the only way to understand what is happening.  Github Gists [1] work well for this.</div><div><br></div><div>Thanks,</div>



<div>
Matt</div><div><br></div><div>[1] <a href="https://gist.github.com/" target="_blank">https://gist.github.com/</a></div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div>On Thu, Feb 13, 2014 at 2:23 PM, Thibault Lucidarme <span dir="ltr"><<a href="mailto:thibault.lucidarme@gmail.com" target="_blank">thibault.lucidarme@gmail.com</a>></span> wrote:<br>




</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">Dear ITK Community,<div>I am trying ITK for the first time to perform a simple registration on 3D data on a mac.<br>




Using various tutorials found online I came to write a simple registration composite filter.<br>
However when I launch the filter (registration->Update() ), the process stops with the error:<br><br>







<p>libc++abi.dylib: terminate called throwing an exception. Abort trap: 6</p><p>Here is the backtrace</p><p>#8  0x00000001000f3b57 in itk::ProcessObject::VerifyPreconditions ()</p><p>#9  0x00000001000f4248 in itk::ProcessObject::UpdateOutputInformation ()</p>





<p>#10 0x00000001000263a1 in itk::ImageBase<3u>::UpdateOutputInformation (this=0x101758dd0) at itkImageBase.hxx:234</p><p>#11 0x00000001000fcd72 in itk::DataObject::Update ()</p><p>











</p><p>#12 0x000000010001b1b9 in main (argc=1, argv=0x7fff5fbffb68) at [...]/src/main.cpp:126 (this is the registration->Update line)</p><p>Google hasn't helped.<br></p>I do not think the problems comes from the library build or the structure of my GenerateData (I have already tested a composited enhanced watershed filter and it works fine). But I am running out of ideas as to how to solve this issue.</div>





<div><br></div><div>Do you want me to provide the code for the filter?</div><div><br></div><div>Thank you very much in advance for your help.</div><div><br></div><div>Sincerely<span><font color="#888888"><br clear="all">




<div><br></div>-- <br><br>Thibault Lucidarme<br>
<br>
</font></span></div></div>
<br></div></div>_______________________________________________<br>
Community mailing list<br>
<a href="mailto:Community@itk.org" target="_blank">Community@itk.org</a><br>
<a href="http://public.kitware.com/cgi-bin/mailman/listinfo/community" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/community</a><br>
<br></blockquote></div><br></div>
</blockquote></div></div></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br><br>Thibault<br><br>
</font></span></div>
</blockquote></div><br></div>
</div></div></blockquote></div></div></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><br>Thibault<br><br>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><br>Thibault<br><br>
</div>