Slicer 5.4
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkITKImageToImageFilterFF.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 __vtkITKImageToImageFilterFF_h
16#define __vtkITKImageToImageFilterFF_h
17
19#include "vtkImageAlgorithm.h"
20#include "itkImageToImageFilter.h"
21#include "itkVTKImageExport.h"
22#include "itkVTKImageImport.h"
23#include "vtkITKUtility.h"
24
26{
27public:
29 static vtkITKImageToImageFilterFF* New() { return nullptr; };
30 void PrintSelf(ostream& os, vtkIndent indent) override
31 {
32 Superclass::PrintSelf ( os, indent );
33 os << m_Filter;
34 };
35
36protected:
37
39 typedef float InputImagePixelType;
40 typedef float OutputImagePixelType;
41 typedef itk::Image<InputImagePixelType, 3> InputImageType;
42 typedef itk::Image<OutputImagePixelType, 3> 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
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
68 ~vtkITKImageToImageFilterFF() override = default;
69
70private:
72 void operator=(const vtkITKImageToImageFilterFF&) = delete;
73};
74
75#endif
itk::ImageToImageFilter< InputImageType, OutputImageType > GenericFilterType
itk::Image< InputImagePixelType, 3 > InputImageType
GenericFilterType::Pointer m_Filter
itk::VTKImageImport< InputImageType > ImageImportType
itk::VTKImageExport< OutputImageType > ImageExportType
itk::Image< OutputImagePixelType, 3 > OutputImageType
ImageImportType::Pointer itkImporter
ImageExportType::Pointer itkExporter
static vtkITKImageToImageFilterFF * New()
~vtkITKImageToImageFilterFF() override=default
void PrintSelf(ostream &os, vtkIndent indent) override
vtkITKImageToImageFilterFF(GenericFilterType *filter)
Abstract base class for connecting ITK and VTK.
void ConnectPipelines(ITK_Exporter exporter, VTK_Importer *importer)