Slicer  4.8
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
vtkITKImageToImageFilter2DFF.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Copyright Brigham and Women's Hospital (BWH) All Rights Reserved.
4 
5  See COPYRIGHT.txt
6  or http://www.slicer.org/copyright/copyright.txt for details.
7 
8  Program: vtkITK
9  Module: $HeadURL$
10  Date: $Date$
11  Version: $Revision$
12 
13 ==========================================================================*/
14 
15 #ifndef __vtkITKImageToImageFilter2DFF_h
16 #define __vtkITKImageToImageFilter2DFF_h
17 
19 #include "vtkImageAlgorithm.h"
20 #include "itkImageToImageFilter.h"
21 #include "itkVTKImageExport.h"
22 #include "itkVTKImageImport.h"
23 #include "vtkITKUtility.h"
24 
26 {
27 public:
29  static vtkITKImageToImageFilter2DFF* New() { return 0; };
30  void PrintSelf(ostream& os, vtkIndent indent)
31  {
32  Superclass::PrintSelf ( os, indent );
33  os << m_Filter;
34  };
35 
36 protected:
37 
39  typedef float InputImagePixelType;
40  typedef float OutputImagePixelType;
41  typedef itk::Image<InputImagePixelType, 2> InputImageType;
42  typedef itk::Image<OutputImagePixelType, 2> OutputImageType;
43 
44  typedef itk::VTKImageImport<InputImageType> ImageImportType;
45  typedef itk::VTKImageExport<OutputImageType> ImageExportType;
46  ImageImportType::Pointer itkImporter;
47  ImageExportType::Pointer itkExporter;
48 
49  typedef itk::ImageToImageFilter<InputImageType,OutputImageType> GenericFilterType;
50  GenericFilterType::Pointer m_Filter;
51 
52  vtkITKImageToImageFilter2DFF ( GenericFilterType* filter )
53  {
55  m_Filter = filter;
56  this->itkImporter = ImageImportType::New();
57  this->itkExporter = ImageExportType::New();
58  ConnectPipelines(this->vtkExporter, this->itkImporter);
59  ConnectPipelines(this->itkExporter, this->vtkImporter);
60  this->LinkITKProgressToVTKProgress ( m_Filter );
61 
63  m_Filter->SetInput ( this->itkImporter->GetOutput() );
64  this->itkExporter->SetInput ( m_Filter->GetOutput() );
65  this->vtkCast->SetOutputScalarTypeToFloat ();
66  };
67 
69  {
70  };
71 
72 private:
74  void operator=(const vtkITKImageToImageFilter2DFF&);
75 };
76 
77 #endif
78 
79 
80 
81 
void ConnectPipelines(ITK_Exporter exporter, VTK_Importer *importer)
Definition: vtkITKUtility.h:26
static vtkITKImageToImageFilter2DFF * New()
Abstract base class for connecting ITK and VTK.
vtkITKImageToImageFilter2DFF(GenericFilterType *filter)
itk::Image< InputImagePixelType, 2 > InputImageType
itk::VTKImageExport< OutputImageType > ImageExportType
itk::Image< OutputImagePixelType, 2 > OutputImageType
itk::ImageToImageFilter< InputImageType, OutputImageType > GenericFilterType
void PrintSelf(ostream &os, vtkIndent indent)
void LinkITKProgressToVTKProgress(itk::ProcessObject *process)
BTX.
itk::VTKImageImport< InputImageType > ImageImportType