DICOM -> JPG/PNG/BMP/TIFF/ndarray
Project description
dicom2jpg
Converts DICOM to JPG/PNG/BMP/TIFF
and numpy.ndarray
Installation
pip install dicom2jpg
Introdunction
import dicom2jpg
dicom_img_01 = "/Users/user/Desktop/img01.dcm"
dicom_dir = "/Users/user/Desktop/Patient_01"
export_location = "/Users/user/Desktop/BMP_files"
# convert single DICOM file to jpg format
dicom2jpg.dicom2jpg(dicom_img_01)
# convert all DICOM files in dicom_dir folder to png format
dicom2jpg.dicom2png(dicom_dir)
# convert all DICOM files in dicom_dir folder to bmp, to a specified location
dicom2jpg.dicom2bmp(dicom_dir, target_root=export_location)
# convert single DICOM file to numpy.ndarray for further use
img_data = dicom2jpg.dicom2img(dicom_img_01)
# convert DICOM ByteIO to numpy.ndarray
img_data = dicom2jpg.io2img(dicomIO)
dicom2jpg
converts DICOM images to JPG/PNG/BMP/TIFF
formats and to numpy.ndarray
.
It applies window center(level) and window width adjustment, or VOI LUT function to the images, which makes output files looks like what we see on standard DICOM viewers.
dicom2jpg.dicom2jpg(origin, target_root=None, anonymous=False, multiprocessing=True)
dicom2jpg.dicom2png(origin, target_root=None, anonymous=False, multiprocessing=True)
dicom2jpg.dicom2bmp(origin, target_root=None, anonymous=False, multiprocessing=True)
dicom2jpg.dicom2tiff(origin, target_root=None, anonymous=False, multiprocessing=True)
-
origin can be a single DICOM file, a folder, or a list/tuple of file/folder
-
target_root would be the root folder of the first file/folder if not specified
-
exported files paths would be
target_root / Today / PatientID_Filetype / StudyDate_StudyTime_Modality_AccNum / Ser_Img.Filetype
-
anonymous files paths would be
target_root / Today / Patient_SerialNum / ModalitySerialNum_Modality / Ser_Img.Filetype
dicom2jpg.dicom2img(origin)
dicom2jpg.io2img(dicomIO)
- converting dicom files or ByteIO to ndarray
- ndarray is in 8 bit; RGB format if it's a color image
Image examples
CT | MR | CXR |
---|---|---|
Todo
- Support multi-frame images
- Image compression
- Support overlays
Performance
- Environment: Windows10, Jupyter Notebook, Python 3.8.10
- 598MB 1873 files {'CT': 1528, 'CR': 52, 'MR': 174, 'DX': 36}
- Intel(R) Core(TM) i7-7700 CPU @ 3.60GHz. 4 Cores (hyper-threading off)
- Tested on Ramdisk (no physical HDD was tortured :P)
multiprocessing | anonymous | duration (seconds) |
---|---|---|
False | True | 154.6-159.7 |
True | True | 79.2-82.9 |
False | False | 157.9-162.8 |
True | False | 56-58.5 |
Project details
Release history Release notifications | RSS feed
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
Hashes for dicom2jpg-0.1.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd4b9b08c9fbe22fdc73903a69b7d342da7be0eca811c399caedea1a252b7818 |
|
MD5 | c4ddc32472d8ce50cc9866dfab5a7fdb |
|
BLAKE2b-256 | df6e468496c1d94ee76f5813b0dbfd79bc9249b9ba6a7c122c01bd9fea83042a |