Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gradienthealth/dicom-protos
Exploratory DICOM Protocol Buffer Representations and Generator
https://github.com/gradienthealth/dicom-protos
dicom medical-imaging production protobuf protocol-buffers
Last synced: 5 days ago
JSON representation
Exploratory DICOM Protocol Buffer Representations and Generator
- Host: GitHub
- URL: https://github.com/gradienthealth/dicom-protos
- Owner: gradienthealth
- License: mit
- Created: 2018-07-02T21:20:59.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2018-09-14T19:56:11.000Z (over 6 years ago)
- Last Synced: 2024-06-20T05:02:08.964Z (8 months ago)
- Topics: dicom, medical-imaging, production, protobuf, protocol-buffers
- Language: Go
- Homepage:
- Size: 939 KB
- Stars: 26
- Watchers: 7
- Forks: 3
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# dicom-protos
[![Build Status](https://travis-ci.org/gradienthealth/dicom-protos.svg?branch=master)](https://travis-ci.org/gradienthealth/dicom-protos)
[![Go Report Card](https://goreportcard.com/badge/github.com/gradienthealth/dicom-protos)](https://goreportcard.com/report/github.com/gradienthealth/dicom-protos)
[![GoDoc Reference](https://godoc.org/github.com/gradienthealth/dicom-protos?status.svg)](https://godoc.org/github.com/gradienthealth/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](https://github.com/innolitics/dicom-standard) of the entire DICOM standard.
Check out our [Golang DICOM parser repo](https://github.com/gradienthealth/dicom) as well, if you're interested in medical imaging.
# Quick Start
## Generate protocol buffers
### Native
Assuming you have golang and make installed:
1. Clone this repository using `git clone --recursive` into your $GOPATH or `go get github.com/gradienthealth/dicom-protos`
2. Simply run `make run` and the protos will be deposited in the `protos` directory.### Docker
If you use docker you can simply do the following to regenerate the protocol buffers:
1. Clone this repository using `git clone --recursive`
2. :eyes:Optional: Update the `dicom-standard` submodule if there are new JSON definitions to pull
3. Build the container `docker build . -t gradienthealth/dicom-protos`
3. 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.
```sh
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](https://developers.google.com/protocol-buffers/docs/proto3#generating).For example to generate golang representations of these data structures, you can simply run:
```sh
protoc --proto_path=. --go_out=:$GOPATH/src *.proto
```