tijian_tieying/winform/packages/fo-dicom.4.0.7/ChangeLog.md
2025-02-20 12:01:17 +08:00

38 KiB

v.4.0.8 (TBD)

v.4.0.7 (11/1/2020)

  • Bug fix: Not able to open deflated dicom file which contains squence (#1097)
  • Bug fix: DS VR type value ending with \0 fails to serialize in JsonDicomConverter (#1078)
  • Allow disabling validation in JsonDicomConverter
  • Bug fix: IPv6 issue in DesktopNetworkStream
  • Optimize DicomTag.GetHashCode() (#1088)
  • Bug fix: Prevent special characters in association requests from crashing Fellow Oak DICOM (#1104)
  • Fixes caching of pixel data in DicomImage when rendering the same image multithreaded. (#805)
  • Fix handling of MaximumPDULength. DicomServer always repeated the clients value of MaximumPDULength in AssociationAccepted-message instead of returning its own value. (#1084)
  • Bug fix: It's very slow to open deflated dicom file. (#1115)
  • Bug fix: DicomUID Storage Commitment Push Model SOP Class was mapped to wrng DicomStorageCategory (#1113)
  • Handle PresentationStates and StructuredReports when creating a DICOMDIR (#1045)
  • Allow conversion of integerString into integer if original string had decimal with trailing zeros
  • Bug fix: String decimals ending in . (ex. 10.) throw DicomValidationException even though they can be converted to decimal
  • Bug fix: FrameGeometry.PixelSpacingX and FrameGeometry.PixelSpacingY where wrong initialized. Now for clarity they are called PixelSpacingBetweenRows and PixelSpacingBetweenColumns.
  • Bug fix: Date (DA) and DateTime (DT) fields didn't support range in validation (#1105)

v.4.0.6 (8/6/2020)

  • Update to DICOM Standard 2020b.
  • Handle N-Event requests in DicomClient (required for synchronous storage commitment) (#1001)
  • Bug fix: Fix DICOM Tag conversion for private tags for element numbers xxff (#1059)
  • ImplicitVRLittleEndian always added to presentation context by default causes other transfer syntax to not be accepted (#1048)
  • New interface IDicomNEventReportRequestProvider for DicomServer. This is necessary to handle synchronous storage commitment on server (#1055)
  • Bug fix: Fix the deserialization issue in JsonDicomConverter for NaN value in VR=FL (#1063)
  • Bug fix: IOException when reading/sending file > 2GB. (#1061)
  • Bug fix: DicomValidator ValidateLO issue, ESC is a valid character (#1043)
  • Bug fix: DicomValidation for UI when AddFile to DicomDirectory (#1053)
  • Bug fix: Exception occurred in Indexer of VOISequenceLUT Class (#1062)
  • Bug fix: Prevent DicomClient getting stuck when any Exception (except IOException) occurs while sending a PDU over the network (#1054)
  • Bug fix: Size of uncompressed YBR_FULL_422 images is calculated wrong (#645)
  • Bug fix: YBR_FULL_422 images should have a planar configuration value of zero (#1049)
  • When opening a DICOMDIR with invalid offsets, try to find the best matching records in a second run (#828)

v.4.0.5 (5/18/2020)

  • Bug fix: DicomTags of ValueRepresentation LT have not been validated.
  • Bug fix: Unawaited task throws unhandled exception caught in finalizer thread when stopping Dicom Server. (#1013)
  • Bug fix: dependency of fo-dicom.ImageSharp nuget package was wrong. Now it also requires only netStandard1.3 (#1017)
  • Bug fix: Fixed freeze when reading SQ of length 0 (#1009)
  • Bug fix: DicomDictionary accessor thew exception on unknown keyword instead of returning null (#996)
  • Update version of ImageSharp to rc1
  • Bug fix: Comparing instance of class DicomStatus with null returned wrong value (#975)
  • Bug fix: Overlay origin cannot be set correctly. (#1028)
  • Add encoding to JsonDicomConverter on LO, SH and PN (#1020)

v.4.0.4 (1/17/2020)

  • New feature: asynchronous counterparts to IDicomCEchoProvider, IDicomCFindProvider, IDicomCStoreProvider, IDicomCMoveProvider, IDicomCGetProvider and IDicomNServiceProvider
  • Bug fix: Prevent SSL handshake freeze from blocking the TCP listener (#923)
  • disable validation when cloning/copying existing DicomDatasets. Exceptions has been thrown when anonymizing files that contain invalid content.
  • Bug fix: 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.
  • Bug fix: Exception when anonymizing private tags, where the value representation is not known.
  • Implementation of IImage with ImageSharp, which is pure managed and can be used on any operation system. (#693)
  • Add link to wiki entry in DicomCodecException (#948)
  • Bug fix: DicomDataset.TryGetString throws if the element is an empty number-based element (#932)
  • Bug fix: Some continuations in the new DicomClient were not properly marked with ConfigureAwait, which could cause trouble
  • Bug fix: VOI LUT was not applied correctly (#949)
  • Add ReferencedFilmSessionSequence in N-Create message of BasicFilmBox (#967)
  • Bug fix: Exception when cloning to Jpeg Process2_4 when parameters are set to null.

v.4.0.3 (9/21/2019)

  • Bug fix: Exception when adding an element of VR UR/UT/LT/ST with empty value (#915)
  • Bug fix: Exception when opening a file with FileReadOption.SkipLargeTags (#893)
  • Bug fix: Do not open new associations on the existing TCP connection (#896)
  • Bug fix: Broken images when transcoding to JpegProces14 (#921)
  • New feature: Add the ability to enforce a maximum number of DICOM requests per association to the new DICOM client (#898)
  • Add AutoValidate property also to DicomDirectory class.
  • Add support for timeout detection on DICOM requests. Events on Requests and DicomClient are thrown in case of timeout (#666, #236)
  • New Option MaxPDULength in DicomServiceOption.
  • Rewrite SOP class extended negotiation support (#740)
  • Bug fix: extended negotiations have been accepted by default, but should be explicitly accepted (#900)
  • Bug fix: Send only PrintManagementMetaSopClassUid on AssociationRequest instead of all the various SopClassUids of the NCreate and NSet requests (#667)
  • Global static property DicomValidation.PerformValidation to turn off validation for every DicomDataset.
  • Bug fix: Prevent DICOM client from freezing when too many DICOM requests time out and async operations invoked is a low number

v.4.0.2 (7/30/2019)

  • Bug fix: prevent resource leak when DesktopNetworkListener waits for new TCP clients
  • Updated to DICOM Dictionary 2019a (#724)
  • Add pure managed JpegLosses Decoder to DICOM.NetCore project
  • Upgraded native libraries to MSVC platform toolset v141 (VS 2017) (#814)
  • Replaced deprecated licenseUrl tags in NuGet specification files (#813)
  • Add validation of content when adding DICOM elements to DicomDataset. This validation is skipped when reading files or receiving data via network.
  • Be more prudent when releasing association after the linger timeout (#840)
  • A completely new DicomClient, under the namespace Dicom.Network.Client.DicomClient (beware of confusion with Dicom.Network.DicomClient!)
    • The intent is that the old Dicom.Network.DicomClient will disappear in the next major update, so the namespace confusion shouldn't last very long.
    • For now, both versions can be used side by side according to your needs. All of our unit tests cover both implementations.
    • The new Dicom.Network.Client.DicomClient sports the following characteristics:
      • Redesigned architecture using state pattern. This makes the DicomClient a lot more robust in various scenarios (abort while sending requests, disconnect while releasing association, etc)
      • Completely async from the very start
      • Full and graceful cancellation support using CancellationToken. Upon cancellation, no more requests will be sent, the association will be released and the connection closed gracefully.
      • One DicomClient instance per DICOM server. The host, port and other server related parameters are moved to the DicomClient constructor.
      • More hooks to react to the various states a DicomClient goes through. (e.g. when connecting, when lingering the association, etc.)
  • Bug Fix: Fixed wrong interpretation and application of LUT for PALETTE COLOR images (#817)
  • Bug Fix: Allow any SOP Class to be set as Affected SOP CLass in C-FIND requests (#808)
  • Bug Fix: Don't drop connection right after releasing an association (#839)
  • Bug Fix: Wait for release of previous association before opening a new one (#833)
  • Bug Fix: When a connection is still open but the association is already released, create a new association (#833)
  • Bug Fix: When adding datasets to a DicomDirectory where some patientNames have trailing ^, then they were not recognized as one patient (#765)
  • Bug Fix: Anonymizer throws exception on private tags (#771)
  • Bug Fix: Linear windowing wrong in corner cases (#816)
  • Bug Fix: Fix DicomClient getting stuck when sending one request fails completely (#848)
  • Added Modality LUT Sequence and VOI LUT Sequence functionality when generating a DICOM Image.
  • Bug Fix: Logging requests with very long private tags throws exception (#846)
  • Bug Fix: turn off validation when creating CFind-, CGet- or CMove-Requests, since there are no newly generated data included, but already existing UIDs have to be added there. (#860, #842)
  • Bug Fix: generation of DicomUID using obsolete method Generate("name") resulted in invalid UIDs. (#862)
  • Bug Fix: Disabling dataset validation for file meta information objects. (#859)
  • Bug Fix: JPEG 2000 decodes wrong colors in .NET Core (#850)
  • Enable secure DICOM Tls 1.0, 1.1 and 1.2 (#872)
  • Set text encoding of Json to UTF-8, as defined in dicom standard F.2
  • Bug Fix: Photometric Interpretation updates on Transfer Syntax changes (#836)
  • Bug Fix: DicomOverlayData OriginX and OriginY were swapped
  • Bug Fix: Handle Json deserializing of empty values (#873)

v.4.0.1 (3/13/2019)

  • change IFileReference and IByteBuffer to have offset of type long so that big files can be processed (#743)
  • internally identify dicom servers by port/ipadress combination instead of only port (#699)
  • DicomDirectory.AddFile returns a reference to the newly added patient-, study-, series- and instance-Record.
  • Update Json DS validation regex (#643)
  • Add option to DicomFile.Open how to deal with large tags (#617)
  • DicomFileMetaInformation now uses pre-existing SourceAET where possible
  • PixelData.GetMinMax now has 2 overloads, one that takes padding into account and one wihtout the padding parameter (#675)
  • string.ToUpper() is replaced by string.ToUpperInvariant() to prevent bad character conversion on turkish system
  • Fix detecting default windowing if a dataset contains several windows configurations (#741)
  • Fix bug in .net core when a image is both flipped in x and y direction (#721)
  • Pass through the timeout parameter from DicomClient.Send to the constructor of DesktopNetworkStream (#732)
  • Added appveyor.yml file for ci by this setting (#729)
  • Bug Fix : anonymized patient name is now encoded with same character set as the original Dicom.
  • add DicomUID.IsVolumeStorage.
  • Bug Fix : DICOM server may throw DicomDataException on association when non-standard transfer syntax was proposed (#749)
  • allow Query/Register/Unregister transfer syntax.
  • DicomCFindRequest should allow defnition of Query Retrieve Information Model (#708)
  • Bug fix : DicomUIDGenerator.GenerateDerivedFromUUID converts Guids incorrectly to the DICOM "2.25." + UUID format (#762)
  • Bug Fix : TryGetValue, TryGetValues, TryGetSingleValue should return false instead of throw exception. (#746)
  • Add methods to calculate localizer lines (#779)
  • Bug Fix : DicomPixelData.Create throws Exception if BitsAllocated >= 32 (#716)
  • Bug Fix: GetValues