ematvey / go-dicom

DICOM parser for golang

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GoDoc Build Status

DICOM parser in Go

This is a fork of github.com/gillesdemey/go-dicom. Changes are:

  • Many bug fixes, especially around handling of sequences.
  • Handle non-ASCII characters more properly.
  • Simplify the API. All the functions are synchronous.
  • Better library supports around tags & uids.
  • Rudimentary support for writing DICOM files. This part is not complete yet.
  • Adds fuzz tests and tests that ensure compatibility with pydicom.

TODO:

  • Implement mixed-coding-system files more properly. We currently botch patient-name (PN) elements that mixes coding systems.

  • A multi-image file. Functionality is almost there, but I haven't had time to complete it.

  • Native pixeldata format. It'll be parsed as just []byte.

See doc.go for usage. dicomutil contains a sample program that dumps DICOM elements in a file.

Acknowledgements

I'd like to thank my friend Seppe Stas for helping me get through the horrific DICOM image specification and some of the harder parts of the parser.

Some more inspiration and helpful resource that brought this library to life (in no particular order):

DWV by ivmartel https://github.com/ivmartel/dwv/
dicomParser by Chris Hafey https://github.com/chafey/dicomParser
http://www.dicomlibrary.com
http://dicom.nema.org/medical/dicom/current/output/pdf/part05.pdf

About

DICOM parser for golang

License:MIT License


Languages

Language:Go 77.1%Language:Python 22.9%