Skip to main content

Utils for gathering, aggregation and handling metadata from DICOM files.

Project description

Utils for gathering, aggregation and handling metadata from DICOM files.

Installation

From pip

pip install dicom-csv

or from GitHub

git clone https://github.com/neuro-ml/dicom-csv
cd dicom-csv
pip install -e .

Example join_tree

>>> from dicom_csv import join_tree
>>> folder = '/path/to/folder/'
>>> meta = join_tree(folder, verbose=2)
>>> meta.head(3)
AccessionNumber AcquisitionDate ... WindowCenter WindowWidth
000002621237 20200922 ... -500.0 1500.0
000002621237 20200922 ... -40.0 400.0
000002621237 20200922 ... -500.0 1500.0
3 rows x 155 columns

Example load 3D image

from a series of dicom files (each containing 2D image)

>>> from dicom_csv import join_tree, order_series, stack_images
>>> from pydicom import dcmread
>>> from pathlib import Path
>>>
>>> # 1. Collect metadata from all dicom files
>>> folder = Path('/path/to/folder/')
>>> meta = join_tree(folder, verbose=2)
>>>
>>> # 2. Select series to load
>>> uid = '...' # unique identifier of a series you want to load,
>>>             # you could list them by `meta.SeriesInstanceUID.unique()`
>>> series = meta.query("SeriesInstanceUID==@uid")
>>>
>>> # 3. Read files & combine them into a single volume
>>> images2d = [dcmread(folder / row[1].PathToFolder / row[1].FileName) for row in series.iterrows()] 
>>> image3d = stack_images(order_series(images2d))

Documentation

You can find the documentation here.

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

dicom_csv-0.2.1.tar.gz (15.1 kB view hashes)

Uploaded Source

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