Dicom Versions Save

⚡High Performance DICOM Medical Image Parser in Go.

v1.0.7

7 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/suyashkumar/dicom/compare/v1.0.6...v1.0.7

v1.0.6

1 year ago

Notable Changes

  • New options to skip pixel data processing or skip pixel data entirely (#256, #255) to save memory or CPU (#264) for those who don't need the PixelData.
  • Option to tolerate VL and PixelData mismatches #245.
  • Support padding byte with odd number of pixel data bytes https://github.com/suyashkumar/dicom/pull/233

What's Changed

New Contributors

Thank you again to all contributors!

Full Changelog: https://github.com/suyashkumar/dicom/compare/v1.0.5...v1.0.6

v1.0.5

2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/suyashkumar/dicom/compare/v1.0.4...v1.0.5

v1.0.4

2 years ago
  • In this release, we properly return sentinel errors on dicoms with unsupported BitsAllocated values instead of parsing them incorrectly (#210).

  • We also have added some debug logging that will only print when in a binary build with -tags debug (#209).

  • Additions and improvements to pkg/ (TODO(suyashkumar): describe these)

v1.0.2

3 years ago

v1.0.2 of this library comes with some notable improvements:

  • Significant Native PixelData read performance improvements (15-20% from #157 and ~50% from #163)
  • vrraw package to hold raw string VR consts

Other useful updates:

  • Comprehensive benchmarks and enhanced testing for NativePixelData read/write
  • GitHub action benchmark support (PRs show diff against base ref, otherwise shows diff against HEAD~1)

v1.0.1

3 years ago

In this release:

  • dicomutil now supports a --version flag
  • AT Tag support
  • Some bugfixes (#155)

v1.0.0

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!

v0.4.5

3 years ago

This change ensures that options are respected by DatasetToFile (#102)

v1.0.0-alpha.2

3 years ago

This is an alpha release of the new rewritten 1.0 API and library. This is very very early, but should have the core functionality there. Needs a lot of cosmetic touchups, and additional work before a true release.

v0.4.4

3 years ago
  • Support parsing more than one PixelData element in a DICOM (#79). Fixes many other odd related parsing failures (namely #82, #65, and #77) .