Slicer 5.9
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
Loading...
Searching...
No Matches
vtkITKImageToImageFilterSS.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 __vtkITKImageToImageFilterSS_h
16#define __vtkITKImageToImageFilterSS_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 vtkITKImageToImageFilterSS* New() { return nullptr; }
30 void PrintSelf(ostream& os, vtkIndent indent) override
31 {
32 Superclass::PrintSelf(os, indent);
33 os << m_Filter;
34 }
35
39 void SetReleaseDataFlag(int f) override
40 {
41 Superclass::SetReleaseDataFlag(f);
42 m_Filter->SetReleaseDataFlag(f);
43 }
44
45protected:
47 typedef short InputImagePixelType;
48 typedef short OutputImagePixelType;
49 typedef itk::Image<InputImagePixelType, 3> InputImageType;
50 typedef itk::Image<OutputImagePixelType, 3> OutputImageType;
51
52 typedef itk::VTKImageImport<InputImageType> ImageImportType;
53 typedef itk::VTKImageExport<OutputImageType> ImageExportType;
54 ImageImportType::Pointer itkImporter;
55 ImageExportType::Pointer itkExporter;
56
57 typedef itk::ImageToImageFilter<InputImageType, OutputImageType> GenericFilterType;
58 GenericFilterType::Pointer m_Filter;
59
61 {
63 m_Filter = filter;
64 this->itkImporter = ImageImportType::New();
65 this->itkExporter = ImageExportType::New();
66 ConnectPipelines(this->vtkExporter, this->itkImporter);
67 ConnectPipelines(this->itkExporter, this->vtkImporter);
68 this->LinkITKProgressToVTKProgress(m_Filter);
69
71 m_Filter->SetInput(this->itkImporter->GetOutput());
72 this->itkExporter->SetInput(m_Filter->GetOutput());
73 this->vtkCast->SetOutputScalarTypeToShort();
74 };
75
76 ~vtkITKImageToImageFilterSS() override = default;
77
78private:
80 void operator=(const vtkITKImageToImageFilterSS&) = delete;
81};
82
83#endif
~vtkITKImageToImageFilterSS() override=default
itk::VTKImageExport< OutputImageType > ImageExportType
vtkITKImageToImageFilterSS(GenericFilterType *filter)
GenericFilterType::Pointer m_Filter
void PrintSelf(ostream &os, vtkIndent indent) override
itk::Image< OutputImagePixelType, 3 > OutputImageType
static vtkITKImageToImageFilterSS * New()
itk::VTKImageImport< InputImageType > ImageImportType
itk::Image< InputImagePixelType, 3 > InputImageType
ImageExportType::Pointer itkExporter
ImageImportType::Pointer itkImporter
itk::ImageToImageFilter< InputImageType, OutputImageType > GenericFilterType
void LinkITKProgressToVTKProgress(itk::ProcessObject *process)
BTX.
void PrintSelf(ostream &os, vtkIndent indent) override
void ConnectPipelines(ITK_Exporter exporter, VTK_Importer *importer)