Skip to content

Commit 9f02302

Browse files
committed
Adds WADO-RS metadata to docs, some general doc improvements
1 parent 3d31d4b commit 9f02302

3 files changed

Lines changed: 79 additions & 59 deletions

File tree

docs/concepts.md

Lines changed: 10 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ trolley = Trolley(searcher=Mint(a_session, "https://server/mint"),
1212

1313
### Trolley search
1414
You query for DICOM objects by calling [`Trolley.find_studies()`][dicomtrolley.trolley.Trolley.find_studies] with a
15-
[Query](#Query) instance. This will send back one or more [DICOMObjects](#dicomobject).
15+
[Query](#query) instance. This will send back one or more [DICOMObjects](#dicomobject).
1616
```python
1717
studies = trolley.find_studies(Query(PatientName='B*'))
1818
```
@@ -129,8 +129,8 @@ makes no sense for a study-level query.
129129

130130

131131
### Query subtypes
132-
The base [`Query`][dicomtrolley.core.Query] object is acceptable to all [`Searchers`](concepts.md#Query). Some Searchers
133-
accept specialized query subtypes. For example [MINT](#MINT) searcher can take a specialized
132+
The base [`Query`][dicomtrolley.core.Query] object is acceptable to all [`Searchers`](concepts.md#query). Some Searchers
133+
accept specialized query subtypes. For example [MINT](usage.md#mint) searcher can take a specialized
134134
[`MintQuery`][dicomtrolley.mint.MintQuery], which allows an additional `limit`
135135
parameter:
136136
```python
@@ -198,61 +198,16 @@ trolley.download(InstanceReference(study_uid="1.1",
198198
instance_uid='3.3'), "/tmp")
199199
```
200200

201-
202201
## Searcher
203-
Something that can search for DICOM studies. Dicomtrolley includes the following
204-
[Searcher][dicomtrolley.core.Searcher] classes:
205-
206-
### DICOM-QR
207-
```python
208-
searcher = DICOMQR(host="hostname", port="123",aet="DICOMTROLLEY", aec="ANY-SCP")
209-
```
210-
DICOM query retrieve ([dicomtrolley.dicom_qr.DICOMQR][]). This method does not use a http connection but
211-
uses the DICOM protocol directly.
212-
213-
In addition to the standard [`Query`][dicomtrolley.core.Query], DICOMQR instances accept [dicomtrolley.dicom_qr.DICOMQuery][] queries
214-
215-
### MINT
216-
```python
217-
searcher = Mint(requests.session(), "http://server/mint")
218-
```
219-
See [dicomtrolley.mint.Mint][]
220-
221-
In addition to the standard [`Query`][dicomtrolley.core.Query], Mint instances accept [dicomtrolley.mint.MintQuery][] queries
202+
Something that can search for DICOM studies. Accepts [a query](#query) and returns a
203+
list of [DICOM objects](#dicomobject). The usage page lists several
204+
[search system implementations](usage.md/#choosing-a-searcher).
222205

223-
### QIDO-RS
224-
```python
225-
searcher = QidoRS(session=session, url="http://server/qido")
226-
```
227-
See [dicomtrolley.qido_rs.QidoRS][]
228-
229-
In addition to the standard [`Query`][dicomtrolley.core.Query], QidoRS instances accept both
230-
[dicomtrolley.qido_rs.RelationalQuery][] and [dicomtrolley.qido_rs.HierarchicalQuery][] instances
231206

232207

233208
## Downloader
234-
Something that can download DICOM images. Dicomtrolley includes the following [Downloader][dicomtrolley.core.Downloader]
235-
classes:
236-
237-
### WADO-URI
238-
```python
239-
downloader = WadoURI(requests.session(), "https://server/wado")
240-
```
241-
See [DICOM part18 chapter 9](https://dicom.nema.org/medical/dicom/current/output/chtml/part18/chapter_9.html).
242-
API reference: [dicomtrolleywado_uri][]
243-
244-
### RAD69
245-
```python
246-
searcher = Rad69(session=requests.session(), url="https://server/rad69")
247-
```
248-
249-
Based on [this document](https://gazelle.ihe.net/content/rad-69-retrieve-imaging-document-set).
250-
API reference: [dicomtrolleyrad69][]
251-
252-
### WADO-RS
253-
```python
254-
searcher = WadoRS(session=requests.session(), url="https://server/wadors")
255-
```
209+
Something that can download DICOM images. Takes a [DICOMDownloadable](#dicomdownloadable)
210+
and returns [pydicom Datasets](https://pydicom.github.io/pydicom/stable/guides/user/base_element.html#dataset).
211+
The usage page lists several
212+
[download system implementations](usage.md/#choosing-a-downloader).
256213

257-
[WADO-RS description](https://www.dicomstandard.org/using/dicomweb/retrieve-wado-rs-and-wado-uri/).
258-
API reference: [dicomtrolleywado_rs][]

docs/contributing.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,6 @@ To edit the docs:
5959

6060
* Edit content in `/docs`
6161

62-
* Try out your changes using `mkdocs serve`
62+
* Try out your changes using `uv run mkdocs serve`
6363

6464
* To add docs requirements: `uv add --group dev <package to add>`. To remove `uv remove --group dev <package to add>`

docs/usage.md

Lines changed: 68 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ studies = trolley.find_studies(
3434
include_fields=['PatientBirthDate', 'ReferringPhysicianName']))
3535
```
3636

37-
For details on Query parameters see [`Query`](concepts.md#Query)
37+
For details on Query parameters see [`Query`](concepts.md#query)
3838

3939
## Finding series and instance details
4040
To include series and instance level information as well, use the [`queryLevel`](concepts.md#query_level) parameter
@@ -93,8 +93,73 @@ for ds in trolley.fetch_all_datasets(studies): # obtain Dataset for each instan
9393
ds.save_as(f'/tmp/{ds.SOPInstanceUID}.dcm')
9494
```
9595

96-
## Protocols
97-
Have a look at the [downloader](concepts.md#downloader) and [searcher](concepts.md#searcher) implementations.
96+
## Choosing a searcher
97+
Something that can search for DICOM studies. Dicomtrolley includes the following
98+
[Searcher][dicomtrolley.core.Searcher] classes:
99+
100+
### DICOM-QR
101+
```python
102+
searcher = DICOMQR(host="hostname", port="123",aet="DICOMTROLLEY", aec="ANY-SCP")
103+
```
104+
DICOM query retrieve ([dicomtrolley.dicom_qr.DICOMQR][]). This method does not use a http connection but
105+
uses the DICOM protocol directly.
106+
107+
In addition to the standard [`Query`][dicomtrolley.core.Query], DICOMQR instances accept [dicomtrolley.dicom_qr.DICOMQuery][] queries
108+
109+
### MINT
110+
```python
111+
searcher = Mint(requests.session(), "http://server/mint")
112+
```
113+
See [dicomtrolley.mint.Mint][]
114+
115+
In addition to the standard [`Query`][dicomtrolley.core.Query], Mint instances accept [dicomtrolley.mint.MintQuery][] queries
116+
117+
### QIDO-RS
118+
```python
119+
searcher = QidoRS(session=session, url="http://server/qido")
120+
```
121+
See [dicomtrolley.qido_rs.QidoRS][]
122+
123+
In addition to the standard [`Query`][dicomtrolley.core.Query], QidoRS instances accept both
124+
[dicomtrolley.qido_rs.RelationalQuery][] and [dicomtrolley.qido_rs.HierarchicalQuery][] instances
125+
126+
127+
## Choosing a downloader
128+
Something that can download DICOM images. Dicomtrolley includes the following [Downloader][dicomtrolley.core.Downloader]
129+
classes:
130+
131+
### WADO-URI
132+
```python
133+
downloader = WadoURI(requests.session(), "https://server/wado")
134+
```
135+
See [DICOM part18 chapter 9](https://dicom.nema.org/medical/dicom/current/output/chtml/part18/chapter_9.html).
136+
API reference: [dicomtrolley.wado_uri][]
137+
138+
### RAD69
139+
```python
140+
searcher = Rad69(session=requests.session(), url="https://server/rad69")
141+
```
142+
143+
Based on [this document](https://gazelle.ihe.net/content/rad-69-retrieve-imaging-document-set).
144+
API reference: [dicomtrolley.rad69][]
145+
146+
### WADO-RS
147+
```python
148+
searcher = WadoRS(session=requests.session(), url="https://server/wadors")
149+
```
150+
[WADO-RS](https://www.dicomstandard.org/using/dicomweb/retrieve-wado-rs-and-wado-uri/)
151+
to download full DICOM datasets
152+
153+
API reference: [dicomtrolley.wado_rs.WadoRS][]
154+
155+
### WADO-RS Metadata
156+
```python
157+
searcher = WadoRSMetadata(session=requests.session(), url="https://server/wadors")
158+
```
159+
[WADO-RS](https://www.dicomstandard.org/using/dicomweb/retrieve-wado-rs-and-wado-uri/)
160+
to download metadata-only. This means all DICOM elements except for PixelData.
161+
162+
API reference: [dicomtrolley.wado_rs.WadoRSMetaData][]
98163

99164

100165
## Download format

0 commit comments

Comments
 (0)