X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=include%2Fctndicom.h;fp=include%2Fctndicom.h;h=701434b0e0542628040616ae7bd913f78c622733;hb=505de7e90b7c4a6ab3e81ee3192a7d9837701806;hp=020ac3a0c1e2daef531d950aad758ced5c50dad2;hpb=c358b8c8b5649f14e2b8203b999ba8549a244727;p=ctsim.git diff --git a/include/ctndicom.h b/include/ctndicom.h index 020ac3a..701434b 100644 --- a/include/ctndicom.h +++ b/include/ctndicom.h @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (c) 1983-2001 Kevin Rosenberg ** -** $Id: ctndicom.h,v 1.1 2001/03/01 07:30:49 kevin Exp $ +** $Id: ctndicom.h,v 1.2 2001/03/02 02:08:14 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -29,6 +29,54 @@ #define _CTNDICOM_H_ #if HAVE_CTN_DICOM +#include + +#include "dicom.h" +#include "condition.h" +#include "lst.h" +#include "dicom_objects.h" + +class ImageFile; +class Projections; + +class DicomImporter { +private: + std::string m_strFilename; + bool m_bFail; + std::string m_strFailMessage; + int m_iContents; + ImageFile* m_pImageFile; + Projections* m_pProjections; + DCM_OBJECT* m_pFile; + + void loadImage(unsigned short iNRows, unsigned short iNCols, unsigned short iBitsAllocated, + unsigned short iBitsStored, unsigned short iHighBit, unsigned short iPixRep); + + void loadProjections(); + + enum { + TAG_GROUP_SOMATOM = 0x7fe1, + TAG_MEMBER_SOMATOM_DATA = 0x1000, + }; + +public: + enum { + DICOM_CONTENTS_INVALID = -1, + DICOM_CONTENTS_IMAGE, + DICOM_CONTENTS_PROJECTIONS, + }; + + DicomImporter (const char* const pszFile); + ~DicomImporter(); + + bool testImage() const {return m_iContents == DICOM_CONTENTS_IMAGE;} + bool testProjections() const {return m_iContents == DICOM_CONTENTS_PROJECTIONS;} + bool fail() const {return m_bFail;} + const std::string& failMessage() const {return m_strFailMessage;} + + ImageFile* getImageFile() const {return m_pImageFile;} + Projections* getProjections() const {return m_pProjections;} +}; #endif // HAVE_CTN_DICOM #endif // _CTNDICOM_H_