# Some DICOM tags are not copied even when setting LoadPrivateTagsOn & SetMaxSizeLoadEntry

**URL:** <https://discourse.itk.org/t/some-dicom-tags-are-not-copied-even-when-setting-loadprivatetagson-setmaxsizeloadentry/2493>\
**Category:** Engineering\
**Created:** [December 9, 2019, 2:20pm UTC](https://discourse.itk.org/t/some-dicom-tags-are-not-copied-even-when-setting-loadprivatetagson-setmaxsizeloadentry/2493 "2019-12-09T14:20:04Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Silvina](https://discourse.itk.org/letter_avatar_proxy/v4/letter/s/bbce88/32.png) [@Silvina](https://discourse.itk.org/u/Silvina)\
**Post date:** [December 9, 2019, 2:20pm UTC](https://discourse.itk.org/t/some-dicom-tags-are-not-copied-even-when-setting-loadprivatetagson-setmaxsizeloadentry/2493/1 "2019-12-09T14:20:04Z")

</div>

Hi,  
I am trying to anonymize DICOM files, while keeping the rest of the data.  
Some keys are lost during the copy, for example:  
00e1|1046, 01f1|100f , 01f1|1044, 01f7|109b  
Also one key is added 0028|1054 with value US

Here is my code:  
itk::ImageFileReader::Pointer singleImageReader = itk::ImageFileReader::New();  
itk::GDCMImageIO::Pointer dicomIO = itk::GDCMImageIO::New();  
dicomIO-\>LoadPrivateTagsOn();  
dicomIO-\>SetMaxSizeLoadEntry(0xffff);  
dicomIO-\>SetKeepOriginalUID(true);  
singleImageReader-\>SetFileName(Q2C(srcFilePath));  
singleImageReader-\>SetImageIO(dicomIO);  
try {  
singleImageReader-\>Update();  
}  
catch (itk::ExceptionObject & e) {  
qDebug() \<\< “[Dicom Reader] ERROR loading:” \<\< srcFilePath \<\< " Error: "\<\< QString::fromStdString(e.what());  
return false;  
}  
ImageType::Pointer inputImage = singleImageReader-\>GetOutput();  
itk::MetaDataDictionary& dictionary = inputImage-\>GetMetaDataDictionary();  
itk::EncapsulateMetaDatastd::string(dictionary, patientNameTag, “”);  
itk::EncapsulateMetaDatastd::string(dictionary, patientIdTag, “”);  
itk::EncapsulateMetaDatastd::string(dictionary, patientSexTag, “”);  
itk::EncapsulateMetaDatastd::string(dictionary, patientBirthDateTag, “”);

```
itk::ImageFileWriter<ImageType>::Pointer singleImageWriter = itk::ImageFileWriter<ImageType>::New();

singleImageWriter->SetInput(singleImageReader->GetOutput());
singleImageWriter->SetFileName(Q2C(dstFilePath));
singleImageWriter->SetImageIO(dicomIO);
try {
  singleImageWriter->Update();
}
catch (itk::ExceptionObject & e) {
    qDebug() << "[Dicom Reader] ERROR writing:" << dstFilePath << " Error: "<< QString::fromStdString(e.what());
    return false;
}
return true;

```

Any ideas ?
