# HG changeset patch # User Alain Mazy # Date 1573119526 -3600 # Node ID bdafff1ce443d8d7669505294393581bff4e43bc # Parent 28ab86c6730e7da1e2a45fc4c597af66c2b1f9cb C-Find SCU at Instance level now sets the 0008,0052 tag to IMAGE per default (was INSTANCE). Source: https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/orthanc-users/FYxHXzlaQ0M/rn6d0SowAAAJ diff -r 28ab86c6730e -r bdafff1ce443 Core/DicomNetworking/DicomUserConnection.cpp --- a/Core/DicomNetworking/DicomUserConnection.cpp Thu Nov 07 07:20:42 2019 +0100 +++ b/Core/DicomNetworking/DicomUserConnection.cpp Thu Nov 07 10:38:46 2019 +0100 @@ -703,22 +703,8 @@ break; case ResourceType_Instance: - clevel = "INSTANCE"; - if (manufacturer_ == ModalityManufacturer_ClearCanvas || - manufacturer_ == ModalityManufacturer_Dcm4Chee || - manufacturer_ == ModalityManufacturer_GE) - { - // This is a particular case for ClearCanvas, thanks to Peter Somlo . - // 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 - DU_putStringDOElement(dataset, DCM_QueryRetrieveLevel, "IMAGE"); - clevel = "IMAGE"; - } - else - { - DU_putStringDOElement(dataset, DCM_QueryRetrieveLevel, "INSTANCE"); - } - + clevel = "IMAGE"; + DU_putStringDOElement(dataset, DCM_QueryRetrieveLevel, "IMAGE"); sopClass = UID_FINDStudyRootQueryRetrieveInformationModel; break; @@ -808,19 +794,7 @@ break; case ResourceType_Instance: - if (manufacturer_ == ModalityManufacturer_ClearCanvas || - manufacturer_ == ModalityManufacturer_Dcm4Chee || - manufacturer_ == ModalityManufacturer_GE) - { - // This is a particular case for ClearCanvas, thanks to Peter Somlo . - // 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 - DU_putStringDOElement(dataset, DCM_QueryRetrieveLevel, "IMAGE"); - } - else - { - DU_putStringDOElement(dataset, DCM_QueryRetrieveLevel, "INSTANCE"); - } + DU_putStringDOElement(dataset, DCM_QueryRetrieveLevel, "IMAGE"); break; default: diff -r 28ab86c6730e -r bdafff1ce443 Core/Enumerations.cpp --- a/Core/Enumerations.cpp Thu Nov 07 07:20:42 2019 +0100 +++ b/Core/Enumerations.cpp Thu Nov 07 10:38:46 2019 +0100 @@ -824,12 +824,6 @@ case ModalityManufacturer_StoreScp: return "StoreScp"; - case ModalityManufacturer_ClearCanvas: - return "ClearCanvas"; - - case ModalityManufacturer_Dcm4Chee: - return "Dcm4Chee"; - case ModalityManufacturer_Vitrea: return "Vitrea"; @@ -1560,18 +1554,10 @@ { return ModalityManufacturer_GenericNoUniversalWildcard; } - else if (manufacturer == "ClearCanvas") - { - return ModalityManufacturer_ClearCanvas; - } else if (manufacturer == "StoreScp") { return ModalityManufacturer_StoreScp; } - else if (manufacturer == "Dcm4Chee") - { - return ModalityManufacturer_Dcm4Chee; - } else if (manufacturer == "Vitrea") { return ModalityManufacturer_Vitrea; @@ -1587,7 +1573,10 @@ obsolete = true; } else if (manufacturer == "EFilm2" || - manufacturer == "MedInria") + manufacturer == "MedInria" || + manufacturer == "ClearCanvas" || + manufacturer == "Dcm4Chee" + ) { result = ModalityManufacturer_Generic; obsolete = true; @@ -1600,8 +1589,8 @@ if (obsolete) { - LOG(WARNING) << "The \"" << manufacturer << "\" manufacturer is obsolete since " - << "Orthanc 1.3.0. To guarantee compatibility with future Orthanc " + LOG(WARNING) << "The \"" << manufacturer << "\" manufacturer is now obsolete. " + << "To guarantee compatibility with future Orthanc " << "releases, you should replace it by \"" << EnumerationToString(result) << "\" in your configuration file."; diff -r 28ab86c6730e -r bdafff1ce443 Core/Enumerations.h --- a/Core/Enumerations.h Thu Nov 07 07:20:42 2019 +0100 +++ b/Core/Enumerations.h Thu Nov 07 10:38:46 2019 +0100 @@ -612,8 +612,6 @@ ModalityManufacturer_GenericNoWildcardInDates, ModalityManufacturer_GenericNoUniversalWildcard, ModalityManufacturer_StoreScp, - ModalityManufacturer_ClearCanvas, - ModalityManufacturer_Dcm4Chee, ModalityManufacturer_Vitrea, ModalityManufacturer_GE }; diff -r 28ab86c6730e -r bdafff1ce443 NEWS --- a/NEWS Thu Nov 07 07:20:42 2019 +0100 +++ b/NEWS Thu Nov 07 10:38:46 2019 +0100 @@ -2,7 +2,8 @@ =============================== * "/changes": Allow the "limit" argument to be greater than 100 - +* C-Find SCU at Instance level now sets the 0008,0052 tag at IMAGE per default (was INSTANCE). + Therefore, the "ClearCanvas" and "Dcm4Chee" modality manufacturer have now been deprecated. Version 1.5.8 (2019-10-16) ========================== diff -r 28ab86c6730e -r bdafff1ce443 Resources/Configuration.json --- a/Resources/Configuration.json Thu Nov 07 07:20:42 2019 +0100 +++ b/Resources/Configuration.json Thu Nov 07 10:38:46 2019 +0100 @@ -189,15 +189,13 @@ * - "GenericNoUniversalWildcard" (to replace "*" by "" in all fields * in outgoing C-Find SCU requests originating from Orthanc), * - "StoreScp" (storescp tool from DCMTK), - * - "ClearCanvas", - * - "Dcm4Chee", * - "Vitrea", * - "GE" (Enterprise Archive, MRI consoles and Advantage Workstation * from GE Healthcare). * * This parameter is case-sensitive. **/ - // "clearcanvas" : [ "CLEARCANVAS", "192.168.1.1", 104, "ClearCanvas" ] + // "vitrea" : [ "VITREA", "192.168.1.1", 104, "Vitrea" ] /** * By default, the Orthanc SCP accepts all DICOM commands (C-ECHO, diff -r 28ab86c6730e -r bdafff1ce443 UnitTestsSources/MultiThreadingTests.cpp --- a/UnitTestsSources/MultiThreadingTests.cpp Thu Nov 07 07:20:42 2019 +0100 +++ b/UnitTestsSources/MultiThreadingTests.cpp Thu Nov 07 10:38:46 2019 +0100 @@ -1909,7 +1909,7 @@ modality.SetApplicationEntityTitle("HELLO"); modality.SetHost("world"); modality.SetPortNumber(45); - modality.SetManufacturer(ModalityManufacturer_Dcm4Chee); + modality.SetManufacturer(ModalityManufacturer_GenericNoWildcardInDates); modality.Serialize(s, true); ASSERT_EQ(Json::objectValue, s.type()); } @@ -1919,7 +1919,7 @@ ASSERT_EQ("HELLO", modality.GetApplicationEntityTitle()); ASSERT_EQ("world", modality.GetHost()); ASSERT_EQ(45u, modality.GetPortNumber()); - ASSERT_EQ(ModalityManufacturer_Dcm4Chee, modality.GetManufacturer()); + ASSERT_EQ(ModalityManufacturer_GenericNoWildcardInDates, modality.GetManufacturer()); ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Echo)); ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Find)); ASSERT_TRUE(modality.IsRequestAllowed(DicomRequestType_Get)); diff -r 28ab86c6730e -r bdafff1ce443 UnitTestsSources/UnitTestsMain.cpp --- a/UnitTestsSources/UnitTestsMain.cpp Thu Nov 07 07:20:42 2019 +0100 +++ b/UnitTestsSources/UnitTestsMain.cpp Thu Nov 07 10:38:46 2019 +0100 @@ -630,13 +630,13 @@ ASSERT_STREQ("GenericNoWildcardInDates", EnumerationToString(StringToModalityManufacturer("GenericNoWildcardInDates"))); ASSERT_STREQ("GenericNoUniversalWildcard", EnumerationToString(StringToModalityManufacturer("GenericNoUniversalWildcard"))); ASSERT_STREQ("StoreScp", EnumerationToString(StringToModalityManufacturer("StoreScp"))); - ASSERT_STREQ("ClearCanvas", EnumerationToString(StringToModalityManufacturer("ClearCanvas"))); - ASSERT_STREQ("Dcm4Chee", EnumerationToString(StringToModalityManufacturer("Dcm4Chee"))); ASSERT_STREQ("Vitrea", EnumerationToString(StringToModalityManufacturer("Vitrea"))); ASSERT_STREQ("GE", EnumerationToString(StringToModalityManufacturer("GE"))); // backward compatibility tests (to remove once we make these manufacturer really obsolete) ASSERT_STREQ("Generic", EnumerationToString(StringToModalityManufacturer("MedInria"))); ASSERT_STREQ("Generic", EnumerationToString(StringToModalityManufacturer("EFilm2"))); + ASSERT_STREQ("Generic", EnumerationToString(StringToModalityManufacturer("ClearCanvas"))); + ASSERT_STREQ("Generic", EnumerationToString(StringToModalityManufacturer("Dcm4Chee"))); ASSERT_STREQ("GenericNoWildcardInDates", EnumerationToString(StringToModalityManufacturer("SyngoVia"))); ASSERT_STREQ("GenericNoWildcardInDates", EnumerationToString(StringToModalityManufacturer("AgfaImpax"))); }