00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
#ifndef __itkVTKImageExport_h
00018
#define __itkVTKImageExport_h
00019
00020
#include "itkVTKImageExportBase.h"
00021
00022
namespace itk
00023 {
00024
00051
template <
class TInputImage>
00052 class ITK_EXPORT VTKImageExport:
public VTKImageExportBase
00053 {
00054
public:
00056 typedef VTKImageExport
Self;
00057 typedef ProcessObject Superclass;
00058 typedef SmartPointer<Self> Pointer;
00059 typedef SmartPointer<const Self> ConstPointer;
00060
00062
itkTypeMacro(VTKImageExport,
VTKImageExportBase);
00063
00065
itkNewMacro(
Self);
00066
00068 typedef TInputImage
InputImageType;
00069
00071
void SetInput(
const InputImageType*);
00072
00073
protected:
00074 VTKImageExport();
00075 ~VTKImageExport() {}
00076
void PrintSelf(std::ostream& os,
Indent indent)
const;
00077
00078 typedef typename InputImageType::Pointer
InputImagePointer;
00079 typedef typename InputImageType::RegionType
InputRegionType;
00080 typedef typename InputRegionType::SizeType
InputSizeType;
00081 typedef typename InputRegionType::IndexType
InputIndexType;
00082
itkStaticConstMacro(InputImageDimension,
unsigned int,
00083 InputImageType::ImageDimension );
00084
00085
InputImageType * GetInput(
void);
00086
00087
int* WholeExtentCallback();
00088
float* SpacingCallback();
00089
float* OriginCallback();
00090
const char* ScalarTypeCallback();
00091
int NumberOfComponentsCallback();
00092
void PropagateUpdateExtentCallback(
int*);
00093
int* DataExtentCallback();
00094
void* BufferPointerCallback();
00095
00096
private:
00097 VTKImageExport(
const Self&);
00098
void operator=(
const Self&);
00099
00100 std::string m_ScalarTypeName;
00101
int m_WholeExtent[6];
00102
int m_DataExtent[6];
00103
float m_DataSpacing[3];
00104
float m_DataOrigin[3];
00105 };
00106
00107 }
00108
00109
#ifndef ITK_MANUAL_INSTANTIATION
00110
#include "itkVTKImageExport.txx"
00111
#endif
00112
00113
#endif