[Insight-users] derivativeImageFilter

john smith mkitkinsightuser at gmail.com
Wed Mar 16 13:59:16 EDT 2011


and here is my code (if this could help you):
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

#include "itkImage.h"
#include "itkImageFileReader.h"
#include "itkImageFileWriter.h"
#include "itkDerivativeImageFilter.h"



int main(int argc, char * argv[])
{
  // Verify command line arguments
  if( argc < 2 )
    {
    std::cerr << "Usage: " << std::endl;
    std::cerr << argv[0] << " inputImageFile" << std::endl;
    return EXIT_FAILURE;
    }

  // Parse command line arguments
  std::string inputFilename = argv[1];

  // Setup types
 // typedef itk::Image< float,  2 >        FloatImageType;
  typedef itk::Image< unsigned char, 2 > ImageType;

  typedef itk::ImageFileReader< ImageType >  readerType;
  typedef itk::ImageFileWriter< ImageType >  writerType;

  typedef itk::DerivativeImageFilter<
          ImageType, ImageType >  filterType;

  // Create and setup a reader
  readerType::Pointer reader = readerType::New();
  reader->SetFileName( inputFilename.c_str() );

  // Create and setup a derivative filter
  filterType::Pointer derivativeFilter = filterType::New();
  derivativeFilter->SetInput( reader->GetOutput() );
  derivativeFilter->SetDirection(0); // "x" axis


  writerType::Pointer writer = writerType::New();
  writer->SetFileName("result.png");
  writer->SetInput(derivativeFilter->GetOutput());

      try
    {
    writer->Update();
    }
    catch( itk::ExceptionObject exp )
    {
    std::cerr << "Exception caught !" << std::endl;
    std::cerr << exp << std::endl;
    }

  return EXIT_SUCCESS;
}

2011/3/16 john smith <mkitkinsightuser at gmail.com>

> Hi,
>
> I made thechanges and  when I run it from the command line window I get a
> message which is says that png supports unsigned char and unsigned short.
> But when I make these changes I get failures in the building of the project:
> *error C2440: 'initializing' : cannot convert from
> 'itk::Concept::Detail::UniqueType_bool<__formal>' to
> 'itk::Concept::Detail::UniqueType_bool<__formal>'. *Could somebody help me
> with this?
>
> Thanks in advance
>
>
>
> 2011/3/15 robert tamburo <robert.tamburo at gmail.com>
>
>> Take a look at your writerType typedef.
>>
>>
>> On Tue, Mar 15, 2011 at 9:49 AM, john smith <mkitkinsightuser at gmail.com>wrote:
>>
>>> Hi to everyone,
>>>
>>> I want to read an image and use a derivative image filter.I wrote the
>>> following code, but when I get a failure because I thonk that the types of
>>> reader,writer and derivative image filter do not match each other.Could
>>> somebody help me?
>>>
>>> Thanks in advance
>>>
>>> ================DerivativeImageFilter.cxx==========================
>>> #include "itkImage.h"
>>> #include "itkImageFileReader.h"
>>> #include "itkImageFileWriter.h"
>>> #include "itkDerivativeImageFilter.h"
>>>
>>>
>>>
>>> int main(int argc, char * argv[])
>>> {
>>>   // Verify command line arguments
>>>   if( argc < 2 )
>>>     {
>>>     std::cerr << "Usage: " << std::endl;
>>>     std::cerr << argv[0] << " inputImageFile" << std::endl;
>>>     return EXIT_FAILURE;
>>>     }
>>>
>>>   // Parse command line arguments
>>>   std::string inputFilename = argv[1];
>>>
>>>   // Setup types
>>>   typedef itk::Image< float,  2 >        FloatImageType;
>>>   typedef itk::Image< unsigned char, 2 > UnsignedCharImageType;
>>>
>>>   typedef itk::ImageFileReader< UnsignedCharImageType >  readerType;
>>>   typedef itk::ImageFileReader< UnsignedCharImageType >  writerType;
>>>
>>>   typedef itk::DerivativeImageFilter<
>>>           UnsignedCharImageType, FloatImageType >  filterType;
>>>
>>>   // Create and setup a reader
>>>   readerType::Pointer reader = readerType::New();
>>>   reader->SetFileName( inputFilename.c_str() );
>>>
>>>   // Create and setup a derivative filter
>>>   filterType::Pointer derivativeFilter = filterType::New();
>>>   derivativeFilter->SetInput( reader->GetOutput() );
>>>   derivativeFilter->SetDirection(0); // "x" axis
>>>
>>>    typedef  itk::ImageFileWriter< writerType  > WriterType;
>>>   WriterType::Pointer writer = WriterType::New();
>>>   writer->SetFileName("result.png");
>>>   writer->SetInput(derivativeFilter->GetOutput());
>>>
>>>       try
>>>     {
>>>     writer->Update();
>>>     }
>>>     catch( itk::ExceptionObject exp )
>>>     {
>>>     std::cerr << "Exception caught !" << std::endl;
>>>     std::cerr << exp << std::endl;
>>>     }
>>>
>>>   return EXIT_SUCCESS;
>>> }
>>>
>>> _____________________________________
>>> 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/20110316/20eee95b/attachment.htm>


More information about the Insight-users mailing list