comparison UnitTestsSources/FromDcmtkTests.cpp @ 991:2f76b92addd4

keep private tags during anonymization
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 02 Jul 2014 11:56:08 +0200
parents dfc076546821
children 6fd4434c1bcf
comparison
equal deleted inserted replaced
990:7cbcd580cd21 991:2f76b92addd4
38 #include "../OrthancServer/DicomModification.h" 38 #include "../OrthancServer/DicomModification.h"
39 #include "../Core/OrthancException.h" 39 #include "../Core/OrthancException.h"
40 #include "../Core/ImageFormats/ImageBuffer.h" 40 #include "../Core/ImageFormats/ImageBuffer.h"
41 #include "../Core/ImageFormats/PngReader.h" 41 #include "../Core/ImageFormats/PngReader.h"
42 #include "../Core/ImageFormats/PngWriter.h" 42 #include "../Core/ImageFormats/PngWriter.h"
43 #include "../Core/Uuid.h"
43 44
44 using namespace Orthanc; 45 using namespace Orthanc;
45 46
46 TEST(DicomFormat, Tag) 47 TEST(DicomFormat, Tag)
47 { 48 {
80 if (i > 4) 81 if (i > 4)
81 o.Replace(DICOM_TAG_SERIES_INSTANCE_UID, "coucou"); 82 o.Replace(DICOM_TAG_SERIES_INSTANCE_UID, "coucou");
82 m.Apply(*f); 83 m.Apply(*f);
83 f->SaveToFile(b); 84 f->SaveToFile(b);
84 } 85 }
86 }
87
88
89 TEST(DicomModification, Anonymization)
90 {
91 const DicomTag privateTag(0x0045, 0x0010);
92 ASSERT_TRUE(FromDcmtkBridge::IsPrivateTag(privateTag));
93
94 ParsedDicomFile o;
95 o.Replace(DICOM_TAG_PATIENT_NAME, "coucou");
96 o.Replace(privateTag, "private tag");
97
98 std::string s;
99 ASSERT_TRUE(o.GetTagValue(s, DICOM_TAG_PATIENT_NAME));
100 ASSERT_FALSE(Toolbox::IsUuid(s));
101
102 DicomModification m;
103 m.SetupAnonymization();
104 m.Keep(privateTag);
105
106 m.Apply(o);
107
108 ASSERT_TRUE(o.GetTagValue(s, DICOM_TAG_PATIENT_NAME));
109 ASSERT_TRUE(Toolbox::IsUuid(s));
110 ASSERT_TRUE(o.GetTagValue(s, privateTag));
111 ASSERT_EQ("private tag", s);
112
113 m.SetupAnonymization();
114 m.Apply(o);
115 ASSERT_FALSE(o.GetTagValue(s, privateTag));
85 } 116 }
86 117
87 118
88 #include <dcmtk/dcmdata/dcuid.h> 119 #include <dcmtk/dcmdata/dcuid.h>
89 120