adapter class, that encapsulates any itk::ImageToImageFilter More...
#include <mitkItkImageToImageFilterAdapter.h>
Public Types | |
typedef TPixel | PixelType |
typedef itk::Image< PixelType, 3 > | ItkImageType |
typedef itk::ImageToImageFilter < ItkImageType, ItkImageType > | ImageToImageFilterType |
typedef ItkImageToImageFilterAdapter | Self |
typedef ImageSource | Superclass |
typedef itk::SmartPointer< Self > | Pointer |
typedef itk::SmartPointer < const Self > | ConstPointer |
Public Member Functions | |
virtual const char * | GetClassName () const |
virtual void | SetFirstFilter (ImageToImageFilterType *_arg) |
virtual ImageToImageFilterType * | GetFirstFilter () |
virtual void | SetLastFilter (ImageToImageFilterType *_arg) |
virtual ImageToImageFilterType * | GetLastFilter () |
void | SetSingleFilter (typename ImageToImageFilterType::Pointer filter) |
virtual void | GenerateOutputInformation () |
virtual void | GenerateData () |
A version of GenerateData() specific for image processing filters. | |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
ItkImageToImageFilterAdapter () | |
virtual | ~ItkImageToImageFilterAdapter () |
Protected Attributes | |
ImageToImageFilterType::Pointer | m_FirstFilter |
ImageToImageFilterType::Pointer | m_LastFilter |
adapter class, that encapsulates any itk::ImageToImageFilter
This filter converts a mitk::Image to an itk::Image, executes the itkFilter and converts the itk::Image back to a mitk::Image as output. Either call SetSingleFilter() to encapsulate one itk::ImageToImageFilter, or SetFirstFilter() and SetLastFilter() to encapsulate a whole itk pipeline.
Definition at line 39 of file mitkItkImageToImageFilterAdapter.h.
typedef itk::SmartPointer<const Self> mitk::ItkImageToImageFilterAdapter< TPixel >::ConstPointer |
Definition at line 46 of file mitkItkImageToImageFilterAdapter.h.
typedef itk::ImageToImageFilter<ItkImageType, ItkImageType> mitk::ItkImageToImageFilterAdapter< TPixel >::ImageToImageFilterType |
Definition at line 44 of file mitkItkImageToImageFilterAdapter.h.
typedef itk::Image<PixelType, 3> mitk::ItkImageToImageFilterAdapter< TPixel >::ItkImageType |
Definition at line 43 of file mitkItkImageToImageFilterAdapter.h.
typedef TPixel mitk::ItkImageToImageFilterAdapter< TPixel >::PixelType |
Definition at line 42 of file mitkItkImageToImageFilterAdapter.h.
typedef itk::SmartPointer<Self> mitk::ItkImageToImageFilterAdapter< TPixel >::Pointer |
Definition at line 46 of file mitkItkImageToImageFilterAdapter.h.
typedef ItkImageToImageFilterAdapter mitk::ItkImageToImageFilterAdapter< TPixel >::Self |
Definition at line 46 of file mitkItkImageToImageFilterAdapter.h.
typedef ImageSource mitk::ItkImageToImageFilterAdapter< TPixel >::Superclass |
Definition at line 46 of file mitkItkImageToImageFilterAdapter.h.
mitk::ItkImageToImageFilterAdapter< TPixel >::ItkImageToImageFilterAdapter | ( | ) | [protected] |
Definition at line 31 of file mitkItkImageToImageFilterAdapter.txx.
: m_FirstFilter(NULL), m_LastFilter(NULL) { }
mitk::ItkImageToImageFilterAdapter< TPixel >::~ItkImageToImageFilterAdapter | ( | ) | [protected, virtual] |
Definition at line 37 of file mitkItkImageToImageFilterAdapter.txx.
{ }
void mitk::ItkImageToImageFilterAdapter< TPixel >::GenerateData | ( | ) | [virtual] |
A version of GenerateData() specific for image processing filters.
This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.
Reimplemented from mitk::ImageSource.
Definition at line 51 of file mitkItkImageToImageFilterAdapter.txx.
References mitk::CastToItkImage(), and mitk::CastToMitkImage().
{ mitk::Image::Pointer outputImage = this->GetOutput(); typename ImageToImageFilter::InputImageConstPointer inputImage = this->GetInput(); if(inputImage.IsNull()) { outputImage = NULL; return; } /* Check if there is an input Filter */ if(m_FirstFilter.IsNull() || m_LastFilter.IsNull()) { outputImage = const_cast<mitk::Image*>(inputImage.GetPointer()); return; } /* convert input mitk image to itk image */ mitk::Image::Pointer inputImageMitk = const_cast<mitk::Image*>(inputImage.GetPointer()); // const away cast, because FixedInput...Multiplexer Macro needs non const Pointer typename ItkImageType::Pointer itkImage = ItkImageType::New(); //FixedInputDimensionMitkToItkFunctionMultiplexer(itkImage, ItkImageType , inputImageMitk, 3, MakeCastImageFilter); CastToItkImage(inputImageMitk, itkImage); /* check if image conversion failed */ if (itkImage.IsNull()) { std::cout << " can't convert input image to itk" << std::endl; outputImage = const_cast<mitk::Image*>(inputImage.GetPointer()); return; } //m_ItkImageToImageFilter->SetInput(itkImage); m_FirstFilter->SetInput(itkImage); try { //m_ItkImageToImageFilter->Update(); m_LastFilter->UpdateLargestPossibleRegion(); } catch( itk::ExceptionObject & excep ) { std::cerr << "mitk::ItkImageToImageFilterAdapter: Exception while executing ITK filter" << std::endl; std::cerr << excep << std::endl; } /* convert the itk image back to an mitk image and set it as output for this filter */ //outputImage->InitializeByItk(m_LastFilter->GetOutput()); //outputImage->SetVolume(m_LastFilter->GetOutput()->GetBufferPointer()); //ItkImageType::Pointer itkOutputImage = m_LastFilter->GetOutput(); //CastToMitkImage(itkOutputImage, outputImage); typename ItkImageType::Pointer itkOutputImage; itkOutputImage = m_LastFilter->GetOutput(); CastToMitkImage(itkOutputImage, outputImage); /* copy the transform from source to result image */ outputImage->SetGeometry(static_cast<Geometry3D*>(inputImage->GetGeometry()->Clone().GetPointer())); }
void mitk::ItkImageToImageFilterAdapter< TPixel >::GenerateOutputInformation | ( | void | ) | [virtual] |
Definition at line 45 of file mitkItkImageToImageFilterAdapter.txx.
{
itkDebugMacro(<<"GenerateOutputInformation()");
}
virtual const char* mitk::ItkImageToImageFilterAdapter< TPixel >::GetClassName | ( | ) | const [virtual] |
virtual ImageToImageFilterType* mitk::ItkImageToImageFilterAdapter< TPixel >::GetFirstFilter | ( | ) | [virtual] |
virtual ImageToImageFilterType* mitk::ItkImageToImageFilterAdapter< TPixel >::GetLastFilter | ( | ) | [virtual] |
static Pointer mitk::ItkImageToImageFilterAdapter< TPixel >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from mitk::ImageToImageFilter.
virtual void mitk::ItkImageToImageFilterAdapter< TPixel >::SetFirstFilter | ( | ImageToImageFilterType * | _arg ) | [virtual] |
virtual void mitk::ItkImageToImageFilterAdapter< TPixel >::SetLastFilter | ( | ImageToImageFilterType * | _arg ) | [virtual] |
void mitk::ItkImageToImageFilterAdapter< TPixel >::SetSingleFilter | ( | typename ImageToImageFilterType::Pointer | filter ) |
Definition at line 108 of file mitkItkImageToImageFilterAdapter.txx.
{ SetFirstFilter(filter); SetLastFilter(filter); }
ImageToImageFilterType::Pointer mitk::ItkImageToImageFilterAdapter< TPixel >::m_FirstFilter [protected] |
Definition at line 63 of file mitkItkImageToImageFilterAdapter.h.
ImageToImageFilterType::Pointer mitk::ItkImageToImageFilterAdapter< TPixel >::m_LastFilter [protected] |
Definition at line 64 of file mitkItkImageToImageFilterAdapter.h.