dicom-protos
dicom-protos copied to clipboard
Exploratory DICOM Protocol Buffer Representations and Generator
dicom-protos
This repository contains generated protocol buffer representations of every DICOM attribute and module. These protocol buffers were generated using the software included in this repository and the innolitics JSON dump of the entire DICOM standard.
Check out our Golang DICOM parser repo as well, if you're interested in medical imaging.
Quick Start
Generate protocol buffers
Native
Assuming you have golang and make installed:
- Clone this repository using
git clone --recursive
into your $GOPATH orgo get github.com/gradienthealth/dicom-protos
- Simply run
make run
and the protos will be deposited in theprotos
directory.
Docker
If you use docker you can simply do the following to regenerate the protocol buffers:
- Clone this repository using
git clone --recursive
- :eyes:Optional: Update the
dicom-standard
submodule if there are new JSON definitions to pull - Build the container
docker build . -t gradienthealth/dicom-protos
- Run the command below, replacing $PWD/OUTPUT_PROTOS with the path on your local machine you would like the generated protos to be deposited in.
docker run -v $PWD/OUTPUT_PROTOS:/go/src/github.com/gradienthealth/dicom-protos/protos -it gradienthealth/dicom-protos make run
Code generation
You can generate native representations of these DICOM protocol buffers in the language of your choice.
For example to generate golang representations of these data structures, you can simply run:
protoc --proto_path=. --go_out=:$GOPATH/src *.proto