Skip to main content

Simple python dicom toolkit.

Project description

spydcmtk

Simple PYthon DiCoM Tool Kit

Dicom organisational, querying and conversion toolkit

spydcmtk is a pure Python package built on top of pydicom.

This package extends pydicom with a class structure based upon the Patient-Study-Series-Image hierarchy. In addition, it provides a number of built in routines for common actions when working with dicom files, such as human readable renaming, anonymisation, searching and summarising.

Installation

Using pip:

pip install spydcmtk

Quick start

If you installed via pip then spydcmtk console script will be exposed in your python environment.

Access via:

spydcmtk -h

to see the commandline usage available to you.

If you would like to incorporate spydcmtk into your python project, then import as:

import spydcmtk

listOfStudies = spydcmtk.dcmTK.ListOfDicomStudies.setFromDirectory(MY_DICOM_DIRECTORY)
# Example filtering
dcmStudy = listOfStudies.getStudyByDate('20230429') # Dates in dicom standard string format: YYYYMMDD
dcmSeries = dcmStudy.getSeriesBySeriesNumber(1)
# Example writing new dicom files with anonymisation
dcmStudy.writeToOrganisedFileStructure(tmpDir, anonName='Not A Name')

Configuration

spydcmtk uses a spydcmtk.conf file for configuration.

By default spydcmtk.conf files are search for in the following locations:

  1. source_code_directory/spydcmtk.conf (file with default settings)
  2. $HOME/spydcmtk.conf
  3. $HOME/.spydcmtk.conf
  4. $HOME/.config/spydcmtk.conf
  5. Full file path defined at environment variable: "SPYDCMTK_CONF"
  6. Full path passed as commandline argument to spydcmtk

Files are read in the above order with each subsequent variable present over writing any previously defined. For information on files found and variables used run:

spydcmtk -INFO

Documentation

Clear documentation of basic features can be seen by running the "spydcmtk -h" command as referenced above. For detailed documentation please see spydcmtk-documentation

Converting PDF or images to DICOM

PDF (requires DCMTK pdf2dcm on PATH):

spydcmtk -pdf2dcm /path/to/report.pdf -i /path/to/reference_dicom -o /path/to/output_dir
import spydcmtk
spydcmtk.dcmTK.pdf2dcm("report.pdf", "reference.dcm", "output_dir")

Image stack (one file or a folder of .jpg/.png/.tif slices):

spydcmtk -image2dcm /path/to/images/ -i /path/to/reference_dicom -o /path/to/output_dir
import spydcmtk
spydcmtk.dcmTK.writeImageStackToDicom(sorted_image_paths, patientMeta, "reference.dcm", "output_dir")

See the DICOM conversion docs for PatientMeta, optional tag overrides, and CLI details.

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

spydcmtk-1.2.25.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.

spydcmtk-1.2.25-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

Details for the file spydcmtk-1.2.25.tar.gz.

File metadata

  • Download URL: spydcmtk-1.2.25.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for spydcmtk-1.2.25.tar.gz
Algorithm Hash digest
SHA256 3c17daee86fc8577d2492c41148a5abbafbaa4062439e25d3b25c8464e7b0b9d
MD5 1601b859820031523cc13184339f30bd
BLAKE2b-256 2decfaa34bb44477d73d1dbb838d9665111f60519c1053fdf29a85980d251668

See more details on using hashes here.

File details

Details for the file spydcmtk-1.2.25-py3-none-any.whl.

File metadata

  • Download URL: spydcmtk-1.2.25-py3-none-any.whl
  • Upload date:
  • Size: 1.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.10.12

File hashes

Hashes for spydcmtk-1.2.25-py3-none-any.whl
Algorithm Hash digest
SHA256 76a107c5b3c82c1d2d5502a0ef8189d549a45964ec3f5dbb734a41087f28f337
MD5 af16646f4e98d9402bfe971878fe83ac
BLAKE2b-256 536f36b9ce7ed7508bfd066dd2321017b76d270912e3ddbdda6e863f07b66c27

See more details on using hashes here.

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