vtkGDCMPolyDataReader.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program: GDCM (Grassroots DICOM). A DICOM library
00004   Module:  $URL$
00005 
00006   Copyright (c) 2006-2010 Mathieu Malaterre
00007   All rights reserved.
00008   See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00015 // .NAME vtkGDCMPolyDataReader - read DICOM PolyData files (Contour Data...)
00016 // .SECTION Description
00017 // For now only support RTSTRUCT (RT Structure Set Storage)
00018 // .SECTION TODO
00019 // Need to do the same job for DVH Sequence/DVH Data...
00020 // .SECTION Warning
00021 // When using vtkGDCMPolyDataReader in conjonction with vtkGDCMImageReader 
00022 // it is *required* that FileLowerLeft is set to ON as coordinate system
00023 // would be inconsistant in between the two data structures.
00024 //
00025 // .SECTION See Also
00026 // vtkGDCMImageReader vtkMedicalImageReader2 vtkMedicalImageProperties
00027 
00028 
00029 #ifndef VTKGDCMPOLYDATAREADER_H
00030 #define VTKGDCMPOLYDATAREADER_H
00031 
00032 #include "vtkPolyDataAlgorithm.h"
00033 
00034 class vtkMedicalImageProperties;
00035 //BTX
00036 namespace gdcm { class Reader; }
00037 //ETX
00038 class VTK_EXPORT vtkGDCMPolyDataReader : public vtkPolyDataAlgorithm
00039 {
00040 public:
00041   static vtkGDCMPolyDataReader *New();
00042   vtkTypeRevisionMacro(vtkGDCMPolyDataReader,vtkPolyDataAlgorithm);
00043   virtual void PrintSelf(ostream& os, vtkIndent indent);
00044 
00045   // Description:
00046   // Set/Get the filename of the file to be read
00047   vtkSetStringMacro(FileName);
00048   vtkGetStringMacro(FileName);
00049 
00050   // Description:
00051   // Get the medical image properties object
00052   vtkGetObjectMacro(MedicalImageProperties, vtkMedicalImageProperties);
00053 
00054 protected:
00055   vtkGDCMPolyDataReader();
00056   ~vtkGDCMPolyDataReader();
00057 
00058   char *FileName;
00059   vtkMedicalImageProperties *MedicalImageProperties;
00060 //BTX
00061   void FillMedicalImageInformation(const gdcm::Reader &reader);
00062 //ETX
00063 
00064   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00065   int RequestInformation(
00066     vtkInformation *vtkNotUsed(request),
00067     vtkInformationVector **vtkNotUsed(inputVector),
00068     vtkInformationVector *outputVector);
00069 //BTX
00070   int RequestInformation_RTStructureSetStorage(gdcm::Reader const & reader);
00071   int RequestData_RTStructureSetStorage(gdcm::Reader const &reader, vtkInformationVector *outputVector);
00072   int RequestInformation_HemodynamicWaveformStorage(gdcm::Reader const & reader);
00073   int RequestData_HemodynamicWaveformStorage(gdcm::Reader const &reader, vtkInformationVector *outputVector);
00074 //ETX
00075 
00076 private:
00077   vtkGDCMPolyDataReader(const vtkGDCMPolyDataReader&);  // Not implemented.
00078   void operator=(const vtkGDCMPolyDataReader&);  // Not implemented.
00079 };
00080 
00081 #endif

Generated on Sat Dec 4 2010 08:58:49 for GDCM by doxygen 1.7.2
SourceForge.net Logo