github suyashkumar/dicom v1.0.0
v1.0.0 dicom

latest releases: v1.0.7, v1.0.6, v1.0.5...
3 years ago

🎉 v1.0 is here!

After almost a year of work, we are finally ready to cut the official dicom v1.0 release!

With this release, almost the entire library has been rewritten (from the API to the internals) to be more performant, more maintainable, easier to use, more canonical Go, and better tested. There were so many changes internally and at the API layer, so I'll focus on just 5 to call out below.

A selection of 5 interesting changes:

  • A new and more canonical data structure to represent DICOM Dataset and Element in a Go world without generics (inspired by protocol buffer's oneof).
  • Easy to use Flat and Nested element iterators to examine the DICOM Dataset tree.
  • Simpler Parse and Write APIs (while still retaining some advanced options like channel-based streaming of frames, or an element-by-element read API).
  • Several bugfixes discovered along the way (support for icons, support for dicoms without proper headers, and more).
  • Completely rewritten and redesigned internal logic for reading and writing dicoms (more piecewise, modular), better handling of reading and writing sequence elements, and new per-commit benchmarks to go with this.

Thanks to all the contributors, and a special thanks to Segmed who logged issues, helped test against terrabytes of public dicoms, and helped with pieces of the tool!

There are still improvements to make, and new features to add on the roadmap, but it's still great to get to this point!

Don't miss a new dicom release

NewReleases is sending notifications on new releases.