Slicer  4.10
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
vtkITKImageToImageFilterUSUL.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 __vtkITKImageToImageFilterUSUL_h
16 #define __vtkITKImageToImageFilterUSUL_h
17 
18 #include "vtkImageAlgorithm.h"
20 #include "itkImageToImageFilter.h"
21 #include "itkVTKImageExport.h"
22 #include "itkVTKImageImport.h"
23 #include "vtkITKUtility.h"
24 
25 
27 {
28 public:
30  static vtkITKImageToImageFilterUSUL* New() { return 0; };
31  void PrintSelf(ostream& os, vtkIndent indent)
32  {
33  Superclass::PrintSelf ( os, indent );
34  os << m_Filter;
35  };
36 
37 protected:
38 
40  typedef itk::Image<unsigned short, 3> InputImageType;
41  typedef itk::Image<unsigned long, 3> OutputImageType;
42 
43  typedef itk::VTKImageImport<InputImageType> ImageImportType;
44  typedef itk::VTKImageExport<OutputImageType> ImageExportType;
45  ImageImportType::Pointer itkImporter;
46  ImageExportType::Pointer itkExporter;
47 
48  typedef itk::ImageToImageFilter<InputImageType,OutputImageType> FilterType;
49  FilterType::Pointer m_Filter;
50 
52  {
54  m_Filter = filter;
55  this->itkImporter = ImageImportType::New();
56  this->itkExporter = ImageExportType::New();
57  ConnectPipelines(this->vtkExporter, this->itkImporter);
58  ConnectPipelines(this->itkExporter, this->vtkImporter);
59  this->LinkITKProgressToVTKProgress ( m_Filter );
61  m_Filter->SetInput ( this->itkImporter->GetOutput() );
62  this->itkExporter->SetInput ( m_Filter->GetOutput() );
63  this->vtkCast->SetOutputScalarTypeToUnsignedShort();
64  };
65 
67  {
68  };
69 
70 private:
72  void operator=(const vtkITKImageToImageFilterUSUL&);
73 };
74 
75 #endif
void ConnectPipelines(ITK_Exporter exporter, VTK_Importer *importer)
Definition: vtkITKUtility.h:26
void PrintSelf(ostream &os, vtkIndent indent)
itk::ImageToImageFilter< InputImageType, OutputImageType > FilterType
Abstract base class for connecting ITK and VTK.
itk::VTKImageImport< InputImageType > ImageImportType
static vtkITKImageToImageFilterUSUL * New()
itk::Image< unsigned long, 3 > OutputImageType
itk::VTKImageExport< OutputImageType > ImageExportType
void LinkITKProgressToVTKProgress(itk::ProcessObject *process)
BTX.