[Insight-users] itkImageConvolutionImageFilter/itkGaussianImageSource Problem
Krishnan V
v.srikrishnan at gmail.com
Thu May 26 09:33:13 EDT 2011
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/b42f3a4a/attachment.htm>
More information about the Insight-users
mailing list