I'm experiencing a strange difference in results dealing with private tag sequences when uploading via the dicom zip uploader, vs importing via the dcmqr plugin.
I'm trying to retain the private dose information sequence in a Siemens Patient Protocol series image for later use. The relevant portion of anonymization script is as follows:
//private tags
if ( (0008,103E) = "Patient Protocol" ){
tagsToRetain := {
(0029,{SIEMENS MEDCOM HEADER}40),
(0029,{SIEMENS MEDCOM HEADER}41),
(0029,{SIEMENS MEDCOM HEADER}42),
(0029,{SIEMENS MEDCOM HEADER}43),
(0029,{SIEMENS MEDCOM HEADER}44)
}
retainPrivateTags[tagsToRetain]
}
else{
removeAllPrivateTags
}
When I query and pull in a study via the QR plugin, it breaks the dicom, compared to uploading the same image via zip uploader... These differences are apparent in the in the header output on XNAT's webUI and the dcmdump command line tool from dcm4che... See attached screenshots.
The only relevant errors/warnings I can see in the logs relate to attribute resolution below... I get these errors in both cases: qr plugin and zip upload.
2025-01-17 17:20:36,620 [threadPoolExecutorFactoryBean-13114] WARN org.nrg.dicom.dicomedit.functions.RetainPrivateTagsReplaceFunction - Can not resolve attribute for deletion: 0029"SIEMENS MEDCOM HEADER"1040[0]/0029"SIEMENS MEDCOM HEADER"0010
2025-01-17 17:20:36,620 [threadPoolExecutorFactoryBean-13114] WARN org.nrg.dicom.dicomedit.functions.RetainPrivateTagsReplaceFunction - Can not resolve attribute for deletion: 0029"SIEMENS MEDCOM HEADER"1040[0]/0029"SIEMENS MEDCOM HEADER"1041
2025-01-17 17:20:36,620 [threadPoolExecutorFactoryBean-13114] WARN org.nrg.dicom.dicomedit.functions.RetainPrivateTagsReplaceFunction - Can not resolve attribute for deletion: 0029"SIEMENS MEDCOM HEADER"1040[0]/0029"SIEMENS MEDCOM HEADER"1042
2025-01-17 17:20:36,620 [threadPoolExecutorFactoryBean-13114] WARN org.nrg.dicom.dicomedit.functions.RetainPrivateTagsReplaceFunction - Can not resolve attribute for deletion: 0029"SIEMENS MEDCOM HEADER"1040[0]/0029"SIEMENS MEDCOM HEADER"1043
2025-01-17 17:20:36,620 [threadPoolExecutorFactoryBean-13114] WARN org.nrg.dicom.dicomedit.functions.RetainPrivateTagsReplaceFunction - Can not resolve attribute for deletion: 0029"SIEMENS MEDCOM HEADER"1040[0]/0029"SIEMENS MEDCOM HEADER"1044
I'm not sure what's happening, but the private sequence seems to be getting modified in some way via the QR plugin that isn't happening with the zip uploader.