Mercurial > hg > orthanc
diff OrthancServer/DicomProtocol/DicomUserConnection.cpp @ 519:1b2cdc855bd3
Parameter for PACS manufacturer, support for ClearCanvas
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 20 Aug 2013 13:39:42 +0200 |
parents | 4d5f0857ec9c |
children | 08eca5d86aad |
line wrap: on
line diff
--- a/OrthancServer/DicomProtocol/DicomUserConnection.cpp Mon Aug 19 14:47:03 2013 +0200 +++ b/OrthancServer/DicomProtocol/DicomUserConnection.cpp Tue Aug 20 13:39:42 2013 +0200 @@ -294,7 +294,20 @@ break; case FindRootModel_Instance: - DU_putStringDOElement(dataset.get(), DcmTagKey(0x0008, 0x0052), "INSTANCE"); + if (manufacturer_ == ModalityManufacturer_ClearCanvas) + { + // This is a particular case for ClearCanvas, thanks to Peter Somlo <peter.somlo@gmail.com>. + // https://groups.google.com/d/msg/orthanc-users/j-6C3MAVwiw/iolB9hclom8J + // http://www.clearcanvas.ca/Home/Community/OldForums/tabid/526/aff/11/aft/14670/afv/topic/Default.aspx + printf("CLEAR CANVAS\n"); + DU_putStringDOElement(dataset.get(), DcmTagKey(0x0008, 0x0052), "IMAGE"); + } + else + { + printf("GENERIC\n"); + DU_putStringDOElement(dataset.get(), DcmTagKey(0x0008, 0x0052), "INSTANCE"); + } + sopClass = UID_FINDStudyRootQueryRetrieveInformationModel; // Accession number @@ -453,6 +466,7 @@ distantAet_ = "ANY-SCP"; distantPort_ = 104; distantHost_ = "127.0.0.1"; + manufacturer_ = ModalityManufacturer_Generic; pimpl_->net_ = NULL; pimpl_->params_ = NULL; @@ -476,6 +490,12 @@ distantAet_ = aet; } + void DicomUserConnection::SetDistantManufacturer(ModalityManufacturer manufacturer) + { + Close(); + manufacturer_ = manufacturer; + } + void DicomUserConnection::SetDistantHost(const std::string& host) {