** This is part of the CTSim program
** Copyright (c) 1983-2001 Kevin Rosenberg
**
-** $Id: ctndicom.h,v 1.3 2001/03/05 15:10:58 kevin Exp $
+** $Id$
**
** 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
#define _CTNDICOM_H_
#if HAVE_CTN_DICOM
-#include <string>
-
-#include "dicom.h"
-#include "condition.h"
-#include "lst.h"
-#include "dicom_objects.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#ifdef GCCSUNOS
+#include <sys/types.h>
+#endif
+
+#include "ctsupport.h"
+
+#if SIZEOF_LONG == 4
+#define LONGSIZE 32
+#elif SIZEOF_LONG ==8
+#define LONGSIZE 64
+#endif
+
+#if SIZEOF_INT == 2
+#define INTSIZE 16
+#elif SIZEOF_INT == 4
+#define INTSIZE 32
+#elif SIZEOF_INT == 8
+#define INTSIZE 64
+#endif
+
+#if SIZEOF_SHORT == 2
+#define SHORTSIZE 16
+#elif SIZEOF_SHORT == 4
+#define SHORTSIZE 32
+#endif
+
+#include "dicom.h"
+#include "ctnthread.h"
+#include "lst.h"
+#include "condition.h"
+#include "dicom_objects.h"
+#include <string>
class ImageFile;
class Projections;
class DicomExporter {
private:
+ const ImageFile* m_pImageFile;
std::string m_strFilename;
bool m_bFail;
std::string m_strFailMessage;
- const ImageFile* m_pImageFile;
- DCM_OBJECT* m_pFile;
-
- void saveImage (unsigned short iNRows, unsigned short iNCols, unsigned short iBitsAllocated,
- unsigned short iBitsStored, unsigned short iHighBit, unsigned short iPixRep);
+ DCM_OBJECT* m_pObject;
+ bool createDicomObject();
public:
- DicomExporter (const char* const pszFile, const ImageFile* pImageFile);
+ DicomExporter (ImageFile* pImageFile);
~DicomExporter();
+ bool writeFile (const char* const pszFilename);
bool fail() const {return m_bFail;}
const std::string& failMessage() const {return m_strFailMessage;}
};