comparison OrthancFramework/UnitTestsSources/FromDcmtkTests.cpp @ 4693:45bce660ce3a

added routes for bulk anonymization/modification
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 16 Jun 2021 16:44:04 +0200
parents ead3b81f4541
children dd6274412ff4
comparison
equal deleted inserted replaced
4692:e68edf92e5cc 4693:45bce660ce3a
2428 Json::Value b = Json::arrayValue; 2428 Json::Value b = Json::arrayValue;
2429 2429
2430 { 2430 {
2431 Json::Value c = Json::objectValue; 2431 Json::Value c = Json::objectValue;
2432 c["CodeValue"] = "122403"; 2432 c["CodeValue"] = "122403";
2433 c["0010,0010"] = "WORLD"; // Patient name 2433 c["0008,103e"] = "WORLD"; // Series description
2434 b.append(c); 2434 b.append(c);
2435 } 2435 }
2436 2436
2437 item["PurposeOfReferenceCodeSequence"] = b; 2437 item["PurposeOfReferenceCodeSequence"] = b;
2438 } 2438 }
2444 } 2444 }
2445 2445
2446 static const char* CODE_VALUE = "0008,0100"; 2446 static const char* CODE_VALUE = "0008,0100";
2447 static const char* PATIENT_ID = "0010,0020"; 2447 static const char* PATIENT_ID = "0010,0020";
2448 static const char* PATIENT_NAME = "0010,0010"; 2448 static const char* PATIENT_NAME = "0010,0010";
2449 static const char* SERIES_DESCRIPTION = "0008,103e";
2449 static const char* PURPOSE_CODE_SEQ = "0040,a170"; 2450 static const char* PURPOSE_CODE_SEQ = "0040,a170";
2450 static const char* REF_IM_SEQ = "0008,1140"; 2451 static const char* REF_IM_SEQ = "0008,1140";
2451 static const char* REF_SOP_CLASS = "0008,1150"; 2452 static const char* REF_SOP_CLASS = "0008,1150";
2452 static const char* REF_SOP_INSTANCE = "0008,1155"; 2453 static const char* REF_SOP_INSTANCE = "0008,1155";
2453 static const char* REL_SERIES_SEQ = "0008,1250"; 2454 static const char* REL_SERIES_SEQ = "0008,1250";
2523 dicom->RemovePath(DicomPath::Parse("RelatedSeriesSequence[0].PurposeOfReferenceCodeSequence[0].CodeValue")); 2524 dicom->RemovePath(DicomPath::Parse("RelatedSeriesSequence[0].PurposeOfReferenceCodeSequence[0].CodeValue"));
2524 2525
2525 Json::Value vv; 2526 Json::Value vv;
2526 dicom->DatasetToJson(vv, DicomToJsonFormat_Short, DicomToJsonFlags_None, 0); 2527 dicom->DatasetToJson(vv, DicomToJsonFormat_Short, DicomToJsonFlags_None, 0);
2527 2528
2528 ASSERT_EQ("WORLD", vv[REL_SERIES_SEQ][0][PURPOSE_CODE_SEQ][0][PATIENT_NAME].asString()); 2529 ASSERT_EQ("WORLD", vv[REL_SERIES_SEQ][0][PURPOSE_CODE_SEQ][0][SERIES_DESCRIPTION].asString());
2529 ASSERT_FALSE(vv[REL_SERIES_SEQ][0][PURPOSE_CODE_SEQ][0].isMember(CODE_VALUE)); 2530 ASSERT_FALSE(vv[REL_SERIES_SEQ][0][PURPOSE_CODE_SEQ][0].isMember(CODE_VALUE));
2530 } 2531 }
2531 2532
2532 { 2533 {
2533 std::unique_ptr<ParsedDicomFile> dicom(ParsedDicomFile::CreateFromJson(v, DicomFromJsonFlags_None, "")); 2534 std::unique_ptr<ParsedDicomFile> dicom(ParsedDicomFile::CreateFromJson(v, DicomFromJsonFlags_None, ""));
2683 ASSERT_TRUE(Toolbox::IsUuid(vv1[PATIENT_NAME].asString())); 2684 ASSERT_TRUE(Toolbox::IsUuid(vv1[PATIENT_NAME].asString()));
2684 ASSERT_EQ("1.2.840.10008.5.1.4.1.1.4", vv1[REF_IM_SEQ][0][REF_SOP_CLASS].asString()); 2685 ASSERT_EQ("1.2.840.10008.5.1.4.1.1.4", vv1[REF_IM_SEQ][0][REF_SOP_CLASS].asString());
2685 ASSERT_NE("1.2.840.113619.2.176.2025.1499492.7040.1171286241.719", vv1[REF_IM_SEQ][0][REF_SOP_INSTANCE].asString()); 2686 ASSERT_NE("1.2.840.113619.2.176.2025.1499492.7040.1171286241.719", vv1[REF_IM_SEQ][0][REF_SOP_INSTANCE].asString());
2686 ASSERT_NE("1.2.840.113619.2.176.2025.1499492.7040.1171286241.726", vv1[REF_IM_SEQ][1][REF_SOP_INSTANCE].asString()); 2687 ASSERT_NE("1.2.840.113619.2.176.2025.1499492.7040.1171286241.726", vv1[REF_IM_SEQ][1][REF_SOP_INSTANCE].asString());
2687 ASSERT_NE("1.2.840.113704.1.111.7016.1342451220.40", vv1[REL_SERIES_SEQ][0][STUDY_INSTANCE_UID].asString()); 2688 ASSERT_NE("1.2.840.113704.1.111.7016.1342451220.40", vv1[REL_SERIES_SEQ][0][STUDY_INSTANCE_UID].asString());
2688 ASSERT_EQ("WORLD", vv1[REL_SERIES_SEQ][0][PURPOSE_CODE_SEQ][0][PATIENT_NAME].asString()); 2689 ASSERT_EQ("WORLD", vv1[REL_SERIES_SEQ][0][PURPOSE_CODE_SEQ][0][SERIES_DESCRIPTION].asString());
2689 } 2690 }
2690 2691
2691 { 2692 {
2692 std::unique_ptr<ParsedDicomFile> dicom(ParsedDicomFile::CreateFromJson(v, DicomFromJsonFlags_None, "")); 2693 std::unique_ptr<ParsedDicomFile> dicom(ParsedDicomFile::CreateFromJson(v, DicomFromJsonFlags_None, ""));
2693 2694