Dicom (Digital Imaging in Medicine) is the bread and butter of medical image datasets, storage and transfer. This is the future home of the Pydicom documentation. If you are a Python developer looking to get started with Dicom and Python, this will be the place to learn and contribute! For now, here are some helpful links, and general plan for some of the code bases in the organization. If you want to come and chat, find our community on Gitter, or post an issue on one of our repos.
pynetdicom3 is where you want to start if you want to create Service Class Providers (SCPs) or Service Class Users (SCUs). These are the little servers/processes that echo/store/move/find dicom datasets around. This is the bread and butter of the protocol, and is based on the original pynetdicom. We will soon be consolidating these two so that it is less confusing.
sendit is an example Dockerized web application to recive Dicom images, deidentify using your API (and deid, above), and then send off to different storage locations. This application is under development, and not yet ready for use. See the documentation for details.
dicom-database is a simlpified version of sendit, intended for local management of DICOM. This application is under development.
We will be developing different dicom applications that are container-based. This means using Docker and Singularity to easily deploy servers (more suited for Docker), and general tools and applications (Singularity is more suited for tools on shared resources).
Getting Started Containers
Dicom-Containers serves equivalent Singularity and Docker containers for working with dicom tools and pydicom. Specifically:
- getting-started serves a Docker and Singularity container,each of which is a “quick start” image that you can build to easily start using some basic tools for working with dicom files. Currently, the image installs the Dicom ToolKit, along with miniconda3 installed with pydicom and pynetdicom3.
- pydicom-docs is a container that builds sphinx docs, intended for developers of pydicom that want a solution to develop docs that doesn’t require installing additional dependencies.
Dicom Scraper is a tool under development to detect burned-in pixel annotations with ORC, and remove them. Currently, the Dockerized application is using an older version of scipy and python 2*, and this will be updated. The detection is working relatively good and will still need some testing and tweaking.
As a new person to Dicom, I found it hard to find and programatically download a quick (and maybe fun?) Dicom dataset. Toward this goal, I created a statically served Dicom Cookies dataset. The human readable entrypoint is here, and you can see it being used programatically here.
We will be creating a set of web application (Dockerized) to be deployed in different cloudy places to work with Dicom. If you are interested in this, please join the effort!
We are happy to announce that the new Pydicom site is underway! Pydicom is an effort to bring together a...