Mercurial > hg > orthanc
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 |