1 /*=========================================================================
3 * Copyright Insight Software Consortium
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
17 *=========================================================================*/
18 #ifndef __itkImageToVTKImageFilter_hxx
19 #define __itkImageToVTKImageFilter_hxx
21 #include "itkImageToVTKImageFilter.h"
29 template <typename TInputImage>
30 ImageToVTKImageFilter<TInputImage>
31 ::ImageToVTKImageFilter()
33 m_Importer = vtkImageImport::New();
34 m_Exporter = ExporterFilterType::New();
36 m_Importer->SetUpdateInformationCallback(m_Exporter->GetUpdateInformationCallback());
37 m_Importer->SetPipelineModifiedCallback(m_Exporter->GetPipelineModifiedCallback());
38 m_Importer->SetWholeExtentCallback(m_Exporter->GetWholeExtentCallback());
39 m_Importer->SetSpacingCallback(m_Exporter->GetSpacingCallback());
40 m_Importer->SetOriginCallback(m_Exporter->GetOriginCallback());
41 m_Importer->SetScalarTypeCallback(m_Exporter->GetScalarTypeCallback());
42 m_Importer->SetNumberOfComponentsCallback(m_Exporter->GetNumberOfComponentsCallback());
43 m_Importer->SetPropagateUpdateExtentCallback(m_Exporter->GetPropagateUpdateExtentCallback());
44 m_Importer->SetUpdateDataCallback(m_Exporter->GetUpdateDataCallback());
45 m_Importer->SetDataExtentCallback(m_Exporter->GetDataExtentCallback());
46 m_Importer->SetBufferPointerCallback(m_Exporter->GetBufferPointerCallback());
47 m_Importer->SetCallbackUserData(m_Exporter->GetCallbackUserData());
54 template <typename TInputImage>
55 ImageToVTKImageFilter<TInputImage>
56 ::~ImageToVTKImageFilter()
66 * Set an itk::Image as input
68 template <typename TInputImage>
70 ImageToVTKImageFilter<TInputImage>
71 ::SetInput( const InputImageType * inputImage )
73 m_Exporter->SetInput( inputImage );
76 template <typename TInputImage>
77 typename ImageToVTKImageFilter<TInputImage>::InputImageType *
78 ImageToVTKImageFilter<TInputImage>
81 return m_Exporter->GetInput();
85 * Get a vtkImage as output
87 template <typename TInputImage>
89 ImageToVTKImageFilter<TInputImage>
92 return m_Importer->GetOutput();
96 * Get the importer filter
98 template <typename TInputImage>
100 ImageToVTKImageFilter<TInputImage>
101 ::GetImporter() const
107 * Get the exporter filter
109 template <typename TInputImage>
110 typename ImageToVTKImageFilter<TInputImage>::ExporterFilterType *
111 ImageToVTKImageFilter<TInputImage>
112 ::GetExporter() const
114 return m_Exporter.GetPointer();
118 * Delegate the Update to the importer
120 template <typename TInputImage>
122 ImageToVTKImageFilter<TInputImage>
125 m_Importer->Update();
127 } // end namespace itk