68 #ifndef VTKGDCMIMAGEREADER_H
69 #define VTKGDCMIMAGEREADER_H
71 #include "vtkMedicalImageReader2.h"
72 #include "vtkImageData.h"
73 #include "vtkVersion.h"
75 #if (VTK_MAJOR_VERSION >= 5) || ( VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 5 )
77 class vtkMedicalImageProperties;
79 #if (VTK_MAJOR_VERSION > 5) || ( VTK_MAJOR_VERSION == 5 && VTK_MINOR_VERSION > 0 )
90 #ifndef VTK_INVERSE_LUMINANCE
91 #define VTK_INVERSE_LUMINANCE 5
93 #ifndef VTK_LOOKUP_TABLE
94 #define VTK_LOOKUP_TABLE 6
104 namespace gdcm {
class ImageReader; }
138 vtkGetObjectMacro(DirectionCosines, vtkMatrix4x4);
141 #if (VTK_MAJOR_VERSION >= 5) || ( VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 5 )
147 vtkGetObjectMacro(MedicalImageProperties, vtkMedicalImageProperties);
152 #if (VTK_MAJOR_VERSION > 5) || ( VTK_MAJOR_VERSION == 5 && VTK_MINOR_VERSION > 0 )
155 vtkGetObjectMacro(FileNames, vtkStringArray);
163 vtkGetMacro(LoadOverlays,
int);
164 vtkSetMacro(LoadOverlays,
int);
165 vtkBooleanMacro(LoadOverlays,
int);
172 vtkGetMacro(LoadIconImage,
int);
173 vtkSetMacro(LoadIconImage,
int);
174 vtkBooleanMacro(LoadIconImage,
int);
181 vtkGetMacro(LossyFlag,
int);
182 vtkSetMacro(LossyFlag,
int);
183 vtkBooleanMacro(LossyFlag,
int);
191 vtkGetMacro(NumberOfOverlays,
int);
199 vtkGetMacro(NumberOfIconImages,
int);
208 #if (VTK_MAJOR_VERSION >= 5) || ( VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 5 )
211 vtkAlgorithmOutput* GetOverlayPort(
int index);
212 vtkAlgorithmOutput* GetIconImagePort();
223 vtkGetMacro(ApplyLookupTable,
int);
224 vtkSetMacro(ApplyLookupTable,
int);
225 vtkBooleanMacro(ApplyLookupTable,
int);
232 vtkGetMacro(ApplyYBRToRGB,
int)
233 vtkSetMacro(ApplyYBRToRGB,
int)
234 vtkBooleanMacro(ApplyYBRToRGB,
int);
243 vtkGetMacro(ImageFormat,
int);
252 vtkGetMacro(PlanarConfiguration,
int);
264 vtkGetVector3Macro(ImagePositionPatient,
double);
265 vtkGetVector6Macro(ImageOrientationPatient,
double);
272 vtkGetObjectMacro(Curve,vtkPolyData);
273 virtual
void SetCurve(vtkPolyData *pd);
284 vtkGetMacro(Shift,
double);
285 vtkGetMacro(Scale,
double);
292 vtkSetVector6Macro(ImageOrientationPatient,
double);
295 void FillMedicalImageInformation(const
gdcm::ImageReader &reader);
297 int RequestInformationCompat();
298 int RequestDataCompat();
300 #if (VTK_MAJOR_VERSION >= 5) || ( VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 5 )
301 int ProcessRequest(vtkInformation* request,
302 vtkInformationVector** inputVector,
303 vtkInformationVector* outputVector);
304 int RequestInformation(vtkInformation *request,
305 vtkInformationVector **inputVector,
306 vtkInformationVector *outputVector);
307 int RequestData(vtkInformation *request,
308 vtkInformationVector **inputVector,
309 vtkInformationVector *outputVector);
316 #if (VTK_MAJOR_VERSION >= 5) || ( VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 5 )
324 #if (VTK_MAJOR_VERSION > 5) || ( VTK_MAJOR_VERSION == 5 && VTK_MINOR_VERSION > 0 )
335 int IconImageDataExtent[6];
336 double ImagePositionPatient[3];
337 double ImageOrientationPatient[6];
362 vtkGetStringMacro(FilePrefix);
364 vtkGetStringMacro(FilePattern);
read DICOM Image files (Pixel Data)
void SetFilePattern(const char *)
virtual void SetFileNames(vtkStringArray *)
virtual const char * GetFileExtensions()
Valid extensions.
static vtkGDCMImageReader * New()
int LoadSingleFile(const char *filename, char *pointer, unsigned long &outlen)
virtual void SetMedicalImageProperties(vtkMedicalImageProperties *pd)
vtkMedicalImageProperties * MedicalImageProperties
Medical Image properties.
virtual void PrintSelf(ostream &os, vtkIndent indent)
int ApplyPlanarConfiguration
vtkImageData * GetOverlay(int i)
Get Overlay/IconImage Remember to ALWAYS use those methods in your code, as the internal number for t...
void ExecuteInformation()
virtual const char * GetDescriptiveName()
A descriptive name for this format.
vtkImageData * GetIconImage()
virtual int CanReadFile(const char *fname)
vtkStringArray * FileNames
vtkMatrix4x4 * DirectionCosines
void ExecuteData(vtkDataObject *out)
int IconNumberOfScalarComponents
void SetFilePrefix(const char *)