comparison OrthancFramework/UnitTestsSources/FromDcmtkTests.cpp @ 4696:dd6274412ff4

new configuration option "ExternalDictionaries" to load external DICOM dictionaries
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 17 Jun 2021 15:47:21 +0200
parents 45bce660ce3a
children 863383e7e582
comparison
equal deleted inserted replaced
4695:651f069c7f77 4696:dd6274412ff4
698 698
699 TEST(ParsedDicomFile, FromJson) 699 TEST(ParsedDicomFile, FromJson)
700 { 700 {
701 FromDcmtkBridge::RegisterDictionaryTag(DicomTag(0x7057, 0x1000), ValueRepresentation_OtherByte, "MyPrivateTag2", 1, 1, "ORTHANC"); 701 FromDcmtkBridge::RegisterDictionaryTag(DicomTag(0x7057, 0x1000), ValueRepresentation_OtherByte, "MyPrivateTag2", 1, 1, "ORTHANC");
702 FromDcmtkBridge::RegisterDictionaryTag(DicomTag(0x7059, 0x1000), ValueRepresentation_OtherByte, "MyPrivateTag3", 1, 1, ""); 702 FromDcmtkBridge::RegisterDictionaryTag(DicomTag(0x7059, 0x1000), ValueRepresentation_OtherByte, "MyPrivateTag3", 1, 1, "");
703 FromDcmtkBridge::RegisterDictionaryTag(DicomTag(0x7050, 0x1000), ValueRepresentation_PersonName, "Declared public tag2", 1, 1, ""); 703 FromDcmtkBridge::RegisterDictionaryTag(DicomTag(0x7050, 0x1002), ValueRepresentation_PersonName, "Declared public tag2", 1, 1, "");
704 704
705 Json::Value v; 705 Json::Value v;
706 const std::string sopClassUid = "1.2.840.10008.5.1.4.1.1.1"; // CR Image Storage: 706 const std::string sopClassUid = "1.2.840.10008.5.1.4.1.1.1"; // CR Image Storage:
707 707
708 // Test the private creator 708 // Test the private creator
711 711
712 { 712 {
713 v["SOPClassUID"] = sopClassUid; 713 v["SOPClassUID"] = sopClassUid;
714 v["SpecificCharacterSet"] = "ISO_IR 148"; // This is latin-5 714 v["SpecificCharacterSet"] = "ISO_IR 148"; // This is latin-5
715 v["PatientName"] = "Sébastien"; 715 v["PatientName"] = "Sébastien";
716 v["7050-1000"] = "Some public tag"; // Even group => public tag 716 v["7050-1002"] = "Some public tag"; // Even group => public tag
717 v["7052-1000"] = "Some unknown tag"; // Even group => public, unknown tag 717 v["7052-1000"] = "Some unknown tag"; // Even group => public, unknown tag
718 v["7057-1000"] = "Some private tag"; // Odd group => private tag 718 v["7057-1000"] = "Some private tag"; // Odd group => private tag
719 v["7059-1000"] = "Some private tag2"; // Odd group => private tag, with an odd length to test padding 719 v["7059-1000"] = "Some private tag2"; // Odd group => private tag, with an odd length to test padding
720 720
721 std::string s; 721 std::string s;
782 ASSERT_FALSE(vv.isMember("StudyInstanceUID")); 782 ASSERT_FALSE(vv.isMember("StudyInstanceUID"));
783 ASSERT_FALSE(vv.isMember("PatientID")); 783 ASSERT_FALSE(vv.isMember("PatientID"));
784 ASSERT_EQ(2u, vv["0040,0100"].size()); 784 ASSERT_EQ(2u, vv["0040,0100"].size());
785 ASSERT_EQ("MR", vv["0040,0100"][0]["0008,0060"].asString()); 785 ASSERT_EQ("MR", vv["0040,0100"][0]["0008,0060"].asString());
786 ASSERT_EQ("CT", vv["0040,0100"][1]["0008,0060"].asString()); 786 ASSERT_EQ("CT", vv["0040,0100"][1]["0008,0060"].asString());
787 ASSERT_EQ("Some public tag", vv["7050,1000"].asString()); 787 ASSERT_EQ("Some public tag", vv["7050,1002"].asString());
788 ASSERT_EQ("Some unknown tag", vv["7052,1000"].asString()); 788 ASSERT_EQ("Some unknown tag", vv["7052,1000"].asString());
789 ASSERT_EQ("Some private tag", vv["7057,1000"].asString()); 789 ASSERT_EQ("Some private tag", vv["7057,1000"].asString());
790 ASSERT_EQ("Some private tag2", vv["7059,1000"].asString()); 790 ASSERT_EQ("Some private tag2", vv["7059,1000"].asString());
791 ASSERT_EQ("Sébastien", vv["0010,0010"].asString()); 791 ASSERT_EQ("Sébastien", vv["0010,0010"].asString());
792 ASSERT_EQ("Sebastien", vv["0008,1030"].asString()); 792 ASSERT_EQ("Sebastien", vv["0008,1030"].asString());