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 )
78class 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
105namespace 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 *)
int LoadSingleFile(const char *filename, char *pointer, unsigned long &outlen)
virtual const char * GetDescriptiveName()
A descriptive name for this format.
virtual void SetMedicalImageProperties(vtkMedicalImageProperties *pd)
vtkMedicalImageProperties * MedicalImageProperties
Medical Image properties.
virtual void PrintSelf(ostream &os, vtkIndent indent)
int ApplyPlanarConfiguration
void ExecuteInformation()
vtkImageData * GetOverlay(int i)
Get Overlay/IconImage Remember to ALWAYS use those methods in your code, as the internal number for t...
static vtkGDCMImageReader * New()
vtkImageData * GetIconImage()
virtual int CanReadFile(const char *fname)
vtkStringArray * FileNames
vtkMatrix4x4 * DirectionCosines
void ExecuteData(vtkDataObject *out)
int IconNumberOfScalarComponents
virtual const char * GetFileExtensions()
Valid extensions.
void SetFilePrefix(const char *)