<div dir="ltr">Yes,I can switch to ITk4.0. Since my program is not dependent on ITK till now. <br><br>(But I am more interested in the fft based convolution filters. If you have your fft based filter codes I could test them with ITK4.0, before you push it to git.)<br>
<br>Thanks<br><br>Jothy<br><br><br><div class="gmail_quote">On Fri, Sep 16, 2011 at 3:29 PM, Cory Quammen <span dir="ltr">&lt;<a href="mailto:cquammen@cs.unc.edu">cquammen@cs.unc.edu</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Jothy,<br>
<br>
I understand that you are copying files from git to the 3.20 source.<br>
Is that correct? If so, that sounds dangerous to me, and my best<br>
advice to you is to stick with one version.<br>
<br>
For what it&#39;s worth, the ConvolutionImageFilter tests are compiling<br>
fine within the current source in git on the compilers ITK supports,<br>
and the method giving you the error is being exercised by the tests.<br>
My guess is that there is a problem with mixing source between<br>
versions. There are many changes in git, and I wouldn&#39;t be surprised<br>
if doing what you are doing causes problems.<br>
<br>
Would it be possible for you to switch completely to the source in git?<br>
<br>
Thanks,<br>
<font color="#888888">Cory<br>
</font><div><div></div><div class="h5"><br>
On Fri, Sep 16, 2011 at 10:10 AM, Jothy &lt;<a href="mailto:jothybasu@gmail.com">jothybasu@gmail.com</a>&gt; wrote:<br>
&gt; Hi Cory,<br>
&gt;<br>
&gt; I use QtCreator, so the cmake lists is auomagically managed by qmake. In<br>
&gt; fact  I don&#39;t even know how to create cmakeLists.txt and I never required<br>
&gt; with QtCreator.<br>
&gt;<br>
&gt; I have managed to make a simple function as shown below.<br>
&gt;<br>
&gt; It converts 2 vtkImageData into itkImages, both are 3D. The conversion works<br>
&gt; pretty well and verified with old itkConvolutionImageFilter. Then I convolve<br>
&gt; with the latest filter. I copied all the necessary files from itk4.0 to the<br>
&gt; src folder such as itkDivideByConstantImageFilter,....<br>
&gt;<br>
&gt; Hope you will be able to manage with this<br>
&gt;<br>
&gt; #include&quot;itkVTKImageToImageFilter.h&quot;<br>
&gt;<br>
&gt; #include &quot;itkImageToVTKImageFilter.h&quot;<br>
&gt;<br>
&gt; #include&quot;itkImage.h&quot;<br>
&gt;<br>
&gt; #include&quot;itkConvolutionImageFilter.h&quot;<br>
&gt;<br>
&gt; #include&quot;vtkImageData.h&quot;<br>
&gt;<br>
&gt; #include&quot;QDebug&quot;<br>
&gt;<br>
&gt; void main(vtkImageData* input,vtkImageData* kernel)<br>
&gt;<br>
&gt; {<br>
&gt;<br>
&gt; //Convert input vtkImageData to itkImage<br>
&gt;<br>
&gt; typedef  itk::Image&lt;unsigned int,3&gt; ImageType;<br>
&gt;<br>
&gt; typedef  itk::VTKImageToImageFilter&lt;ImageType&gt;VTKImageToImageType;<br>
&gt;<br>
&gt; VTKImageToImageType::Pointer converter=VTKImageToImageType::New();<br>
&gt;<br>
&gt; converter-&gt;SetInput(input-&gt;GetOutput());<br>
&gt;<br>
&gt; converter-&gt;Update();<br>
&gt;<br>
&gt; //Convert kernel vtkImageData to itkImage<br>
&gt;<br>
&gt; typedef  itk::Image&lt;unsigned int,3&gt; ImageTypeKernel;<br>
&gt;<br>
&gt; typedef<br>
&gt; itk::VTKImageToImageFilter&lt;ImageTypeKernel&gt;VTKImageToImageTypeKernel;<br>
&gt;<br>
&gt; VTKImageToImageTypeKernel::Pointer<br>
&gt; converterKernel=VTKImageToImageTypeKernel::New();<br>
&gt;<br>
&gt; converterKernel-&gt;SetInput(kernel);<br>
&gt;<br>
&gt; converterKernel-&gt;Update();<br>
&gt;<br>
&gt; //Crashes while executing htis<br>
&gt;<br>
&gt; qDebug()&lt;&lt;&quot;Convolving....&quot;;<br>
&gt;<br>
&gt; typedef  itk::ConvolutionImageFilter&lt;ImageType&gt; ConvolutionFilterType;<br>
&gt;<br>
&gt; ConvolutionFilterType::Pointer convoluter= ConvolutionFilterType::New();<br>
&gt;<br>
&gt; convoluter-&gt;SetInput(converter-&gt;GetOutput());<br>
&gt;<br>
&gt; convoluter-&gt;SetImageKernelInput(converterKernel-&gt;GetOutput());<br>
&gt;<br>
&gt; //convoluter-&gt;SetOutputRegionModeToSame();<br>
&gt;<br>
&gt; convoluter-&gt;Update();<br>
&gt;<br>
&gt; qDebug()&lt;&lt;&quot;Convolving done....&quot;;<br>
&gt;<br>
&gt;<br>
&gt; }<br>
&gt;<br>
&gt; Thanks<br>
&gt;<br>
&gt; Jothy<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Sep 16, 2011 at 2:23 PM, Cory Quammen &lt;<a href="mailto:cquammen@cs.unc.edu">cquammen@cs.unc.edu</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Jothy,<br>
&gt;&gt;<br>
&gt;&gt; Could you post a minimal compilable and runnable example with an<br>
&gt;&gt; accompanying CMakeLists.txt file that gives the compilation error?<br>
&gt;&gt;<br>
&gt;&gt; Thanks,<br>
&gt;&gt; Cory<br>
&gt;&gt;<br>
&gt;&gt; On Fri, Sep 16, 2011 at 7:39 AM, Jothy &lt;<a href="mailto:jothybasu@gmail.com">jothybasu@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt; Hi all,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I am trying to use the itkConvolutionImageFilter from git (since some of<br>
&gt;&gt; &gt; the<br>
&gt;&gt; &gt; bugs are fixed in this). i was able to sucessfully use the older version<br>
&gt;&gt; &gt; of<br>
&gt;&gt; &gt; this downloaded from the Insight journal. But I get the following errors<br>
&gt;&gt; &gt; with the git version.<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; In file included from ..\BIOSIM2\/itkConvolutionImageFilter.h:197,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; from ..\BIOSIM2\myimagefilters.cpp:48:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; ..\BIOSIM2\/itkConvolutionImageFilter.hxx: In member function &#39;typename<br>
&gt;&gt; &gt; itk::ConvolutionImageFilter&lt;TInputImage, TKernelImage,<br>
&gt;&gt; &gt; TOutputImage&gt;::OutputRegionType itk::ConvolutionImageFilter&lt;TInputImage,<br>
&gt;&gt; &gt; TKernelImage, TOutputImage&gt;::GetValidRegion() const [with TInputImage =<br>
&gt;&gt; &gt; itk::Image&lt;unsigned int, 3u&gt;, TKernelImage = itk::Image&lt;unsigned int,<br>
&gt;&gt; &gt; 3u&gt;,<br>
&gt;&gt; &gt; TOutputImage = itk::Image&lt;unsigned int, 3u&gt;]&#39;:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; ..\BIOSIM2\/itkConvolutionImageFilter.hxx:200: instantiated from &#39;void<br>
&gt;&gt; &gt; itk::ConvolutionImageFilter&lt;TInputImage, TKernelImage,<br>
&gt;&gt; &gt; TOutputImage&gt;::GenerateOutputInformation() [with TInputImage =<br>
&gt;&gt; &gt; itk::Image&lt;unsigned int, 3u&gt;, TKernelImage = itk::Image&lt;unsigned int,<br>
&gt;&gt; &gt; 3u&gt;,<br>
&gt;&gt; &gt; TOutputImage = itk::Image&lt;unsigned int, 3u&gt;]&#39;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; ..\BIOSIM2\myimagefilters.cpp:494: instantiated from here<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; ..\BIOSIM2\/itkConvolutionImageFilter.hxx:267: error: passing &#39;const<br>
&gt;&gt; &gt; itk::ConvolutionImageFilter&lt;itk::Image&lt;unsigned int, 3u&gt;,<br>
&gt;&gt; &gt; itk::Image&lt;unsigned int, 3u&gt;, itk::Image&lt;unsigned int, 3u&gt; &gt;&#39; as &#39;this&#39;<br>
&gt;&gt; &gt; argument of &#39;const TInputImage* itk::ImageToImageFilter&lt;TInputImage,<br>
&gt;&gt; &gt; TOutputImage&gt;::GetInput() [with TInputImage = itk::Image&lt;unsigned int,<br>
&gt;&gt; &gt; 3u&gt;,<br>
&gt;&gt; &gt; TOutputImage = itk::Image&lt;unsigned int, 3u&gt;]&#39; discards qualifiers<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; And here is the code I use to convolve<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; typedef itk::ConvolutionImageFilter&lt;ImageType&gt; ConvolutionFilterType;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; ConvolutionFilterType::Pointer convoluter= ConvolutionFilterType::New();<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; convoluter-&gt;SetInput(converter-&gt;GetOutput());<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; convoluter-&gt;SetImageKernelInput(converterKernel-&gt;GetOutput());<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; convoluter-&gt;Update();<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Any hints<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Jothy<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; --<br>
&gt;&gt; &gt; Jothybasu K Selvaraj<br>
&gt;&gt; &gt; PhD Student<br>
&gt;&gt; &gt; University of Liverpool<br>
&gt;&gt; &gt; Liverpool,UK<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _____________________________________<br>
&gt;&gt; &gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Visit other Kitware open-source projects at<br>
&gt;&gt; &gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Kitware offers ITK Training Courses, for more information visit:<br>
&gt;&gt; &gt; <a href="http://www.kitware.com/products/protraining.html" target="_blank">http://www.kitware.com/products/protraining.html</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Please keep messages on-topic and check the ITK FAQ at:<br>
&gt;&gt; &gt; <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt; &gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Cory Quammen<br>
&gt;&gt; Research Associate<br>
&gt;&gt; Department of Computer Science<br>
&gt;&gt; The University of North Carolina at Chapel Hill<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; Jothybasu K Selvaraj<br>
&gt; PhD Student<br>
&gt; University of Liverpool<br>
&gt; Liverpool,UK<br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
</div></div>--<br>
<div><div></div><div class="h5">Cory Quammen<br>
Research Associate<br>
Department of Computer Science<br>
The University of North Carolina at Chapel Hill<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br><div dir="ltr">Jothybasu K Selvaraj<br>PhD Student<br>University of Liverpool<br>Liverpool,UK<br></div><br>
</div>