Skip to main content

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

Project description

LuwakX - Config-Driven DICOM Anonymization

PyPI version

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.1.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.1-py3-none-any.whl (310.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: luwakx-0.1.1.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.1.tar.gz
Algorithm Hash digest
SHA256 59b2172edc3dca2c59be77c48651853830e7bc4b2771030d1143e3d481c5f867
MD5 7a0da8aa47c3c6b354161fe8f77545e0
BLAKE2b-256 e2c73fbe497145673ae74cb3c36433d42c510279ab8c3c9eda8025166bd7013d

See more details on using hashes here.

Provenance

The following attestation bundles were made for luwakx-0.1.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: luwakx-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 310.8 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 95d6278b685576a73203847cad964d4f9f4672ea5231b8bb105320dc3c05fb59
MD5 34cdd183c5c88d8f6fc2429ebb170000
BLAKE2b-256 50f7ef6801da55f8a755f5f86cff116acfc3b3b77ff35b59cb173e222ed5ab1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for luwakx-0.1.1-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