15#ifndef __vtkITKImageToImageFilter_h
16#define __vtkITKImageToImageFilter_h
21#include <itkCommand.h>
22#include <itkProcessObject.h>
25#include <vtkCommand.h>
26#include <vtkImageAlgorithm.h>
27#include <vtkImageCast.h>
28#include <vtkImageData.h>
29#include <vtkImageExport.h>
30#include <vtkImageImport.h>
31#include <vtkVersion.h>
33#undef itkExceptionMacro
34#define itkExceptionMacro(x) \
36 ::std::ostringstream message; \
37 message << "itk::ERROR: " << this->GetNameOfClass() \
38 << "(" << this << "): "; \
39 std::cout << message.str().c_str() << std::endl; \
34#define itkExceptionMacro(x) \ …
42#undef itkGenericExceptionMacro
43#define itkGenericExceptionMacro(x) \
45 ::std::ostringstream message; \
46 message << "itk::ERROR: " x; \
47 std::cout << message.str() << std::endl; \
43#define itkGenericExceptionMacro(x) \ …
54 :
public vtkImageAlgorithm
60#ifdef VTK_HAS_INITIALIZE_OBJECT_BASE
61 result->InitializeObjectBase();
68 void PrintSelf(ostream& os, vtkIndent indent)
override
70 Superclass::PrintSelf ( os, indent );
68 void PrintSelf(ostream& os, vtkIndent indent)
override {
…}
82 t1 = this->Superclass::GetMTime();
100 this->Superclass::Modified();
125 this->
m_Process->SetNumberOfWorkUnits(val);
132 return this->
m_Process->GetNumberOfWorkUnits();
142 return (vtkImageData *) this->
vtkImporter->GetOutput(idx);
149 this->
vtkCast->SetInputData(Input);
154 this->
vtkCast->SetInputConnection(input);
159 this->
vtkCast->SetInputConnection(port, input);
166 return (vtkDataObject::SafeDownCast( this->
vtkCast->GetInput() ));
171 using vtkAlgorithm::Update;
186 this->UpdateProgress (
m_Process->GetProgress() );
191 this->InvokeEvent(vtkCommand::StartEvent,
nullptr);
195 this->InvokeEvent(vtkCommand::EndEvent,
nullptr);
205 vtkWarningMacro(<<
"This filter does not respond to Update(). Doing a GetOutput->Update() instead.");
212 this->
vtkCast = vtkImageCast::New();
226 vtkDebugMacro (
"Destructing vtkITKImageToImageFilter");
vtkITKImageToImageFilter()
ETX.
void DebugOff() override
Pass DebugOff.
virtual vtkDataObject * GetInput()
Return the input to the filter.
MemberCommandPointer m_StartEventCommand
void HandleProgressEvent()
void DebugOn() override
Pass DebugOn.
void ExecuteData(vtkDataObject *) override
ETX.
void SetOutput(vtkDataObject *d) override
void Modified() override
Pass modified message to itk filter.
vtkImageExport * vtkExporter
void LinkITKProgressToVTKProgress(itk::ProcessObject *process)
BTX.
MemberCommandPointer m_EndEventCommand
void SetInputConnection(int port, vtkAlgorithmOutput *input) override
void SetInputConnection(vtkAlgorithmOutput *input) override
void PrintSelf(ostream &os, vtkIndent indent) override
itk::ProcessObject::Pointer m_Process
int GetNumberOfThreads()
Pass SetNumberOfThreads.
MemberCommand::Pointer MemberCommandPointer
void SetNumberOfThreads(int val)
Pass SetNumberOfThreads.
void Update(int port) override
vtkImageImport * vtkImporter
virtual void SetInput(vtkImageData *Input)
Set the Input of the filter.
vtkMTimeType GetMTime() override
itk::SimpleMemberCommand< vtkITKImageToImageFilter > MemberCommand
~vtkITKImageToImageFilter() override
virtual vtkImageData * GetOutput()
MemberCommandPointer m_ProgressCommand
virtual vtkImageData * GetOutput(int idx)
static vtkITKImageToImageFilter * New()