vtkGDCMPolyDataReader.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program: GDCM (Grassroots DICOM). A DICOM library
00004 
00005   Copyright (c) 2006-2011 Mathieu Malaterre
00006   All rights reserved.
00007   See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00014 // .NAME vtkGDCMPolyDataReader - read DICOM PolyData files (Contour Data...)
00015 // .SECTION Description
00016 // For now only support RTSTRUCT (RT Structure Set Storage)
00017 // .SECTION TODO
00018 // Need to do the same job for DVH Sequence/DVH Data...
00019 // .SECTION Warning
00020 // When using vtkGDCMPolyDataReader in conjonction with vtkGDCMImageReader
00021 // it is *required* that FileLowerLeft is set to ON as coordinate system
00022 // would be inconsistant in between the two data structures.
00023 //
00024 // .SECTION See Also
00025 // vtkGDCMImageReader vtkGDCMPolyDataWriter vtkRTStructSetProperties
00026 
00027 
00028 #ifndef VTKGDCMPOLYDATAREADER_H
00029 #define VTKGDCMPOLYDATAREADER_H
00030 
00031 #include "vtkPolyDataAlgorithm.h"
00032 
00033 class vtkMedicalImageProperties;
00034 class vtkRTStructSetProperties;
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   vtkGetObjectMacro(RTStructSetProperties, vtkRTStructSetProperties);
00055 
00056 protected:
00057   vtkGDCMPolyDataReader();
00058   ~vtkGDCMPolyDataReader();
00059 
00060   char *FileName;
00061   vtkMedicalImageProperties *MedicalImageProperties;
00062   vtkRTStructSetProperties *RTStructSetProperties;
00063 //BTX
00064   void FillMedicalImageInformation(const gdcm::Reader &reader);
00065 //ETX
00066 
00067   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00068   int RequestInformation(
00069     vtkInformation *vtkNotUsed(request),
00070     vtkInformationVector **vtkNotUsed(inputVector),
00071     vtkInformationVector *outputVector);
00072 //BTX
00073   int RequestInformation_RTStructureSetStorage(gdcm::Reader const & reader);
00074   int RequestData_RTStructureSetStorage(gdcm::Reader const &reader, vtkInformationVector *outputVector);
00075   int RequestInformation_HemodynamicWaveformStorage(gdcm::Reader const & reader);
00076   int RequestData_HemodynamicWaveformStorage(gdcm::Reader const &reader, vtkInformationVector *outputVector);
00077 //ETX
00078 
00079 private:
00080   vtkGDCMPolyDataReader(const vtkGDCMPolyDataReader&);  // Not implemented.
00081   void operator=(const vtkGDCMPolyDataReader&);  // Not implemented.
00082 };
00083 
00084 #endif

Generated on Mon Jul 29 2013 11:24:17 for GDCM by doxygen 1.7.1
SourceForge.net Logo