Metadata-Version: 2.4
Name: dicomtrolley
Version: 3.3.0
Summary: Retrieve medical images via WADO-URI, WADO-RS, QIDO-RS, MINT, RAD69 and DICOM-QR
Author-email: Sjoerd Kerkstra <sjoerd.kerkstra@radboudumc.nl>
License-Expression: Apache-2.0
Project-URL: Repository, https://github.com/sjoerdk/dicomtrolley
Project-URL: Changelog, https://github.com/sjoerdk/dicomtrolley/blob/main/HISTORY.md
Keywords: DICOM,DICOM-web,QIDO,WADO,MINT,RAD69,Download
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests
Requires-Dist: pydicom>=3.0.1
Requires-Dist: requests-futures>=1.0.0
Requires-Dist: pynetdicom
Requires-Dist: Jinja2
Requires-Dist: requests-toolbelt>=1.0.0
Requires-Dist: pydantic>=2
Dynamic: license-file

# dicomtrolley

[![CI](https://github.com/sjoerdk/dicomtrolley/actions/workflows/build.yml/badge.svg?branch=main)](https://github.com/sjoerdk/dicomtrolley/actions/workflows/build.yml?query=branch%3Amain)
[![PyPI](https://img.shields.io/pypi/v/dicomtrolley)](https://pypi.org/project/dicomtrolley/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/dicomtrolley)](https://pypi.org/project/dicomtrolley/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Checked with mypy](http://www.mypy-lang.org/static/mypy_badge.svg)](http://mypy-lang.org/)

Retrieve medical images via WADO-URI, WADO-RS, QIDO-RS, MINT, RAD69 and DICOM-QR

* Uses `pydicom` and `pynetdicom`. Images and query results are `pydicom.Dataset` instances
* Query and download DICOM Studies, Series and Instances
* Integrated search and download - automatic queries for missing series and instance info

![A trolley](docs/resources/trolley.png)

[dicomtrolley docs on readthedocs.io](https://dicomtrolley.readthedocs.io)

## Installation
```
pip install dicomtrolley
```

## Basic usage
```python
# Create a http session
session = requests.Session()

# Use this session to create a trolley using MINT and WADO
trolley = Trolley(searcher=Mint(session, "https://server/mint"),
                  downloader=WadoURI(session, "https://server/wado_uri"))

# find some studies (using MINT)
studies = trolley.find_studies(Query(PatientName='B*'))

# download the fist one (using WADO)
trolley.download(studies[0], output_dir='/tmp/trolley')
```

## Documentation
see [dicomtrolley docs on readthedocs.io](https://dicomtrolley.readthedocs.io)
