Releases: suyashkumar/dicom
dicom v1.0.7
What's Changed
- fix Application Entity (AE) value parsing by @bench in #276
- Ignore missing metadata group length field by @faustoespinal-philips in #269
- Add darwin arm64 GOARCH to dicomutil standard release by @suyashkumar in #265
- Add basic Parser.Next based benchmark by @suyashkumar in #266
- Log and return to ensure defers are still called in example dicomutil. by @suyashkumar in #278
- Add Dataset & Element equality methods, greatly speeding up tests that rely on dataset comparisons. by @suyashkumar in #280
New Contributors
- @bench made their first contribution in #276
- @faustoespinal-philips made their first contribution in #269
Full Changelog: v1.0.6...v1.0.7
dicom v1.0.6
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 #233
What's Changed
- Treat Unknown Tags with defined VL as OW by @suyashkumar in #232
- fix issue with odd number of pixel bytes by @jabillings in #233
- Update go to 1.18 by @suyashkumar in #244
- Allow option to tolerate PixelData VL and expected length mismatches. by @ducquangkstn in #245
- Fix typos found by codespell by @DimitriPapadopoulos in #247
- Documentation: http → https by @DimitriPapadopoulos in #249
- Add Fuzz test by @jesslatimer in #252
- Refactor read* methods into a lightweight reader struct. by @suyashkumar in #254
- Introduce option to SkipPixelData by @suyashkumar in #255
- Add option to skip Element Value processing of PixelData, while preserving roundtrip read/write by @suyashkumar in #256
- Add write support for SkipPixelData option, w/ roundtrip tests. by @suyashkumar in #258
- Bump golang.org/x/text from 0.3.7 to 0.3.8 by @dependabot in #262
- Preset buffer size in benchmark setup, update local benchmark settings. by @suyashkumar in #261
- Benchmark across Parse options, add memory benchmarking. by @suyashkumar in #264
New Contributors
- @jabillings made their first contribution in #233
- @ducquangkstn made their first contribution in #245
- @DimitriPapadopoulos made their first contribution in #247
- @jesslatimer made their first contribution in #252
- @dependabot made their first contribution in #262
Thank you again to all contributors!
Full Changelog: v1.0.5...v1.0.6
dicom v1.0.5
What's Changed
- Add initial support for bitsAllocated=1 by @suyashkumar in #212
- Introduce element-by-element Writer API, add SkipMetadataReadOnNewParserInit Parser Option, add ParseOptions to Parser API. by @kristianvalind in #208
- Interpret "" DICOM Character Set as iso-8859-1 by @marineotter in #219
New Contributors
- @marineotter made their first contribution in #219
Full Changelog: v1.0.4...v1.0.5
dicom v1.0.4
-
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)
dicom v1.0.2
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)
dicom v1.0.1
In this release:
dicomutil
now supports a--version
flag- AT Tag support
- Some bugfixes (#155)
v1.0.0 dicom
🎉 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
andElement
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!
dicom v0.4.5
This change ensures that options are respected by DatasetToFile (#102)
v1.0.0-alpha.2 Alpha Release
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.