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.26.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.26-py3-none-any.whl (1.6 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: spydcmtk-1.2.26.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.26.tar.gz
Algorithm Hash digest
SHA256 27b94279d155c3a11454b99932e62154505cf185a83bbd4d483fd84d4a1107e8
MD5 a88016f10834bb5e0643be83aa7ea203
BLAKE2b-256 a3c19ba560d4d5442ec53202feb7591fe37312db68b162b8118330eb5bf18405

See more details on using hashes here.

File details

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

File metadata

  • Download URL: spydcmtk-1.2.26-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.26-py3-none-any.whl
Algorithm Hash digest
SHA256 fcc4ba3f9961158abbce4865f0c4c322e2db419e7210d61ecf00913f31248b74
MD5 e0c9177ba2f413c35fe1ff1c36c70161
BLAKE2b-256 e3d7b405e4f62aab4efcca4c83d518fcceb4612d005284eb0d2e2bfe78ad32bd

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