A PDF to Dicom Converter
Project description
pdf2dcm
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 encapsulatedpath_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 convertedpath_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 theconverter.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
SeriesInstanceUIDSOPInstanceUID
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 517d7a0d94b423bd93f2a3cd244e3a8b934e282369bb962f932e3cf4af5128e3 |
|
MD5 | dc727cc016ee527be98f6e4771fd986a |
|
BLAKE2b-256 | fce52d3c96be12bd71de4f313c916e525b1a1787b6cacaf7aa0a76c2648c3d86 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c8ba6195ae59a71e303d6f38591839545972142755f22c116b001012bc5fc85 |
|
MD5 | ae0c66fe60b82afb33f00a5f59644239 |
|
BLAKE2b-256 | b35daffcabf2d015b79fc6561ca0c348d19f74f43693cda5d5ff39b1534f3f22 |