Skip to main content

A PDF to Dicom Converter

Project description

pdf2dcm

PyPI version Supported Python versionsDownloads Downloads License: MITcodecovTest PipelineRelease Pipeline

PDF to DICOM Converter

A python package for PDF to Encapsulated DCM and PDF to DICOM RGB converter

SETUP

Python Package Setup

The python package is available for use on PyPI. It can be setup simply via pip

pip install pdf2dcm

To the check the setup, simply check the version number of the pdf2dcm package by

python -c 'import pdf2dcm; print(pdf2dcm.__version__)'

Poppler Setup

Poppler is a popular project that is used for the creation of Dicom RGB Secondary Capture. You can check if you already have it installed by calling pdftoppm -h in your terminal/cmd. To install poppler these are some of the recommended ways-

Conda

conda install -c conda-forge poppler

Ubuntu

sudo apt-get install poppler-utils

MacOS

brew install poppler

PDF to Encapsulated DCM

Usage

from pdf2dcm import Pdf2EncapsDCM

converter = Pdf2EncapsDCM()
converted_dcm = converter.run(path_pdf='tests/test_data/test_file.pdf', path_template_dcm='tests/test_data/CT_small.dcm', suffix =".dcm")
print(converted_dcm)
# [ 'tests/test_data/test_file.dcm' ]

Parameters converter.run:

  • path_pdf (str): path of the pdf that needs to be encapsulated
  • path_template_dcm (str, optional): path to template for getting the repersonalisation of data.
  • suffix (str, optional): suffix of the dicom files. Defaults to ".dcm".

Returns:

  • List[Path]: list of path of the stored encapsulated dcm

PDF to RGB Secondary Capture DCM

Usage

from pdf2dcm import Pdf2RgbSC

converter = Pdf2RgbSC()
converted_dcm = converter.run(path_pdf='tests/test_data/test_file.pdf', path_template_dcm='tests/test_data/CT_small.dcm', suffix =".dcm")
print(converted_dcm)
# [ 'tests/test_data/test_file_0.dcm', 'tests/test_data/test_file_1.dcm' ]

Parameters converter.run:

  • path_pdf (str): path of the pdf that needs to be converted
  • path_template_dcm (str, optional): path to template for getting the repersonalisation of data.
  • suffix (str, optional): suffix of the dicom files. Defaults to ".dcm".

Returns:

  • List[Path]: list of paths of the stored secondary capture dcm

Notes

  • The name of the output dicom is same as the name of the input pdf
  • If no template is provided no repersonalisation takes place
  • It is possible to produce dicoms without a suffix by simply passing suffix="" to the converter.run()

Repersonalisation

It is the process of copying over data regarding the identity of the encapsualted pdf from a template dicom. Currently, the fields that are repersonalised by default are-

  • PatientName
  • PatientID
  • PatientSex
  • StudyInstanceUID
  • SeriesInstanceUID
  • SOPInstanceUID

The fields SeriesInstanceUID and SOPInstanceUID have been removed from the repersonalization by copying as it violates the DICOM standards.

You can set the fields to repersonalize by passing repersonalisation_fields into Pdf2EncapsDCM(), or Pdf2RgbSC()

Example:

fields = [
    "PatientName",
    "PatientID",
    "PatientSex",
    "StudyInstanceUID",
    "AccessionNumber"
]
converter = Pdf2RgbSC(repersonalisation_fields=fields)

note: this will overwrite the default fields.

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

pdf2dcm-0.5.0.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

pdf2dcm-0.5.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file pdf2dcm-0.5.0.tar.gz.

File metadata

  • Download URL: pdf2dcm-0.5.0.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.10.12 Linux/6.5.0-28-generic

File hashes

Hashes for pdf2dcm-0.5.0.tar.gz
Algorithm Hash digest
SHA256 517d7a0d94b423bd93f2a3cd244e3a8b934e282369bb962f932e3cf4af5128e3
MD5 dc727cc016ee527be98f6e4771fd986a
BLAKE2b-256 fce52d3c96be12bd71de4f313c916e525b1a1787b6cacaf7aa0a76c2648c3d86

See more details on using hashes here.

File details

Details for the file pdf2dcm-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: pdf2dcm-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.10.12 Linux/6.5.0-28-generic

File hashes

Hashes for pdf2dcm-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5c8ba6195ae59a71e303d6f38591839545972142755f22c116b001012bc5fc85
MD5 ae0c66fe60b82afb33f00a5f59644239
BLAKE2b-256 b35daffcabf2d015b79fc6561ca0c348d19f74f43693cda5d5ff39b1534f3f22

See more details on using hashes here.

Supported by

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