X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctsim%2Fctndicom.cpp;h=2209fba2706e40236729782e5dfcaac15a53edad;hp=d37f3cc398a6dcd40bb37799af6d809377de8659;hb=663448e3173a19f054952806d8f8eca2fe59ec90;hpb=79ef6dfda2cb12c01dbc60f2ccdcef3f72a911c4 diff --git a/libctsim/ctndicom.cpp b/libctsim/ctndicom.cpp index d37f3cc..2209fba 100644 --- a/libctsim/ctndicom.cpp +++ b/libctsim/ctndicom.cpp @@ -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.12 2001/03/13 14:53:44 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 osPatComments; + m_pImageFile->printLabelsBrief (osPatComments); + size_t sizePatComments = osPatComments.str().length(); + char* pszPatComments = new char [sizePatComments+1]; + strncpy (pszPatComments, osPatComments.str().c_str(), sizePatComments); + 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(pszPatComments), pszPatComments}, }; 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 pszPatComments; + if (cond != DCM_NORMAL || iUpdateCount != 1) { m_bFail = true; m_strFailMessage = "Error modifying pixel data";