X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmHeaderHelper.h;h=18d950e5c2c30c6756111ef0f5b5c3001cc13165;hb=45a9005ae5c1975bbe932e43c8080a83c9daf29e;hp=6fb9e2d478d97d6e745a7e3b1853680b0801cb78;hpb=59d3befd7f593a3a6f10162d91bf757c1a4956ac;p=gdcm.git diff --git a/src/gdcmHeaderHelper.h b/src/gdcmHeaderHelper.h index 6fb9e2d4..18d950e5 100644 --- a/src/gdcmHeaderHelper.h +++ b/src/gdcmHeaderHelper.h @@ -1,99 +1,59 @@ -// $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.h,v 1.1 2003/09/08 16:37:47 malaterre Exp $ +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmHeaderHelper.h,v $ + Language: C++ + Date: $Date: 2004/06/21 21:51:01 $ + Version: $Revision: 1.18 $ + + Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de + l'Image). All rights reserved. See Doc/License.txt or + http://www.creatis.insa-lyon.fr/Public/Gdcm/License.htm for details. + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the above copyright notices for more information. + +=========================================================================*/ #ifndef GDCMHEADERHELPER_H #define GDCMHEADERHELPER_H #include "gdcmHeader.h" -#include -#include -#include - enum ModalityType { - Unknow, - CR, - CT, - MR, - NM, - OT, - US, - XA }; - -/** - This class is meant to *interprate* data given from gdcmHeader - That is to say : - * it will help other dev to link against there lib - * return value instead of string - * will be able to search for data at some other place - * return *default value* which is not a gdcmHeader goal - * ... +//----------------------------------------------------------------------------- +/* + * \defgroup gdcmSerieHeader + * \brief + * + * - This class should be used for a stack of 2D dicom images. + * - For a multiframe dicom image better use directly gdcmHeaderHelper */ -class GDCM_EXPORT gdcmHeaderHelper : public gdcmHeader { - +class GDCM_EXPORT gdcmSerieHeader { public: - - gdcmHeaderHelper::gdcmHeaderHelper(); - gdcmHeaderHelper::gdcmHeaderHelper(const char *filename, bool exception_on_error = false); - - //Ces fonction releve de l'interpretation des données de gdcmHeader - int GetPixelSize(); - std::string GetPixelType(); - - float GetXSpacing(); - float GetYSpacing(); - float GetZSpacing(); - - std::string GetStudyUID(); - std::string GetSeriesUID(); - std::string GetClassUID(); - std::string GetInstanceUID(); - - /** - change GetXImagePosition -> GetXOrigin in order not to confused reader - -# GetXOrigin can return default value (=0) if it was not ImagePosition - -# Image Position is different in dicomV3 <> ACR NEMA -> better use generic - name - */ - float GetXOrigin(); - float GetYOrigin(); - float GetZOrigin(); - - int GetImageNumber(); - ModalityType GetModality(); - - void GetImageOrientationPatient( float* iop ); - -}; - -/** -This class should be used for a stack of 2D dicom images. -For a multiframe dicom image better use directly gdcmHeaderHelper -*/ -class GDCM_EXPORT gdcmSerieHeaderHelper { - -public: - gdcmSerieHeaderHelper::gdcmSerieHeaderHelper() {}; - gdcmSerieHeaderHelper::~gdcmSerieHeaderHelper(); + gdcmSerieHeader() {}; + ~gdcmSerieHeader(); void AddFileName(std::string filename); //should return bool or throw error ? - void AddGdcmFile(gdcmHeaderHelper *file); + void AddGdcmFile(gdcmHeader *file); void SetDirectory(std::string dir); void OrderGdcmFileList(); - gdcmHeaderHelper *GetGdcmHeader() + inline gdcmHeader *GetGdcmHeader() { //Assume all element in the list have the same global infos return CoherentGdcmFileList.front(); } - std::list& GetGdcmFileList(); + std::list& GetGdcmFileList(); private: bool ImagePositionPatientOrdering(); bool ImageNumberOrdering(); bool FileNameOrdering(); - std::list CoherentGdcmFileList; - + std::list CoherentGdcmFileList; }; +//----------------------------------------------------------------------------- #endif