Mercurial > hg > orthanc
diff 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 |
line wrap: on
line diff
--- a/UnitTestsSources/FromDcmtkTests.cpp Tue Jul 01 17:17:45 2014 +0200 +++ b/UnitTestsSources/FromDcmtkTests.cpp Wed Jul 02 11:56:08 2014 +0200 @@ -40,6 +40,7 @@ #include "../Core/ImageFormats/ImageBuffer.h" #include "../Core/ImageFormats/PngReader.h" #include "../Core/ImageFormats/PngWriter.h" +#include "../Core/Uuid.h" using namespace Orthanc; @@ -85,6 +86,36 @@ } +TEST(DicomModification, Anonymization) +{ + const DicomTag privateTag(0x0045, 0x0010); + ASSERT_TRUE(FromDcmtkBridge::IsPrivateTag(privateTag)); + + ParsedDicomFile o; + o.Replace(DICOM_TAG_PATIENT_NAME, "coucou"); + o.Replace(privateTag, "private tag"); + + std::string s; + ASSERT_TRUE(o.GetTagValue(s, DICOM_TAG_PATIENT_NAME)); + ASSERT_FALSE(Toolbox::IsUuid(s)); + + DicomModification m; + m.SetupAnonymization(); + m.Keep(privateTag); + + m.Apply(o); + + ASSERT_TRUE(o.GetTagValue(s, DICOM_TAG_PATIENT_NAME)); + ASSERT_TRUE(Toolbox::IsUuid(s)); + ASSERT_TRUE(o.GetTagValue(s, privateTag)); + ASSERT_EQ("private tag", s); + + m.SetupAnonymization(); + m.Apply(o); + ASSERT_FALSE(o.GetTagValue(s, privateTag)); +} + + #include <dcmtk/dcmdata/dcuid.h> TEST(DicomModification, Png)