17 #ifndef __igstkImageSpatialObject_h
18 #define __igstkImageSpatialObject_h
22 #include "itkImageSpatialObject.h"
25 #ifdef ITK_PRE4_VERSION
26 #include "itkOrientedImage.h"
31 #include "itkVTKImageExport.h"
32 #include "vtkImageImport.h"
33 #include "vtkImageData.h"
40 class ImageReaderToImageSpatialObject;
41 class UltrasoundImageSimulatorToImageSpatialObject;
57 template <
class TPixelType,
unsigned int TDimension >
70 ImageSpatialObjectType;
72 #ifdef ITK_PRE4_VERSION
73 typedef typename itk::OrientedImage< TPixelType, TDimension >
ImageType;
75 typedef typename itk::Image< TPixelType, TDimension >
ImageType;
155 virtual void PrintSelf( std::ostream& os, itk::Indent indent )
const;
160 typename ImageSpatialObjectType::Pointer m_ImageSpatialObject;
163 void RequestSetImage(
const ImageType * image );
174 void operator=(
const Self&);
179 igstkDeclareInputMacro( ValidImage );
180 igstkDeclareInputMacro( InvalidImage );
181 igstkDeclareInputMacro( RequestITKImage );
182 igstkDeclareInputMacro( RequestVTKImage );
183 igstkDeclareInputMacro( RequestImageExtent );
184 igstkDeclareInputMacro( RequestImageTransform );
187 igstkDeclareStateMacro( Initial );
188 igstkDeclareStateMacro( ImageSet );
191 void SetImageProcessing();
192 void ReportInvalidImageProcessing();
195 void ReportITKImageProcessing();
196 void ReportVTKImageProcessing();
197 void ReportImageExtentProcessing();
198 void ReportImageNotAvailableProcessing();
203 void ReportImageTransformProcessing();
212 typedef itk::VTKImageExport< ImageType > ITKExportFilterType;
213 typedef vtkImageImport VTKImportFilterType;
215 typedef typename ITKExportFilterType::Pointer ITKExportFilterPointer;
216 typedef VTKImportFilterType * VTKImportFilterPointer;
219 ITKExportFilterPointer m_ItkExporter;
220 VTKImportFilterPointer m_VtkImporter;
229 #ifndef IGSTK_MANUAL_INSTANTIATION
230 #include "igstkImageSpatialObject.txx"
233 #endif // __igstkImageSpatialObject_h