Skip to main content

Config-driven DICOM anonymization tool based on the 2025b DICOM standard

Project description

LuwakX - Config-Driven DICOM Anonymization

LuwakX is a powerful, config-driven tool for anonymizing DICOM files using the deid library. It supports flexible configuration through JSON files and provides both command-line and programmatic interfaces. It is based on the 2025b DICOM standards.

Installation

From PyPI

pip install luwakx

From source

git clone https://github.com/ZentaLabs/LUWAKX.git
cd luwak
pip install -e ".[test]"

Using requirements.txt (development)

pip install -r requirements.txt
pip install -e ".[test]"

Note: deid is a custom fork not available on PyPI. It is automatically installed from GitHub the first time anonymization is run.

Prerequisites

  • Python >= 3.12

Usage

Command Line Interface

luwakx --config_path /path/to/config.json

Options:

  • --config_path: Path to the JSON configuration file
  • --no-console: Disable console logging (only log to file)

Programmatic Interface

from luwakx.anonymize import LuwakAnonymizer

anonymizer = LuwakAnonymizer("/path/to/config.json")
result = anonymizer.anonymize()

Configuration

Create a JSON configuration file:

{
  "inputFolder": "/path/to/input/dicom/files",
  "patientIdPrefix": "Patient",
  "outputDeidentifiedFolder": "/path/to/output/deidentified",
  "outputPrivateMappingFolder": "/path/to/output/privateMapping",
  "recipesFolder": "/path/to/output/recipes",
  "recipes": ["basic_profile"],
  "projectHashRoot": "your_encryption_key",
  "maxDateShiftDays": 1095,
  "logLevel": "INFO"
}

For full configuration documentation see luwakx/README.md.

License

Apache License 2.0 — see LICENSE.txt.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

luwakx-0.1.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

luwakx-0.1.0-py3-none-any.whl (292.5 kB view details)

Uploaded Python 3

File details

Details for the file luwakx-0.1.0.tar.gz.

File metadata

  • Download URL: luwakx-0.1.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for luwakx-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7553b463b8baaa89d982dda95fabd8ea6da46cb034e7af14550d8d77e6e40bae
MD5 bb4046c62cd81cc3befb73b53be5df27
BLAKE2b-256 072d23c0819d88d886e7ec8f59f94eefa2c134e8067b7b3fc3df33cc7bde5740

See more details on using hashes here.

Provenance

The following attestation bundles were made for luwakx-0.1.0.tar.gz:

Publisher: publish.yml on ZentaLabs/LUWAKX

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file luwakx-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: luwakx-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 292.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for luwakx-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e86fc2b2622f18e561393c17414995fee26b88e5237afb67d39057dca378db7c
MD5 dd5a09a72402c7c6666087f59b430f76
BLAKE2b-256 564286695ace37383ee3376a086168cea73ca2364fa5e7d89044ef011a069abb

See more details on using hashes here.

Provenance

The following attestation bundles were made for luwakx-0.1.0-py3-none-any.whl:

Publisher: publish.yml on ZentaLabs/LUWAKX

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page