1 // $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.h,v 1.2 2003/09/09 08:46:32 malaterre Exp $
3 #ifndef GDCMHEADERHELPER_H
4 #define GDCMHEADERHELPER_H
6 #include "gdcmHeader.h"
22 This class is meant to *interpret* data given from gdcmHeader
24 * it will help other dev to link against there lib
25 * return value instead of string
26 * will be able to search for data at some other place
27 * return *default value* which is not a gdcmHeader goal
30 class GDCM_EXPORT gdcmHeaderHelper : public gdcmHeader {
34 gdcmHeaderHelper::gdcmHeaderHelper();
35 gdcmHeaderHelper::gdcmHeaderHelper(const char *filename, bool exception_on_error = false);
38 std::string GetPixelType();
44 std::string GetStudyUID();
45 std::string GetSeriesUID();
46 std::string GetClassUID();
47 std::string GetInstanceUID();
50 change GetXImagePosition -> GetXOrigin in order not to confused reader
51 -# GetXOrigin can return default value (=0) if it was not ImagePosition
52 -# Image Position is different in dicomV3 <> ACR NEMA -> better use generic
60 ModalityType GetModality();
62 void GetImageOrientationPatient( float* iop );
67 This class should be used for a stack of 2D dicom images.
68 For a multiframe dicom image better use directly gdcmHeaderHelper
70 class GDCM_EXPORT gdcmSerieHeaderHelper {
73 gdcmSerieHeaderHelper::gdcmSerieHeaderHelper() {};
74 gdcmSerieHeaderHelper::~gdcmSerieHeaderHelper();
76 void AddFileName(std::string filename); //should return bool or throw error ?
77 void AddGdcmFile(gdcmHeaderHelper *file);
78 void SetDirectory(std::string dir);
79 void OrderGdcmFileList();
81 gdcmHeaderHelper *GetGdcmHeader()
83 //Assume all element in the list have the same global infos
84 return CoherentGdcmFileList.front();
87 std::list<gdcmHeaderHelper*>& GetGdcmFileList();
90 bool ImagePositionPatientOrdering();
91 bool ImageNumberOrdering();
92 bool FileNameOrdering();
94 std::list<gdcmHeaderHelper*> CoherentGdcmFileList;