r638: no message
[ctsim.git] / libctsim / ctndicom.cpp
index d37f3cc398a6dcd40bb37799af6d809377de8659..50d3a7dd6ffd843ec56e052c734e41a943f3bc5a 100644 (file)
@@ -9,7 +9,7 @@
 **  This is part of the CTSim program
 **  Copyright (c) 1983-2001 Kevin Rosenberg
 **
-**  $Id: ctndicom.cpp,v 1.10 2001/03/11 18:52:03 kevin Exp $
+**  $Id: ctndicom.cpp,v 1.11 2001/03/13 10:35:06 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
@@ -319,6 +319,12 @@ DicomExporter::createDicomObject()
   char szIDImageType[] = "ORIGINAL";
   char szIDManufacturerModel[65] = "";
 
+  std::ostringstream osComments;
+  m_pImageFile->printLabelsBrief (osComments);
+  size_t sizeIDComments = osComments.str().length();
+  char* pszIDComments = new char [sizeIDComments+1];
+  strncpy (pszIDComments, osComments.str().c_str(), sizeIDComments);
+
   snprintf (szIDSOPInstanceUID, sizeof(szIDSOPInstanceUID), "%s.2.1.6.1", szCTSimRoot);
   snprintf (szRelStudyInstanceUID, sizeof(szRelStudyInstanceUID), "%s.2.1.6.1.1", szCTSimRoot);
   snprintf (szRelFrameOfReferenceUID, sizeof(szRelFrameOfReferenceUID), "%s.99", szCTSimRoot);
@@ -378,13 +384,13 @@ DicomExporter::createDicomObject()
     {DCM_IDMODALITY, DCM_CS, "", 1, strlen(szModality), szModality},
     {DCM_IDSOPCLASSUID, DCM_UI, "", 1, strlen(szSOPClassUID), szSOPClassUID},
     {DCM_IDMANUFACTURERMODEL, DCM_LO, "", 1, strlen(szIDManufacturerModel), szIDManufacturerModel},
+    {DCM_PATCOMMENTS, DCM_LT, "", 1, strlen(pszIDComments), pszIDComments},
   };
   int nElemRequired = sizeof (aElemRequired) / sizeof(DCM_ELEMENT);
 
   int iUpdateCount;
   cond = DCM_ModifyElements (&m_pObject, aElemRequired, nElemRequired, NULL, 0, &iUpdateCount);
 
-
   DCM_ELEMENT elemPixelData = {DCM_PXLPIXELDATA, DCM_OT, "", 1, 0, NULL};
 
   unsigned long lRealLength = 2 * m_pImageFile->nx() * m_pImageFile->ny();
@@ -405,6 +411,8 @@ DicomExporter::createDicomObject()
   cond = DCM_ModifyElements (&m_pObject, &elemPixelData, 1, NULL, 0, &iUpdateCount);
   delete pRawPixels;
 
+  delete pszIDComments;
+
   if (cond != DCM_NORMAL || iUpdateCount != 1) {
     m_bFail = true;
     m_strFailMessage = "Error modifying pixel data";