[Insight-users] itkImageConvolutionImageFilter/itkGaussianImageSource Problem

Neil Panjwani paniwani at gmail.com
Thu May 26 09:38:03 EDT 2011


What are the dimensions of your kernel? They should be small like 3x3 in the
example...

On Thu, May 26, 2011 at 9:33 AM, Krishnan V <v.srikrishnan at gmail.com> wrote:

>
>
> On Thu, May 26, 2011 at 6:58 PM, Neil Panjwani <paniwani at gmail.com> wrote:
>
>> Not sure if you've seen this already, but it's a simpler example that
>> should work:
>>
>>
>> http://www.itk.org/Wiki/ITK/Examples/ImageProcessing/ConvolutionImageFilter
>>
>> Thanks for the reply. that works... my example does not.
>
>> On Thu, May 26, 2011 at 5:04 AM, Krishnan V <v.srikrishnan at gmail.com>wrote:
>>
>>>
>>> Hi all,
>>> I am trying out the convolution image filter by generating a simple
>>> Gaussian and convolving it with itself, ie, convolve a gaussian with itself.
>>> This is done in 2D. I get an output which consists of two peaks at two ends
>>> of the image along the X-axis.  This is obviously not the expected output. I
>>> have attached a simple sample code.
>>> Can someone faced a similar issue or help out with this?
>>> thanks
>>> krishnan
>>> /************************************************************************************************************
>>> */
>>> #include <itkImage.h>
>>> #include <itkGaussianImageSource.h>
>>> #include <itkConvolutionImageFilter.h>
>>>
>>> typedef float PixelType;
>>> typedef itk::Image<PixelType, 2> ImageType2D;
>>> typedef itk::ImageFileReader<ImageType2D> Reader2D;
>>> typedef itk::ImageFileWriter<ImageType2D> Writer2D;
>>> void convolve_test(ImageType2D::Pointer input_image, ImageType2D::Pointer
>>> kernel)
>>> {
>>>     typedef itk::ConvolutionImageFilter<ImageType2D,ImageType2D>
>>> Convolver_Type;
>>>     Convolver_Type::Pointer convolve = Convolver_Type::New();
>>>
>>>     convolve->SetInput(kernel);
>>>     convolve->SetImageKernelInput(kernel);
>>>     convolve->Update();
>>>
>>>     Writer2D::Pointer imwriter = Writer2D::New();
>>>     imwriter->SetInput(convolve->GetOutput());
>>>     imwriter->SetFileName("lenna.nii");
>>>     imwriter->Update();
>>>     return;
>>> }
>>> int main(int argc, char **argv)
>>> {
>>>   Writer2D::Pointer writer = Writer2D::New();
>>>   ImageType2D::Pointer kernel;
>>>   typedef itk::GaussianImageSource<ImageType2D> Gaussian_Generator_Type;
>>>   Gaussian_Generator_Type::Pointer kernel_generator =
>>> Gaussian_Generator_Type::New();
>>>   double sigma[3];
>>>   unsigned long size[3];
>>>   double mean[3];
>>>
>>>   Reader2D::Pointer imreader = Reader2D::New();
>>>   imreader->SetFileName(argv[1]);
>>>   imreader->Update();
>>>
>>>   sigma[0] = 10.00; sigma[1] = 10.0;
>>>   kernel_generator->SetSigma(sigma);
>>>
>>>   kernel_generator->Update();
>>>   kernel = kernel_generator->GetOutput();
>>>   convolve_test( imreader->GetOutput(), kernel);
>>>   /* Write the Gaussian */
>>>   writer->SetFileName("Gaussian-1.nii");
>>>   writer->SetInput(kernel);
>>>   writer->Update();
>>>
>>>   return 0;
>>> }
>>>
>>> _____________________________________
>>> Powered by www.kitware.com
>>>
>>> Visit other Kitware open-source projects at
>>> http://www.kitware.com/opensource/opensource.html
>>>
>>> Kitware offers ITK Training Courses, for more information visit:
>>> http://www.kitware.com/products/protraining.html
>>>
>>> Please keep messages on-topic and check the ITK FAQ at:
>>> http://www.itk.org/Wiki/ITK_FAQ
>>>
>>> Follow this link to subscribe/unsubscribe:
>>> http://www.itk.org/mailman/listinfo/insight-users
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110526/ef573f11/attachment.htm>


More information about the Insight-users mailing list