Skip to content

Releases: Enet4/dicom-rs

v0.5.3

23 Oct 20:51
Compare
Choose a tag to compare

DICOM-rs 0.5.3

This is another feature release of DICOM-rs featuring new crates, some updates to existing crates, and also some fixes and backwards-compatible enhancements.

New

  • New crate dicom-storescp, featuring a baseline implementation of a Store SCP (#296 @vsaase)
  • New crate dicom-findscu provides an experimental Find SCU (#144)
  • [object] New methods make it possible to mutate the FileMetaTable in a FileDicomObject and set the properties of a FileMetaTable with safeguards (#280)
  • [object] Also added more methods in FileMetaTable to retrieve clean UID attributes (#292)
  • [dump] Utility methods dump_object and dump_object_to lets you print the contents of DICOM objects without creating a DumpOptions value first (#300)
  • [ul] New address module provides types for working with addresses to DICOM application entities (#284 #301)
  • Network tools (storescu and echoscu) now accept a combination of AE title and socket address together, such as [email protected]:104 (#274)
  • [ul] Added PDataReader type (#276)
  • [ul] Added client_ae_title getter for server associations (#291)
  • [transfer-syntax-registry] Added TransferSyntaxRegistry::iter (#295)

Fixes and Enhancements

  • [core] Added FromStr implementation to Tag (#288)
  • [core] Trim text before parsing person name (#299 @jmlaka)
  • [core] Fixed swapped documentation of two VR variants (#298)
  • [core/encoding] Added Eq and Hash impl to more types (#289)
  • [pixeldata] GDCM integration now supports multi-frame image decoding (#233 @ingwinlu)
  • [echoscu/storescu] Improved response processing and output format (#269)
  • [object/ul] Updated implementation version and class UID (#290)
  • [pixeldata] Removed redundant slicing of primitive pixel data values (#233 @ingwinlu)
  • [ul] Improved robustness of associations to UIDs with trailing whitespace (#291)
  • [ul] Added strict option for associations which imposes the established maximum PDU length (#291)
  • [ul] Implemented Display for several association error types and extended association rejection error message with association source (#291)
  • [storescu] Now requires at least one file input and provides better feedback (#275)
  • [storescu] Max PDU length check has been safeguarded from panicking (#281)
  • [dictionary-builder] Updated dependencies (#270)
  • Error reporting now uses SNAFU's Report API in all tools (#297)

Miscellaneous

  • [core/parser] Update chrono to to 0.4.22 (#279)
  • [object] Updated dicom-test-files to v0.2.1 (#277)
  • [pixeldata] Added fuzz tests (#273)
  • [object] InMemDicomObject::meta() is deprecated (#280)

New crates

  • dicom-storescp 0.1.0
  • dicom-findscu 0.1.0

Updated crates

  • dicom-core 0.5.2
  • dicom-encoding 0.5.2
  • dicom-parser 0.5.2
  • dicom-transfer-syntax-registry 0.5.1
  • dicom-object 0.5.3
  • dicom-dump 0.5.3
  • dicom-ul 0.4.3
  • dicom-echoscu 0.2.1
  • dicom-storescu 0.2.2
  • dicom-scpproxy 0.4.1
  • dicom-pixeldata 0.1.4
  • dicom-toimage 0.1.2
  • dicom-fromimage 0.1.2
  • dicom 0.5.3
  • dicom-dictionary-builder 0.3.1

Thanks

A word of thanks to the new contributor @vsaase for the preliminary version of dicom-storescp.

Addendum

Also worth reminding that the official channel for real time communication has been moved into Zulip! Feel free to navigate to dicom-rs.zulipchat.com and have a chat!

Full Changelog: v0.5.2...v0.5.3

v0.5.2

19 Jul 17:21
Compare
Choose a tag to compare

DICOM-rs 0.5.2

This update encompasses a few fixes and backwards-compatible API extensions.

New

  • [core] New person_name module provides utilities for working with DICOM formatted person name values (#262 @jmlaka)
  • [core] New method DataElement::items for easier access to sequence items (#263 @ingwinlu)
  • [object] New methods and IntoIterator implementations for DICOM objects to facilitate iteration through their elements (#268)

Fixes and Enhancements

  • [object] Hardened file meta group parsing logic against certain files (#265 @evanrichter)

Miscellaneous

  • [core/encoding/object/ul/pixeldata] Cleaned up the code, resolved some Clippy lints (#267)
  • [pixeldata] Updated development dependencies (#266)

Updated crates

  • dicom-core 0.5.1
  • dicom-dump 0.5.2
  • dicom-encoding 0.5.1
  • dicom-fromimage 0.1.1
  • dicom-object 0.5.2
  • dicom-pixeldata 0.1.3
  • dicom-storescu 0.2.1
  • dicom-toimage 0.1.1
  • dicom-ul 0.4.2
  • dicom 0.5.2

Full Changelog: v0.5.1...v0.5.2

v0.5.1

03 Jul 17:53
Compare
Choose a tag to compare

DICOM-rs v0.5.1

This is a patch version intended to fix potential issues in reading and writing DICOM data. It is fully backwards compatible with the past version.
Heavy users of the library are recommended to update their dicom dependencies.

Fixes and enhancements

  • [pixeldata] Fixed third example at crate root (#250)
  • [dump] Fixed artificial limit on number of elements dumped (#246)
  • [parser] Increased data set reader's robustness to stray item end in DICOM file (#254)
  • [ul] Fixed PDU writer errors when writing A-ABORT messages (#257)
  • [object] Improved file meta information reading routine so that it consumes unexpected attributes and does not try to allocate inappropriate amounts of memory (#259)
  • [ul] Added a safeguard to P-DATA-TF PDU item length against malformed data (#260)

Miscellaneous

  • New fuzz test harness (#258 @evanrichter)
  • The deprecated subproject dcmdump has been removed from the upstream branch (#248)
  • [CI] Add rust-cache (#256)
  • [CI] Use github-actions/checkout v3 (#240)

Updated crates

  • dicom 0.5.1
  • dicom-dump 0.5.1
  • dicom-object 0.5.1
  • dicom-parser 0.5.1
  • dicom-pixeldata 0.1.2
  • dicom-ul 0.4.1

Thanks

Special thanks to @evanrichter for the fuzz testing initiative.

Full Changelog: v0.5.0...v0.5.1

dicom-pixeldata v0.1.1

12 May 19:54
Compare
Choose a tag to compare

This is a patch release intended to resolve known issues in the pixeldata crate.

Fixes and enhancements

  • Fix LUT normalization function (#244)
  • Improve documentation of to_ndarray* methods (#244)
  • Fix the interpretation of 16bit images in to_vec* and to_ndarray* (#244)
  • Optimize color space conversions (#245)

Miscellaneous

  • Update rstest to 0.12.0 (#247)

v0.5.0

28 Apr 17:22
Compare
Choose a tag to compare

This release marks yet another major milestone for the DICOM-rs project, featuring extended support for DICOM date and time values, a new library crate (dicom-pixeldata), more tools (dicom-toimage, dicom-fromimage, dicom-dump), and a multitude of improvements and bug fixes across the various crates.

Hopefully the release cycle of future versions will be shorter, so as to make each version bump less overwhelming.

Changes

  • [core] The element API has been revamped to provide more accurate support for DICOM time and date values. (#137 #139 #143 #179 #185 #196 @jmlaka) (#213 #214)
    • Instead of returning chrono instances, most methods now return custom types with awareness of partially defined dates and times (e.g. 2014 being different from 2014-01-01). Methods which return chrono dates and times are still available under different names.
    • Date and time ranges can also be retrieved from DICOM primitive values.
  • [object] The dicom_object::pixeldata module has been marked for removal. See dicom-pixeldata instead! (#133)
  • [core] to_str methods now automatically trim trailing whitespace from the inner string value (same behavior as to_clean_str, which is now deprecated). (#198 @mfreeborn)
  • [dump] The crate dcmdump is deprecated in favor of the new dicom-dump crate (#173 @charbeljc)
  • Error handling has been updated to use SNAFU version 0.7 (#202)
  • [encoding] Some APIs were changed to accommodate pixel data decoding and encoding adapters. (#152 @pevers)
  • [ul] The client association API was changed for more reliable control of presentation context handling and negotiation (#217 @natdash)
  • [parser] The parser crate was submitted to a clean-up which affected constructors and type parameters of some structs. (#239)

New

  • New crate dicom-pixeldata gives you APIs for working with pixel data, including turning them into images and multi-dimensional arrays (#112 @pevers) (#153 #220 #229)
    • Support for some encapsulated pixel data encodings is available as native implementations,
      including RLE lossless (#152 @pevers) and various kinds of JPEG (#228 @ingwinlu).
    • To extend support for other transfer syntaxes, an integration with GDCM is available via the gdcm feature (#131 #176) (#222 @yigitsoy)
    • This crate includes a LUT implementation with common pixel data transformations (#234)
  • New tool dicom-fromimage (#210)
  • New tool dicom-toimage (#203)
  • New crate dicom-dump which functions both as a tool and as a library (#173 @charbeljc) (#227)
  • Logging is now done project wide using tracing (#236)
  • [parser] A new lazy data set reader abstraction was added. This is still experimental and not yet used by the ecosystem, but will eventually play a key role in future DICOM object implementations (#126)
  • [object] New OpenFileOptions API for specifying additional options to the file opening process (#199)
  • [object] New methods for element manipulation were added,
    including element_opt, element_by_name_opt, and remove_element. (#237 #224)
  • [dump] Can now dump more than one file at a time (#207 @natdash)
  • [dump] Added option --color=(auto|always|never) (#161 @charbeljc)
  • [storescu] Can now send more than one file at a time (#211 @natdash)

Fixes and Enhancements

  • Made transfer syntax registry more flexible against UIDs with null characters (#157 @BastienVigneron)
  • dump was revamped with width adjustments and format updates (#142)
  • [object] Clarified magic code check error (invalid DICOM file) #150
  • [storescu] Fixed issues in the PData value sending routine (#158 @charbeljc)
  • [scpproxy] Fixed PDU transmission issues (#162 @charbeljc)
  • [parser] Fixed encoder padding for even length data (#159)
  • [parser] Fixed data set sequence reading routine for deeply nested data sets (#168)
  • [object] Use length property for in-memory DICOM object construction (#171)
  • [parser] Adjusted dataset writer to not trust the length reported in the file header (#172)
  • [core] Fixed signature of PrimitiveValue::new_i32 (#178 @jmlaka)
  • [parser] Updated text codec of stateful encoder (#156)
  • [ul] Solved bugs related with PDU sending and receiving (#165)
  • [object] InMemDicomObject::with_meta was fixed (#225)
  • [dictionary-builder] [dictionary-std] Updated data element dictionary and builder (#191)
  • Corrected documentation for primitive values by (#197 @mfreeborn)
  • [dump] Fixed set_virtual_terminal call on Windows (#208)
  • [dump] Removed control code in text values (#205 @aaronzs)
  • Dependendy usage was constrained for faster builds (#235)

Miscellaneous

  • [encoding] Converted doc comment and fixed doctest of SpecificCharacterSet::from_code (#223)
  • Updated inventory to 0.2 and adjusted the transfer syntax collection factory (#219)
  • Updated byteordered to v0.6 (#186)
  • Updated deprecations for 0.5.0 (#190)
  • Made piece of code more compatible (#192 @jmlaka)
  • Added association test for Store SCU/SCP (#218)
  • Cargo clippy lint fixes (#195)
  • Use patched version of dicom-test-files (#231)

Crates

Updated crates:

  • dicom 0.5.0
  • dicom-core 0.5.0
  • dicom-encoding 0.5.0
  • dicom-transfer-syntax-registry 0.5.0
  • dicom-dictionary-std 0.5.0
  • dicom-parser 0.5.0
  • dicom-object 0.5.0
  • dicom-dump 0.5.0
  • dcmdump 0.5.0 (deprecated)
  • dicom-ul 0.4.0
  • dicom-scpproxy 0.4.0
  • dicom-dictionary-builder 0.3.0
  • dicom-echoscu 0.2.0
  • dicom-storescu 0.2.0

New crates:

  • dicom-pixeldata 0.1.0
  • fromimage 0.1.0
  • toimage 0.1.0

Thanks

This major version would not have been made possible with the combined effort of several people. In this version, I would like to add a special thank you to:

  • Juráj Mlaka (@jmlaka) for bringing desirable changes to how DICOM date and time values are accessed and manipulated, including support for date-time ranges;
  • Peter Evers (@pevers) for driving the much anticipated pixeldata initiative;

Moreover, a warm gratitude to the development efforts done by the following first contributors of DICOM-rs:

Full Changelog: v0.4.0...v0.5.0

v0.5.0-rc.2

03 Feb 14:30
Compare
Choose a tag to compare
v0.5.0-rc.2 Pre-release
Pre-release

This is DICOM-rs 0.5.0 release candidate 2, a new iteration towards the next major version. This version is much closer to a stable release.

The following changelog is auto-generated. Version 0.5.0 will include a better structured list of changes.

What's Changed since 0.5.0-rc.1

  • strip trailing whitespace when displaying text by @mfreeborn in #198
  • [dump] Fix set_virtual_terminal call on Windows by @Enet4 in #208
  • [dump] Remove control code in text value by @aaronzs in #205
  • [dump] Enable dumping more than one file by @natdash in #207
  • Upgrade SNAFU to v0.7 by @Enet4 in #202
  • [core] Admit second-precise times to be converted to a chrono NaiveTime by @Enet4 in #214
  • [storescu] Enable sending more than one file by @natdash in #211
  • Enhanced pixeldata and pixel data encoding by @Enet4 in #213
  • Update to presentation context handling by @natdash in #217
  • Add association test for Store SCU/SCP by @Enet4 in #218
  • Collect transfer syntax factory - inventory 0.2 by @Enet4 in #219
  • Add pixeldata crate to parent library crate by @Enet4 in #220

New Contributors

Full Changelog: v0.5.0-rc.1...v0.5.0-rc.2

v0.5.0-rc.1

19 Nov 09:49
Compare
Choose a tag to compare
v0.5.0-rc.1 Pre-release
Pre-release

This pre-release marks an intermediate step towards the next major version, 0.5.0. Although there are still a few rough edges and breaking changes may still happen, this one comes with a bunch of features and fixes that people may be interested in using now.

The following changelog is auto-generated. Version 0.5.0 will include a better structured list of changes.

What's Changed

  • Add dicom-pixeldata by @pevers in #112
  • Support RGB, YBR_FULL and YBR_FULL_422 PhotoMetricInterpretation by @pevers in #127
  • [parser] Lazy data set reader abstraction by @Enet4 in #126
  • [object] Mark pixeldata module as bad by @Enet4 in #133
  • Make GDCM compilation optional by @pevers in #131
  • Update deserialize.rs by @jmlaka in #137
  • simplify UTC offset parsing by @jmlaka in #139
  • date and time parsing improvements by @jmlaka in #143
  • [dcmdump] clean all strings properly by @Enet4 in #154
  • [pixeldata] Fetch the first frame of native pixel data on decode_pixel_data by @Enet4 in #149
  • [pixeldata] reexport public dependencies by @Enet4 in #151
  • Make transfer syntax registry more flexible against UIDs with null characters by @bastien-solutions in #157
  • [dcmdump] Revamping: width adjustments, format updates by @Enet4 in #142
  • [object] Clarify magic code check error (invalid DICOM file) by @Enet4 in #150
  • [dcmdump] add option --color=(auto|always|never) by @charbeljc in #161
  • [storescu] Orthanc PACS interoperability by @charbeljc in #158
  • [scpproxy] pynetdicom <-> scpproxy <-> Orthanc interop by @charbeljc in #162
  • Decode encapsulated pixel data frame offset table by @Enet4 in #153
  • [parser] Fix encoder padding for even length data by @Enet4 in #159
  • [parser] Fix data set sequence reading routine for deeply nested data sets by @Enet4 in #168
  • [object] Consider encoded length property for in-memory DICOM object construction by @Enet4 in #171
  • [parser] Don't trust the length in the header for writing by @Enet4 in #172
  • [pixeldata] Remove "gdcm" as a default feature by @Enet4 in #176
  • [parser] Update text codec of stateful encoder by @Enet4 in #156
  • Update byteordered to v0.6 by @Enet4 in #186
  • Null components2 no precision tweaks for time by @jmlaka in #185
  • Null date components by @jmlaka in #179
  • [ul] Solve bugs related with PDU sending and receiving by @Enet4 in #165
  • Integrate with encoding TransferSyntax by @pevers in #152
  • [dictionary-builder] [dictionary-std] Update data element dictionary and builder by @Enet4 in #191
  • Update deprecations for 0.5.0 by @Enet4 in #190
  • Cargo clippy lint fixes by @Enet4 in #195
  • correct documentation for primitive values by @mfreeborn in #197
  • Dcmdump as a library by @charbeljc in #173
  • Remove chrono by @jmlaka in #196
  • Update README.md by @Enet4 in #201
  • [object] Add OpenFileOptions by @Enet4 in #199

New Contributors

Preliminary thanks to the following contributors (a better word of appreciation will follow once 0.5.0 is released):

It is also great to find that the DICOM-rs repository has reached 200 stars on GitHub. 🎉 May the project's outreach continue increasing!

Full Changelog: v0.4.0...v0.5.0-rc.1

dicom-core-v0.4.1

30 Jul 20:49
Compare
Choose a tag to compare

New

  • Added method is_non_primitive to DataElementHeader (#146)

Fixes

  • Parsing dates with only year and month should now work (day defaults to 1) (#137 @jmlaka)
  • Improved handling of dates and date-times with missing time components (#143 @jmlaka)

Enhancements

  • Date-time decoding was simplified to longer consider partial UTC offsets (#139 @jmlaka)

DICOM-rs v0.4

27 Apr 11:39
Compare
Choose a tag to compare

DICOM-rs 0.4 introduces a new API for DICOM network support, as well as a revamped standard data element dictionary, methods for reading and writing bare DICOM datasets, new CLI network tools, and more!

Changes

  • [core] DataElement::new is now generic over the data value type (this is a minor break, remove .into() if you had it) (#91)
  • [core] Primitive value equality has been adjusted so that a single element Strs may be equal to a Str if the two strings within are the same (#110)
  • [dictionary-builder] The crate has been heavily modified to receive a DCMTK .dic dictionary instead of an XML file from the standard
    (#14 @pauldotknopf)
  • [dictionary-builder] Added a flag to mark retired tags as deprecated (#99)
  • [dictionary-std] The entries module has been removed. If you were using it, modify the code to use the constant in the tags module instead. (#14 @pauldotknopf)
  • [object] Deprecated RootDicomObject, use FileDicomObject instead (#97)

New

  • [core] Add PartialEq implementations for PrimitiveValue against standard Rust strings (#110)
  • [core] to_clean_string metho for data element values, returning strings without trailing whitespace (#90 @josepp-moreira)
  • [object] Add methods for reading and wrintg bare DICOM datasets (#84, #96)
  • [object] Add take_element methods for InMemDicomObject (#49 @pjsier)
  • [dictionary-std] New generated tag constants in the tags module. (#14 @pauldotknopf)
  • [dcmdump] Colored console output (#80 @pjsier)
  • [object] type parameter D in InMemDicomObject and InMemDataElement now defaults to StandardDataDictionary (#97)
  • [object] Add with_meta and with_exact_meta to InMemDicomObject (#97)
  • [object] Temporary implementation class UID and implementation version name for DICOM-rs, applied by default if not specified (#97)
  • [object] impl Extend for InMemDicomObject (#97)
  • [ul] Association API, in the association module (#98)
  • New experimental tools echoscu and storescu (#98 with off-band collaboration of @josepp-moreira)

Fixes

  • [core] Trim trailing whitespace in the conversion of more data value primitives (#102)
  • [parser] Fixed tokenization of explicit length items, thus presenting a more accurate value length (#85)
  • [encoding] Read Overlay Data as OW in Implicit VR Little Endian (#86)
  • [ul] Fixed constant mapping into AssociationRJResult (#93)
  • [storescu] Removed dbg! call (#113)
  • [parent] crate dicom-ul is now available as ul by default, via the Cargo feature ul (#116)

Enhancements

  • [dicom] Re-exported dicom_core::dicom_value! in parent crate (#94)
  • [dictionary-std] More elements were introduced, including those for DICOM commands. (#14 @pauldotknopf)
  • [parser] Improved data reader/writer diagnostics (#85)
  • [object] More examples in the root documentation (#97)
  • [object] Re-export FileMetaTableBuilder at crate root (#97)
  • [core/object/dcmdump] Update itertools to 0.10 (#100)
  • [dcmdump] Clean strings in textual values are printed (#101)
  • [ul] Revamped crate documentation (#98)

Chores

  • [core/parser/object] Narrow requirement on smallvec to 1.6.1, to ensure patch against RUSTSEC-2021-0003 (#104)
  • Moved CI out of Travis and into GitHub Actions (#95)
  • Removed obsolete badges in Cargo manifest (#114)
  • Assorted Clippy warning fixes (#103)

Updated crates

  • dicom: 0.4.0
  • dicom-core: 0.4.0
  • dicom-dictionary-std: 0.4.0
  • dicom-encoding: 0.4.0
  • dicom-transfer-syntax-registry: 0.4.0
  • dicom-parser: 0.4.0
  • dicom-object: 0.4.0
  • dicom-ul: 0.3.0
  • dicom-scpproxy: 0.3.0
  • dcmdump: 0.4.0
  • dicom-dictionary-builder: 0.2.0

New crates

  • dicom-echoscu: 0.1.0
  • dicom-storescu: 0.1.0

Thanks

Many thanks to new and continuing contributors for this exciting new milestone. Current plans for the upcoming versions are just as promising, if not more!

  • A new DICOM object implementation with lazy element loading has already been under development for a while, and should hopefully be made visible in the next version. Status updates may become available in issue #1.
  • A pixel data abstraction is also under way! Keep track of progress in issue #111.

DICOM-rs v0.3

30 Sep 19:05
Compare
Choose a tag to compare

The third release of DICOM-rs encompasses a wide spectrum of quality-of-life features and improvements, making the library easier to use and more DICOM compliant. Future versions will hopefully tackle features of larger complexity and visibility.

Major Changes

  • [core/encoding/parser/object/ul] Error types have been refactored across the ecosystem of crates. They were completely restructured and designed via SNAFU, becoming more informative and useful. (#62)
  • [parser] The main data set reader supports multiple parsing strategies. By default, date, time, and date-time values are no longer parsed into chrono data types, thus not compromising the parsing process if they are invalid. (#65)
  • [core] The dicom_value! was given a few syntax changes, please see the respective documentation. (#56)
  • [code] PrimitiveValue's as_u8, as_i32, and as_tags methods are deprecated, in favor of the getter methods uint8_slice, int32_slice, and tags.
  • [encoding] Changes to TextCodec: new method name, and implementing Debug is no longer required (#53)
  • [encoding] SpecificCharacterSet has new variants and has been marked as non-exhaustive. (#53)
  • [transfer-syntax-registry] JPIP_DEREFERENCED_DEFLATE was renamed to JPIP_REFERENCED_DEFLATE (was a typo) (#58)

New

  • [core] Extended the public API for retrieving standard Rust values from DICOM PrimitiveValue, Value, and DataElement. Methods with and without automatic conversions are provided. (#56, #66, #68, #75)
  • [encoding] More character encodings are now supported: ISO-IR 100, ISO-IR 101, ISO-IR 109, ISO-IR 110, ISO-IR 144. (#53), plus GB18030 (#52 @kira-96)
  • [transfer-syntax-registry] Added more transfer syntaxes as described in DICOM PS3.6 2020b Table A-1 (#58)

Fixes and Enhancements

  • [core] Fixed an incorrect calculation of multi-valued data's length (#67)
  • [encoding] Fixed character set detection by the SpecificCharacterSet attribute (#52 @kira-96)
  • [parser] Fixed the parser not accepting sequence data in unknown attributes (#64)
  • [dcmdump] Redesigned the output of the tool, pushing values to the end and attribute names to the middle, and the output width has been adjusted for the terminal width (#45 @robyoung, #74)
  • [dcmdump] ImplementationClassUID was printing SOPClassUID by mistake (#61)
  • [dcmdump] The alias of the transfer syntax is now reported alongside its UID (#61)
  • [dcmdump] Human readable error output (#61)

Chores

  • Updated crate manifests: crates.io should now present the readme contents of each crate. (#57, #75)
  • Added documents for project conduct, governance, and contribution guidelines (#69)
  • Added WebAssembly testing to CI, for some of the components in the library. (#54)
  • Added integration test to OB with undefined length (#48 @robyoung)
  • dependency updates: [email protected]

Updated crates

  • dicom: 0.3.0
  • dicom-core: 0.3.0
  • dicom-encoding: 0.3.0
  • dicom-transfer-syntax-registry: 0.3.0
  • dicom-parser: 0.3.0
  • dicom-object: 0.3.0
  • dicom-dictionary-std: 0.3.0
  • dicom-ul: 0.2.0
  • dcmdump: 0.3.0
  • dicom-dictionary-builder: 0.1.2

Thanks

Special thanks to new and revisiting contributors involved in this version, as well as to users of the library who have contributed with their own real-life use cases of DICOM-rs.