Fo Dicom Versions Save

Fellow Oak DICOM for .NET, .NET Core, Universal Windows, Android, iOS, Mono and Unity

4.0.5

3 years ago

On May 18th 2020 fo-dicom 4.0.5 was officially released.

This release contains the following bugfixes:

  • Fixed bug where DicomTags of ValueRepresentation LT have not been validated.
  • Fixed bug where unawaited task threw unhandled exception, that where caught in finalizer thread when stopping Dicom Server.
  • Fixed bug where dependency of fo-dicom.ImageSharp nuget package was wrong.
  • Fixed bug where reading of SQ of length 0 froze.
  • Fixed bug where DicomDictionary accessor thew exception on unknown keyword instead of returning null.
  • Fixed bug where comparing instance of class DicomStatus with null returned wrong value.
  • Fixed bug where overlay origin was not set correctly.
  • Fixed bug where encoding was missing JsonDicomConverter on LO, SH and PN.

There are no breaking changes from version 4.0.4 to version 4.0.5.

4.0.4

4 years ago

4.0.4

On January 17th 2020 fo-dicom 4.0.4 was officially released

The list of changes and bugfixes contain the following:

  • Asynchronous counterparts to IDicomCEchoProvider, IDicomCFindProvider, IDicomCStoreProvider, IDicomCMoveProvider, IDicomCGetProvider and IDicomNServiceProvider
  • Disable validation when cloning/copying existing DicomDatasets. Exceptions has been thrown when anonymizing files that contain invalid content.
  • Fixed bug that FileReadOption.SkipLargeTags caused that only parts of a FragmentSequece have been read, which then lead to further errors. Now the whole FragmentSequence is skipped if only one part of this sequence is skipped.
  • Implementation of IImage with ImageSharp, which is pure managed and can be used on any operation system.
  • Fixed bug where DicomDataset.TryGetString throws if the element is an empty number-based element.
  • Fixed bug where VOI LUT was not applied correctly
  • Fixed bug that exception was thrown when cloning to Jpeg Process2_4 when parameters are set to null.
  • Some continuations in the new DicomClient were not properly marked with ConfigureAwait, which could cause trouble. And prevent SSL handshake freeze from blocking the TCP listener.

The complete list of changes can be found here

There are no breaking changes from version 4.0.3 to version 4.0.4.

4.0.3

4 years ago

On September 21st, 2019 fo-dicom 4.0.3 was officially released.

The list of changes and bugfixex contain the following:

  • Fix bug when opening a file with FileReadOption.SkipLargeTags.
  • Fix bug that images are broken when transcoding to JpegProces14.
  • Add the ability to enforce a maximum number of DICOM requests per association to the new DICOM client.
  • Add AutoValidate property also to DicomDirectory class. And new global static property DicomValidation.PerformValidation to turn off validation for every DicomDataset.
  • Add support for timeout detection on DICOM requests. Events on Requests and DicomClient are thrown in case of timeout.
  • New Option MaxPDULength in DicomServiceOption.
  • Rewrite SOP class extended negotiation support.

The complete list of changes can be found here

There are no breaking changes from version 4.0.2 to version 4.0.3.

4.0.2

4 years ago

On July 30th, 2019 fo-dicom 4.0.2 was officially released.

The list of changes and bugfixex contain the following:

  • A completely new DicomClient, under the namespace Dicom.Network.Client.DicomClient (beware of confusion with Dicom.Network.DicomClient!) Redesigned architecture using state pattern, completely async from the very start, full and graceful cancellation support using CancellationToken, one DicomClient instance per DICOM server, more hooks to react to the various states a DicomClient goes through. (e.g. when connecting, when lingering the association, etc.)
  • Add pure managed JpegLosses Decoder to DICOM.NetCore project.
  • Be more prudent when releasing association after the linger timeout.
  • Added Modality LUT Sequence and VOI LUT Sequence functionality when generating a DICOM Image.
  • Enable secure DICOM Tls 1.0, 1.1 and 1.2.
  • Set text encoding of Json to UTF-8, as defined in dicom standard F.2.
  • Fix bug when LUT was interpreted wrong for PALETTE COLOR images.
  • Fix bug so that the DicomClient waits for release of previous association before it opens a new one.
  • Fix bug when adding datasets to a DicomDirectory where some patientNames have trailing ^, then they were not recognized as one patient
  • Fix bug that linear windowing was wrong in corner cases.
  • Fix bug so that now Photometric Interpretation is updated on Transfer Syntax changes.
  • Fix bug that DicomOverlayData OriginX and OriginY were swapped.
  • Fix bug on handling Json deserializing of empty values.

The complete list of changes can be found here

There is only one breaking changes from version 4.0.1 to version 4.0.2:

  • The content is validated when adding DICOM elements to DicomDataset. This validation is skipped when reading files or receiving data via network. It can be disabled by setting a property of the DicomDataset before adding content.

4.0.1

4 years ago

On March 13th, 2019 fo-dicom 4.0.1 was officially released.

The list of changes and bugfixex contain the following:

  • Internally use Long instead of Int as offset when reading large files
  • DicomDirectory.AddFile returns a reference to the newly added patient-, study-, series- and instance-Record.
  • Add option to DicomFile.Open as parameter how to deal with large tags.
  • PixelData.GetMinMax now has 2 overloads, one that takes padding into account and one wihtout the padding parameter.
  • Fix detecting default windowing if a dataset contains several windows configurations.
  • Fix bug when rendering an image in .net core when it is both flipped in x and y direction.
  • Add property DicomUID.IsVolumeStorage.
  • Allow handling of custom Transfer Syntax.
  • Methods and classes for calculating image geometry like localizer lines are added.
  • Some fixes about network connection and socket handling after client connection.

The complete list of changes can be found here

There are only few breaking changes from version 4.0.0 to version 4.0.1:

  • DicomUIDGenerator.GenerateDerivedFromUUID converted Guids incorrectly to the DICOM "2.25." + UUID format. This format is now default when generating new UIDs.
  • In class DicomDataset the methods TryGetValue, TryGetValues and TryGetSingleValue now return false instead of throwing exceptions.
  • DicomDataset.GetValues on empty element now returns an array with zero elements instead of throwing an exception.

4.0.0

4 years ago

4.0.0

On September 24th, 2018 fo-dicom 4.0.0 was officially released.

The list of changes and bugfixes contain the following:

  • Demonstrate and fix error in RLELossless Transfer Syntax Codec
  • DicomReader: Prevent premature exit from privateBadSequence when private sequence contains sub-sequence
  • fix: Saving a file with deflated transfer syntax occasionally fails
  • Anonymizer not removing Sequences (#610 #611)
  • Subclassing DicomServer
  • Support CP-1066
  • DicomDataset.Add and .AddOrUpdate overloads with Encoding parameter
  • DicomServer to listen on IPv6 socket
  • fix: DicomAnonymizer ignores the PatientName and PatientID in the SecurityProfile and blank DicomDate/DicomDateTime to DateTime.MinValue instead of empty value
  • ReceivingApplicationEntityTitle and SendingApplicationEntityTitle omitted during Save
  • Handle fragmented OW pixel data when creating EncapsulatedPixelData for new pixel data
  • DicomImage is now thread safe
  • fix: DicomUIDGenerator.Generate UID Collisions (Non-unique UIDs)
  • Correct interpolation of rescaled overlay graphics
  • fix: DicomClient proposes wrong presentation context in .NET core with codec that does not support 16 bit encoding
  • fix: JsonDicomConverter.ParseTag is very slow for keyword lookups (#533 #531)
  • fix: DicomDictionary.GetEnumerator() is very slow (#532 #534)
  • DicomPixelData.BitsAllocated setter removed
  • fix: DicomClient.SendAsync will never return when certain non-transient exceptions are thrown
  • Added Maximum Clients Allowed to restrict connection to SCP
  • Updated JPEG-LS to latest CharLS commit
  • Support for up to 16 bit JPEG 2000 codecs on Android, iOS, Mono and .NET Core
  • Added missing encodings for .NET Core
  • Update to latest DICOM Standard 2018b
  • fix: Call to DicomServer.Stop does not remove all clients
  • Provide System.Drawing.Bitmap support for image rendering with .NET Core
  • Added optional parameter for use in extended DicomService
  • Consistently asynchronous networking API
  • Pass through unsupported user data during PDU parsing
  • Online and NuGet packages API documentation
  • Fix StackOverflowException in Vector3D multiplication

The complete list of changes can be found here

There are some breaking changes from version 3.0.2 to version 4.0.0. The most remarkable are the following:

  • The clas and interfaces DicomService, IDicomServiceProvider, IDicomCStoreProvider, IDicomCEchoProvider now are asynchronous, so the interfaces require to implement async methods now.
  • The method DicomDataset.Get behaves very different depending on parameters and types what lead to lot of confisuion. So this is now marked as obsolete and instead there are several methods GetSingleValue, GetValues, GetSequence etc. See here
  • DicomClient.WaitForAssociation is deprecated, there are now association events provided instead.

3.0.2

7 years ago

The Dicom.Core assembly for Mono included in this release is dependent upon the following NuGet packages:

3.0.1

7 years ago

The Dicom.Core assembly for Mono included in this release is dependent upon the following NuGet packages:

3.0.0

7 years ago

The Dicom.Core assembly for Mono included in this release is dependent upon the following NuGet packages:

3.0.0-rc3

7 years ago