RSNA DICOM Anonymizer
Project description
RSNA DICOM Anonymizer V18.0
Install Python with tkinter (GUI library)
Windows
- Download Python 3.12 from python.org (pytorch does not currently support 3.13)
- Run installer
- Select "Add python.exe to PATH"
- Enable "tcl/tk and IDLE"
macOS
- Install Homebrew if not present: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)'
- Install Python 3.12 with Tcl/Tk:
brew install python@3.12
brew install tcl-tk
Linux (Ubuntu/Debian)
- Install the required packages:
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt install python3.12 python3.12-tk
Verify Installation
python --version
python -m tkinter
If python + tkinter has been installed successfully a small GUI window should open
Install rsna-anonymizer package from PyPI
pip install rsna-anonymizer
Execution
rsna-anonymizer
Headless Mode
You need to provide a path to a project configuration to run in headless mode
rsna-anonymizer -c path/to/ProjectModel.json
Upgrading
pip install --upgrade rsna-anonymizer
Documentation
Development
Setup
- Setup python environment (>3.10) which includes Tkinter, recommend using pyenv with MacOS & Linux
- Ensure python is installed with Tkinter:
python -m tkinter, a small GUI window should open - Install poetry:
pip install poetry - Set virtual environment within project:
poetry config virtualenvs.in-project true - Clone repository
- Setup virtual environment and install all dependencies listed in pyproject.toml:
poetry install --with dev
Unit Testing
For model and controller with coverage
1. Create tests/controller/.env file with your AWS_USERNAME and AWS_PASSWORD
2. poetry run pytest
Translations
Languages for 17.3: en_US, de, es, fr
Ensure gettext is installed:
- Windows: Install instructions or
choco install gettext - Mac OSX:
brew install gettext - Linux:
sudo apt-get install gettext
Extracting messages from source files:
cd src/anonymizer/assets/locales/ ./extract_translations.sh
Updating translations:
cd src/anonymizer/assets/locales/ ./update_translations.sh
Software Architecture
Full class diagram on github here
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rsna_anonymizer-18.0.6.tar.gz.
File metadata
- Download URL: rsna_anonymizer-18.0.6.tar.gz
- Upload date:
- Size: 10.8 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75bee4ab91b53e39fabe5aff376988fdcddb8edf5214a5c421c940b7a83ac495
|
|
| MD5 |
4f38e7dde9a5a9ccf7a613ca0b2ed964
|
|
| BLAKE2b-256 |
bf7548d3e9846e9a3d067595d52e46e8bd98b22acbdec37a8b944a8d0e32b444
|
Provenance
The following attestation bundles were made for rsna_anonymizer-18.0.6.tar.gz:
Publisher:
release.yaml on RSNA/anonymizer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rsna_anonymizer-18.0.6.tar.gz -
Subject digest:
75bee4ab91b53e39fabe5aff376988fdcddb8edf5214a5c421c940b7a83ac495 - Sigstore transparency entry: 708630678
- Sigstore integration time:
-
Permalink:
RSNA/anonymizer@9eea4cac360ae46966a9e16728dc1889a27c8d44 -
Branch / Tag:
refs/tags/18.0.6 - Owner: https://github.com/RSNA
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@9eea4cac360ae46966a9e16728dc1889a27c8d44 -
Trigger Event:
push
-
Statement type:
File details
Details for the file rsna_anonymizer-18.0.6-py3-none-any.whl.
File metadata
- Download URL: rsna_anonymizer-18.0.6-py3-none-any.whl
- Upload date:
- Size: 10.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9638bee4c8f3696d48014e57fe989e53ebcb7c0a4bf0f45821b5c3a3148f3de5
|
|
| MD5 |
0289e0fc1f355b90cecc8b6ece6c815a
|
|
| BLAKE2b-256 |
ee1bf836bf098e06970520b71320d274d00b9ad613df9560059ecf862ffe61dc
|
Provenance
The following attestation bundles were made for rsna_anonymizer-18.0.6-py3-none-any.whl:
Publisher:
release.yaml on RSNA/anonymizer
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rsna_anonymizer-18.0.6-py3-none-any.whl -
Subject digest:
9638bee4c8f3696d48014e57fe989e53ebcb7c0a4bf0f45821b5c3a3148f3de5 - Sigstore transparency entry: 708630684
- Sigstore integration time:
-
Permalink:
RSNA/anonymizer@9eea4cac360ae46966a9e16728dc1889a27c8d44 -
Branch / Tag:
refs/tags/18.0.6 - Owner: https://github.com/RSNA
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@9eea4cac360ae46966a9e16728dc1889a27c8d44 -
Trigger Event:
push
-
Statement type: