Overview

Introduction

The RSNA DICOM Anonymizer is a cross platform, stand-alone de-identification utility. DICOM image files are imported either via network transfers or directly from the local file system. When a DICOM file is received, it is de-identified and then stored in a user-defined local storage directory. Anonymized images can be exported either to a remote DICOM server or an AWS S3 Object store such as the RSNA Imaging Archive.

Design Guidelines

  1. Open Source
  2. Stand-alone GUI written in Python 3
  3. No internet connection required
  4. Suitable for users with limited DICOM knowledge who are keen to curate and submit medical imaging datasets for AI model development
  5. Platforms supported: Windows, OSX (Intel & ARM), Linux platforms
  6. Ongoing development, build processes and release distribution via RSNA public github account
  7. Backward compatible with Java version
  8. PACS, Cloud PACS and VNA compatible
  9. Reflect all errors to user, do not rely on log analysis
  10. Project based with centralized settings management
  11. Model, View, Controller (MVC) software architecture
  12. Handle 1 million patients
  13. Anonymize 10 files per second

Previous Java Anonymizer

This version of the Anonymizer is based on the Medical Imaging Resource Centre (MIRC) Clinical Trial Processor (CTP) Java Anonymizer V16

Differences from Java Version

  1. Written in Python for Version 3.11
  2. Implements operation subset to handle the default anonymizer script: {@remove, @empty, @hashdate, @round, ptid, acc, uid}
  3. Fields with ptid in the operation will be replaced by a sequentially generated Patient ID starting at 1
  4. Fields with acc in the operation will be replaced by a sequentially generated Accession Number starting at 1
  5. Fields with uid in the operation will be replaced by a sequentially generated UID of form {UIDRoot.SiteID.N} N = 1,2,3...
  6. No built-in editor for anonymizer script
  7. No filter script, uses DICOM association contexts to restrict which storage classes & transfer syntaxes are imported
  8. No internal DICOM image viewer
  9. No internal log viewer
  10. Project based: multiple separate projects with sand boxed settings can be created and managed on same machine
  11. Project defines allowed modalities, storage classes, transfer syntaxes, network timeouts and logging levels
  12. Simplified DICOM client & server configuration
  13. Incoming files are not written to a temporary local disk directory for delayed processing; instead they are kept in memory queue.
  14. Export to AWS S3 Object Store with AWS Cognito user authentication
  15. Create Patient Lookup / Index in csv format with Number of Series and Number of Instances appended to each study row
  16. Allows concurrent import and export processes
  17. Provides a reliable study retrieval method at all levels (Study, Series, Instance) to handle remote DICOM servers which implement asynchronous C-MOVE (eg. VNA)
  18. Fast in-memory datastore for Anonymizer Data Model