All Projects → blairconrad → dicognito

blairconrad / dicognito

Licence: MIT license
A library and command line tool for anonymizing DICOM files

Programming Languages

python
139335 projects - #7 most used programming language
powershell
5483 projects

Projects that are alternatives of or similar to dicognito

deid
best effort anonymization for medical images using python
Stars: ✭ 108 (+535.29%)
Mutual labels:  dicom, anonymize, deidentify
DICOMClient
DICOM utilities for anonymizing, viewing and uploading to a PACS
Stars: ✭ 40 (+135.29%)
Mutual labels:  dicom, anonymize
monai-deploy
MONAI Deploy aims to become the de-facto standard for developing, packaging, testing, deploying and running medical AI applications in clinical production.
Stars: ✭ 56 (+229.41%)
Mutual labels:  dicom
pgantomizer
Anonymize data in your PostgreSQL dabatase with ease
Stars: ✭ 95 (+458.82%)
Mutual labels:  anonymize
rt-utils
A minimal Python library to facilitate the creation and manipulation of DICOM RTStructs.
Stars: ✭ 89 (+423.53%)
Mutual labels:  dicom
mowoli
Mowoli - A Modality Worklist with RESTful HTTP API
Stars: ✭ 17 (+0%)
Mutual labels:  dicom
laravel-lumen-mysql-encryption
Database fields encryption in laravel and lumen for mysql databases with native search.
Stars: ✭ 20 (+17.65%)
Mutual labels:  anonymize
dicom2stl
Python script to extract a STL surface from a DICOM image series.
Stars: ✭ 151 (+788.24%)
Mutual labels:  dicom
dicomweb-server
Lightweight DICOMweb Server with CouchDB
Stars: ✭ 74 (+335.29%)
Mutual labels:  dicom
contrib-pydicom
contributions to the core pydicom base, including tutorials, extra plugins, etc.
Stars: ✭ 46 (+170.59%)
Mutual labels:  dicom
Dicom-Viewer
An application displaying 2D/3D Dicom
Stars: ✭ 37 (+117.65%)
Mutual labels:  dicom
fluent-plugin-anonymizer
Fluentd filter output plugin to anonymize records with MD5/SHA1/SHA256/SHA384/SHA512 algorithms. This data masking plugin protects privacy data such as ID, email, phone number, IPv4/IPv6 address and so on.
Stars: ✭ 52 (+205.88%)
Mutual labels:  anonymize
slicebox
Microservice for safe sharing and easy access to medical images
Stars: ✭ 18 (+5.88%)
Mutual labels:  dicom
COVID-CT-MD
A COVID-19 CT Scan Dataset Applicable in Machine Learning and Deep Learning
Stars: ✭ 22 (+29.41%)
Mutual labels:  dicom
bidskit
Utility functions for working with DICOM and BIDS neuroimaging data
Stars: ✭ 52 (+205.88%)
Mutual labels:  dicom
OCT-Converter
Tools for extracting the raw optical coherence tomography (OCT) and fundus data from proprietary file formats.
Stars: ✭ 120 (+605.88%)
Mutual labels:  dicom
AlizaMS
DICOM Viewer
Stars: ✭ 144 (+747.06%)
Mutual labels:  dicom
fo-dicom.Codecs
Cross-platform Dicom native codecs for fo-dicom
Stars: ✭ 41 (+141.18%)
Mutual labels:  dicom
DICOM.jl
Julia package for reading and writing DICOM (Digital Imaging and Communications in Medicine) files
Stars: ✭ 45 (+164.71%)
Mutual labels:  dicom
go-dicom
DICOM parser for golang
Stars: ✭ 51 (+200%)
Mutual labels:  dicom

Dicognito logo

Dicognito is a Python module and command-line utility that anonymizes DICOM files.

Use it to anonymize one or more DICOM files belonging to one or any number of patients. Objects will remain grouped in their original patients, studies, and series.

Anonymization causes significant attributes, such as identifiers, names, and addresses, to be replaced by new values. Dates and times will be shifted into the past, but their order will remain consistent within and across the files.

The package is available on pypi and can be installed from the command line by typing

pip install dicognito

Anonymizing from the command line

Once installed, a dicognito command will be added to your Python scripts directory. You can run it on entire filesystem trees or a collection of files specified by glob like so:

# Recurse down the filesystem, anonymizing all found DICOM files.
# Anonymized files will be placed in out-dir, named by new SOP
# instance UID.
dicognito --output-directory out-dir .

# Anonymize all files in the current directory with the dcm extension
# (-o is an alias for --output-directory).
dicognito -o out-dir *.dcm

# Anonymize all files in the current directory with the dcm extension
# but overwrite the original files.
# Note: repeatedly anonymizing the same files will cause date attributes
# to  move farther into the past.
dicognito --in-place *.dcm

Get more help via dicognito --help.

Anonymizing from within Python

To anonymize a bunch of DICOM objects from within a Python program, import the objects using pydicom and use the Anonymizer class:

import pydicom
import dicognito.anonymizer

anonymizer = dicognito.anonymizer.Anonymizer()

for original_filename in ("original1.dcm", "original2.dcm"):
    with pydicom.dcmread(original_filename) as dataset:
        anonymizer.anonymize(dataset)
        dataset.save_as("clean-" + original_filename)

Use a single Anonymizer on datasets that might be part of the same series, or the identifiers will not be consistent across objects.


Logo: Remixed from Radiology by priyanka and Incognito by d͡ʒɛrmi Good from the Noun Project.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].