Skip to content

Commit 976a99e

Browse files
authored
Merge pull request #17 from pydicom/update/docs
updating README
2 parents a21fd3e + 78f44ae commit 976a99e

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

docs/README.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,13 @@ The Sendit application is an on demand application that works in two stages to o
88
- anonymization is performed (status "PROCESSING"), meaning removing/replacing fields in the header and image data, .
99
- when status "DONEPROCESSING" is achieved for all in the queue, the researcher triggers the final job to send data to storage (status "SENT")
1010

11-
1211
## Preparation
1312
The base of the image is distributed via [sendit-base](scripts/docker/README.md). This image has all dependencies for the base so we can easily bring the image up and down.
1413

1514
## Deployment
1615

1716
- [Setup](setup.md): Basic setup (download and install) of a new application for a server.
1817
- [Configuration](config.md): How to configure the application before starting it up.
19-
- [Application](application.md): Details about the application infrastructure.
2018
- [Start](start.md): Start it up!
2119
- [Interface](interface.md): A simple web interface for monitoring batches.
2220

docs/application.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,27 @@
11
# Application
2+
3+
## Overview
4+
Sendit generally works as follows:
5+
6+
1. datasets are mapped to the application container `/data` folder, and are processed in batches. Each folder associated with an accession number is considered a batch.
7+
2. Header data is extracted for cleaning using the [deid](https://www.github.com/pydicom/deid) module. Sendit stores key/values for header data.
8+
3. Sendit uses the [stanford open modules](https://www.github.com/vsoch/som) to interact with the Stanford (DASHER) API and retrieve anonymous ids for the data.
9+
4. The data structure with headers is updated with the identifiers from DASHER, and the images are anonymized using this data structure per a specific customization defined in a deid recipe.
10+
5. The final images and metadata are uploaded to Google Cloud again using the [stanford open modules](https://www.github.com/vsoch/som).
11+
12+
From the above, you can see that sendit is akin to a glue to hold several APIs and customizations together.
13+
14+
## Sendit Containers
15+
216
This application lives in a docker-compose orchestration of images running on `STRIDE-HL71`. This application has the following components (each a Docker image):
317

418
- **uwsgi**: is the main python application with Django (python)
19+
- **postgres**: is a postgres image database
520
- **nginx**: is a web server to make a status web interface for Research IT
621
- **worker**: is the same image as uwsgi, but configured to run a distributed job queue called [celery](http://www.celeryproject.org/).
722
- **redis**: is the database used by the worker, with serialization in json.
823

24+
925
## Job Queue
1026

1127
### Step 1: Start Queue

0 commit comments

Comments
 (0)