1 // $Header: /cvs/public/gdcm/vtk/vtkGdcmReader.h,v 1.13 2003/11/13 13:07:50 malaterre Exp $
3 #ifndef __vtkGdcmReader_h
4 #define __vtkGdcmReader_h
6 #include <vtkImageReader.h>
12 class VTK_IO_EXPORT vtkGdcmReader : public vtkImageReader
15 static vtkGdcmReader *New() {return new vtkGdcmReader;};
16 vtkTypeMacro(vtkGdcmReader, vtkImageReader);
17 void PrintSelf(ostream& os, vtkIndent indent);
19 void RemoveAllFileName(void);
20 void AddFileName(const char* name);
21 void SetFileName(const char *name);
22 vtkGetObjectMacro(LookupTable,vtkLookupTable);
27 virtual void ExecuteInformation();
28 void ExecuteData(vtkDataObject *output);
29 void BuildFileListFromPattern();
30 int CheckFileCoherence();
33 void RemoveAllInternalFileName(void);
34 void AddInternalFileName(const char* name);
35 vtkLookupTable *LookupTable;
38 // Number of columns of the image/volume to be loaded
40 // Number of lines of the image/volume to be loaded
42 // Total number of planes (or images) of the stack to be build.
43 int TotalNumberOfPlanes;
44 // Number of scalar components of the image to be loaded (1=monochrome 3=rgb)
46 // Type of the image[s]: 8/16/32 bits, signed/unsigned:
47 std::string ImageType;
48 // Pixel size (in number of bytes):
50 // List of filenames to be read in order to build a stack of images
51 // or volume. The order in the list shall be the order of the images.
52 std::list<std::string> FileNameList;
54 // List of filenames created in ExecuteInformation and used in
56 // If FileNameList isn't empty, InternalFileNameList is a copy of
58 // Otherwise, InternalFileNameList correspond to the list of
60 std::list<std::string> InternalFileNameList;
62 size_t LoadImageInMemory(std::string FileName, unsigned char * Dest,
63 const unsigned long UpdateProgressTarget,
64 unsigned long & UpdateProgressCount);