18 #ifndef itkVTKImageImport_h
19 #define itkVTKImageImport_h
24 #define itkSetMacro2(name, type) \
25 virtual void Set##name (type _arg) \
27 itkDebugMacro("setting " #name " to " << _arg); \
28 if ( this->m_##name != _arg ) \
30 this->m_##name = _arg; \
55 template<
typename TOutputImage >
79 itkStaticConstMacro(OutputImageDimension,
unsigned int,
80 OutputImageType::ImageDimension);
84 typedef void ( * UpdateInformationCallbackType )(
void *);
85 typedef int ( * PipelineModifiedCallbackType )(
void *);
86 typedef int * ( * WholeExtentCallbackType )(
void *);
87 typedef double * ( * SpacingCallbackType )(
void *);
88 typedef double * ( * OriginCallbackType )(
void *);
89 typedef const char * ( *ScalarTypeCallbackType )(
void *);
90 typedef int ( * NumberOfComponentsCallbackType )(
void *);
91 typedef void ( * PropagateUpdateExtentCallbackType )(
void *,
int *);
92 typedef void ( * UpdateDataCallbackType )(
void *);
93 typedef int * ( * DataExtentCallbackType )(
void *);
94 typedef void * ( * BufferPointerCallbackType )(
void *);
98 typedef float * ( *FloatSpacingCallbackType )(
void *);
99 typedef float * ( *FloatOriginCallbackType )(
void *);
103 itkSetMacro(UpdateInformationCallback, UpdateInformationCallbackType);
104 itkGetConstMacro(UpdateInformationCallback, UpdateInformationCallbackType);
108 itkSetMacro(PipelineModifiedCallback, PipelineModifiedCallbackType);
109 itkGetConstMacro(PipelineModifiedCallback, PipelineModifiedCallbackType);
113 itkSetMacro(WholeExtentCallback, WholeExtentCallbackType);
114 itkGetConstMacro(WholeExtentCallback, WholeExtentCallbackType);
118 itkSetMacro(SpacingCallback, SpacingCallbackType);
119 itkGetConstMacro(SpacingCallback, SpacingCallbackType);
120 itkSetMacro(FloatSpacingCallback, FloatSpacingCallbackType);
121 itkGetConstMacro(FloatSpacingCallback, FloatSpacingCallbackType);
123 { this->SetFloatSpacingCallback(f); }
127 itkSetMacro(OriginCallback, OriginCallbackType);
128 itkGetConstMacro(OriginCallback, OriginCallbackType);
129 itkSetMacro(FloatOriginCallback, FloatOriginCallbackType);
130 itkGetConstMacro(FloatOriginCallback, FloatOriginCallbackType);
132 { this->SetFloatOriginCallback(f); }
136 itkSetMacro(ScalarTypeCallback, ScalarTypeCallbackType);
137 itkGetConstMacro(ScalarTypeCallback, ScalarTypeCallbackType);
141 itkSetMacro(NumberOfComponentsCallback, NumberOfComponentsCallbackType);
142 itkGetConstMacro(NumberOfComponentsCallback, NumberOfComponentsCallbackType);
146 itkSetMacro(PropagateUpdateExtentCallback, PropagateUpdateExtentCallbackType);
147 itkGetConstMacro(PropagateUpdateExtentCallback, PropagateUpdateExtentCallbackType);
151 itkSetMacro(UpdateDataCallback, UpdateDataCallbackType);
152 itkGetConstMacro(UpdateDataCallback, UpdateDataCallbackType);
156 itkSetMacro(DataExtentCallback, DataExtentCallbackType);
157 itkGetConstMacro(DataExtentCallback, DataExtentCallbackType);
161 itkSetMacro(BufferPointerCallback, BufferPointerCallbackType);
162 itkGetConstMacro(BufferPointerCallback, BufferPointerCallbackType);
167 itkGetConstMacro(CallbackUserData,
void *);
173 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
175 virtual void PropagateRequestedRegion(
DataObject *) ITK_OVERRIDE;
177 virtual
void UpdateOutputInformation() ITK_OVERRIDE;
179 virtual
void GenerateData() ITK_OVERRIDE;
181 virtual
void GenerateOutputInformation() ITK_OVERRIDE;
186 void * m_CallbackUserData;
187 UpdateInformationCallbackType m_UpdateInformationCallback;
188 PipelineModifiedCallbackType m_PipelineModifiedCallback;
189 WholeExtentCallbackType m_WholeExtentCallback;
190 SpacingCallbackType m_SpacingCallback;
191 FloatSpacingCallbackType m_FloatSpacingCallback;
192 OriginCallbackType m_OriginCallback;
193 FloatOriginCallbackType m_FloatOriginCallback;
194 ScalarTypeCallbackType m_ScalarTypeCallback;
195 NumberOfComponentsCallbackType m_NumberOfComponentsCallback;
196 PropagateUpdateExtentCallbackType m_PropagateUpdateExtentCallback;
197 UpdateDataCallbackType m_UpdateDataCallback;
198 DataExtentCallbackType m_DataExtentCallback;
199 BufferPointerCallbackType m_BufferPointerCallback;
201 std::
string m_ScalarTypeName;
205 #ifndef ITK_MANUAL_INSTANTIATION
206 #include "itkVTKImageImport.hxx"
209 #endif // itkVTKImageImport_h
OutputImageType::Pointer OutputImagePointer
ImageSource< TOutputImage > Superclass
Connect the end of an VTK pipeline to an ITK image pipeline.
Base class for all process objects that output image data.
#define itkSetMacro2(name, type)
void SetOriginCallback(FloatOriginCallbackType f)
OutputImageType::SizeType OutputSizeType
OutputImageType::RegionType OutputRegionType
OutputImageType::PixelType OutputPixelType
TOutputImage OutputImageType
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
void SetSpacingCallback(FloatSpacingCallbackType f)
ImageBaseType::SizeType SizeType
Base class for all data objects in ITK.
ImageBaseType::IndexType IndexType
OutputImageType::IndexType OutputIndexType