68 #ifndef VTKGDCMIMAGEREADER_H
69 #define VTKGDCMIMAGEREADER_H
71 #include "vtkgdcmModule.h"
72 #include "vtkMedicalImageReader2.h"
73 #include "vtkImageData.h"
74 #include "vtkVersion.h"
76 #if (VTK_MAJOR_VERSION >= 5) || ( VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 5 )
78 class vtkMedicalImageProperties;
80 #if (VTK_MAJOR_VERSION > 5) || ( VTK_MAJOR_VERSION == 5 && VTK_MINOR_VERSION > 0 )
91 #ifndef VTK_INVERSE_LUMINANCE
92 #define VTK_INVERSE_LUMINANCE 5
94 #ifndef VTK_LOOKUP_TABLE
95 #define VTK_LOOKUP_TABLE 6
105 namespace gdcm {
class ImageReader; }
139 vtkGetObjectMacro(DirectionCosines, vtkMatrix4x4);
142 #if (VTK_MAJOR_VERSION >= 5) || ( VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 5 )
148 vtkGetObjectMacro(MedicalImageProperties, vtkMedicalImageProperties);
153 #if (VTK_MAJOR_VERSION > 5) || ( VTK_MAJOR_VERSION == 5 && VTK_MINOR_VERSION > 0 )
156 vtkGetObjectMacro(FileNames, vtkStringArray);
164 vtkGetMacro(LoadOverlays,
int);
165 vtkSetMacro(LoadOverlays,
int);
166 vtkBooleanMacro(LoadOverlays,
int);
173 vtkGetMacro(LoadIconImage,
int);
174 vtkSetMacro(LoadIconImage,
int);
175 vtkBooleanMacro(LoadIconImage,
int);
182 vtkGetMacro(LossyFlag,
int);
183 vtkSetMacro(LossyFlag,
int);
184 vtkBooleanMacro(LossyFlag,
int);
192 vtkGetMacro(NumberOfOverlays,
int);
200 vtkGetMacro(NumberOfIconImages,
int);
209 #if (VTK_MAJOR_VERSION >= 5) || ( VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 5 )
212 vtkAlgorithmOutput* GetOverlayPort(
int index);
213 vtkAlgorithmOutput* GetIconImagePort();
224 vtkGetMacro(ApplyLookupTable,
int);
225 vtkSetMacro(ApplyLookupTable,
int);
226 vtkBooleanMacro(ApplyLookupTable,
int);
233 vtkGetMacro(ApplyYBRToRGB,
int)
234 vtkSetMacro(ApplyYBRToRGB,
int)
235 vtkBooleanMacro(ApplyYBRToRGB,
int);
244 vtkGetMacro(ImageFormat,
int);
253 vtkGetMacro(PlanarConfiguration,
int);
265 vtkGetVector3Macro(ImagePositionPatient,
double);
266 vtkGetVector6Macro(ImageOrientationPatient,
double);
273 vtkGetObjectMacro(Curve,vtkPolyData);
274 virtual
void SetCurve(vtkPolyData *pd);
285 vtkGetMacro(Shift,
double);
286 vtkGetMacro(Scale,
double);
293 vtkSetVector6Macro(ImageOrientationPatient,
double);
296 void FillMedicalImageInformation(const
gdcm::ImageReader &reader);
298 int RequestInformationCompat();
299 int RequestDataCompat();
301 #if (VTK_MAJOR_VERSION >= 5) || ( VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 5 )
302 int ProcessRequest(vtkInformation* request,
303 vtkInformationVector** inputVector,
304 vtkInformationVector* outputVector);
305 int RequestInformation(vtkInformation *request,
306 vtkInformationVector **inputVector,
307 vtkInformationVector *outputVector);
308 int RequestData(vtkInformation *request,
309 vtkInformationVector **inputVector,
310 vtkInformationVector *outputVector);
317 #if (VTK_MAJOR_VERSION >= 5) || ( VTK_MAJOR_VERSION == 4 && VTK_MINOR_VERSION > 5 )
325 #if (VTK_MAJOR_VERSION > 5) || ( VTK_MAJOR_VERSION == 5 && VTK_MINOR_VERSION > 0 )
336 int IconImageDataExtent[6];
337 double ImagePositionPatient[3];
338 double ImageOrientationPatient[6];
363 vtkGetStringMacro(FilePrefix);
365 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 *)