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.
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.
If you use docker you can simply do the following to regenerate the protocol buffers:
- Clone this repository using
git clone --recursive
- 👀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
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