1 // $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.h,v 1.1 2003/09/08 16:37:47 malaterre Exp $
3 #ifndef GDCMHEADERHELPER_H
4 #define GDCMHEADERHELPER_H
6 #include "gdcmHeader.h"
22 This class is meant to *interprate* 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);
37 //Ces fonction releve de l'interpretation des données de gdcmHeader
39 std::string GetPixelType();
45 std::string GetStudyUID();
46 std::string GetSeriesUID();
47 std::string GetClassUID();
48 std::string GetInstanceUID();
51 change GetXImagePosition -> GetXOrigin in order not to confused reader
52 -# GetXOrigin can return default value (=0) if it was not ImagePosition
53 -# Image Position is different in dicomV3 <> ACR NEMA -> better use generic
61 ModalityType GetModality();
63 void GetImageOrientationPatient( float* iop );
68 This class should be used for a stack of 2D dicom images.
69 For a multiframe dicom image better use directly gdcmHeaderHelper
71 class GDCM_EXPORT gdcmSerieHeaderHelper {
74 gdcmSerieHeaderHelper::gdcmSerieHeaderHelper() {};
75 gdcmSerieHeaderHelper::~gdcmSerieHeaderHelper();
77 void AddFileName(std::string filename); //should return bool or throw error ?
78 void AddGdcmFile(gdcmHeaderHelper *file);
79 void SetDirectory(std::string dir);
80 void OrderGdcmFileList();
82 gdcmHeaderHelper *GetGdcmHeader()
84 //Assume all element in the list have the same global infos
85 return CoherentGdcmFileList.front();
88 std::list<gdcmHeaderHelper*>& GetGdcmFileList();
91 bool ImagePositionPatientOrdering();
92 bool ImageNumberOrdering();
93 bool FileNameOrdering();
95 std::list<gdcmHeaderHelper*> CoherentGdcmFileList;