Skip to content

4.0.0

Compare
Choose a tag to compare
@gofal gofal released this 08 May 20:18
· 1812 commits to development since this release

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.