DICOM de-identification tool overview: Difference between revisions
From Commontk
Jump to navigationJump to search
No edit summary |
|||
(8 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
Specific use cases and requirements for de-identification | == Specific use cases and requirements for de-identification == | ||
=== Requirements === | |||
* Client side processing | * Client side processing | ||
* Offline processing | * Offline processing | ||
Line 6: | Line 8: | ||
* In-application processing should be possible? | * In-application processing should be possible? | ||
** e.g. in MITK and Slicer? | ** e.g. in MITK and Slicer? | ||
* Specify conditions like if tag value is equal to XYZ then remove all private tags except of <tag list> | |||
Available tools for DICOM de-identification | Some issues, which anonymization tools often have, found on the [http://plastimatch.org/dicom_comparison.html Plastimatch homepage], also providing a comparison: | ||
* Some date fields cannot be changed (duh) | |||
* It is not possible to preserve relative dates (for example, we would like to set StudyDate to Jan 1, 2000, but preserve the fact that StructureSetDate occurred 35 days later) | |||
* Private tags are always deleted (on our GE scanner, these contain important acquisition details) | |||
* Comments, diagnosis descriptions, or other fields cannot be reset (may contain protected information) | |||
* It is not possible to modify strings (for example, the physician might type “smith-final” into the StructureSetName field, and we would like to delete “smith” but preserve “final” ) | |||
* UIDs are not changed, or relationships between UIDs are not preserved (duh) | |||
=== Usecases === | |||
* | |||
== Available tools for DICOM de-identification == | |||
{| class="wikitable" | {| class="wikitable" | ||
Line 13: | Line 29: | ||
! Language | ! Language | ||
! Available as cmd line? | ! Available as cmd line? | ||
! Features | |||
! URL | ! URL | ||
|- | |- | ||
| Clinical Trial Processor | | Clinical Trial Processor | ||
| Java | | Java | ||
| | |||
| | | | ||
| http://mircwiki.rsna.org/index.php?title=CTP-The_RSNA_Clinical_Trial_Processor | | http://mircwiki.rsna.org/index.php?title=CTP-The_RSNA_Clinical_Trial_Processor | ||
Line 23: | Line 41: | ||
| Java | | Java | ||
| | | | ||
| | |||
| http://www.dclunie.com/pixelmed/software/webstart/DicomCleanerUsage.html | | http://www.dclunie.com/pixelmed/software/webstart/DicomCleanerUsage.html | ||
|- | |- | ||
| DICOM Confidential | | DICOM Confidential | ||
| Java | | Java | ||
| | |||
| | | | ||
| http://sourceforge.net/projects/privacyguard/ | | http://sourceforge.net/projects/privacyguard/ | ||
Line 32: | Line 52: | ||
| DICOM Browser | | DICOM Browser | ||
| Java | | Java | ||
| | | [http://nrg.wustl.edu/software/dicom-browser/instructions/batch-anonymizations/ Yes] | ||
| Script based processing: Assignment / Deletion / Constraint and condition based / Built-in functions / Generators / user defined variables | |||
| http://nrg.wustl.edu/software/dicom-browser/ | | http://nrg.wustl.edu/software/dicom-browser/ | ||
|- | |- | ||
Line 38: | Line 59: | ||
| C++ | | C++ | ||
| Yes | | Yes | ||
| | |||
| http://gdcm.sourceforge.net/html/gdcmanon.html | | http://gdcm.sourceforge.net/html/gdcmanon.html | ||
|- | |- | ||
| DCMTK | | DCMTK | ||
| C++ | | C++ | ||
| | |||
| | |||
| | | | ||
|- | |||
| DICOM anon | |||
| Python | |||
| Yes | |||
| | | | ||
| https://github.com/cbmi/dicom-anon | |||
|- | |- | ||
|} | |} |
Latest revision as of 11:39, 6 November 2014
Home < DICOM de-identification tool overviewSpecific use cases and requirements for de-identification
Requirements
- Client side processing
- Offline processing
- Platform and browser independent
- Provided as commandline tool?
- In-application processing should be possible?
- e.g. in MITK and Slicer?
- Specify conditions like if tag value is equal to XYZ then remove all private tags except of <tag list>
Some issues, which anonymization tools often have, found on the Plastimatch homepage, also providing a comparison:
- Some date fields cannot be changed (duh)
- It is not possible to preserve relative dates (for example, we would like to set StudyDate to Jan 1, 2000, but preserve the fact that StructureSetDate occurred 35 days later)
- Private tags are always deleted (on our GE scanner, these contain important acquisition details)
- Comments, diagnosis descriptions, or other fields cannot be reset (may contain protected information)
- It is not possible to modify strings (for example, the physician might type “smith-final” into the StructureSetName field, and we would like to delete “smith” but preserve “final” )
- UIDs are not changed, or relationships between UIDs are not preserved (duh)
Usecases
Available tools for DICOM de-identification
Toolname | Language | Available as cmd line? | Features | URL |
---|---|---|---|---|
Clinical Trial Processor | Java | http://mircwiki.rsna.org/index.php?title=CTP-The_RSNA_Clinical_Trial_Processor | ||
DICOM Cleaner | Java | http://www.dclunie.com/pixelmed/software/webstart/DicomCleanerUsage.html | ||
DICOM Confidential | Java | http://sourceforge.net/projects/privacyguard/ | ||
DICOM Browser | Java | Yes | Script based processing: Assignment / Deletion / Constraint and condition based / Built-in functions / Generators / user defined variables | http://nrg.wustl.edu/software/dicom-browser/ |
GDCM Anon | C++ | Yes | http://gdcm.sourceforge.net/html/gdcmanon.html | |
DCMTK | C++ | |||
DICOM anon | Python | Yes | https://github.com/cbmi/dicom-anon |