Version 2.10 - 23 October 2018
Changed: DeCaMino shipped as a single jar instead of two. The native library is now called decamino instead of jjjni. Changed: Sequences of data sets are now modeled as List
instead of Collection . Changed: ExceptionListener.exceptionOccured now correctly spelled exceptionOccurred. Changed: Error code ProtocoleViolation now correctly spelled ProtocolViolation. Improved: DeCaMino can now be used without the native library if needed. Encoding and decoding of JPEG-LS, 12-bits JPEG and JPEG 2000 pixel data are disabled if the native library cannot be loaded. Added: DataSet.getStream. Added: DicomReader.canDecodePixelData. Added: Support for the new TLS profiles (see SecureTransport javadoc). Added: ReceivedObject.getDicomMetadata. Added: DataSet.equals. Added: BufferedFileImageOutputStream and BufferedFileImageInputStream. Added: Outputs of type File are now accepted by DicomWriter. Added: Inputs of type File are now accepted by DicomReader (see DicomReader javadoc). Added: DataSet.getShorts and DataSet.getShort. Added: DicomColorSpace constants for built-in color spaces. Added: When writing Multi-frame Secondary Capture, if pixel data needs a modality LUT to fit the pixel format, and none is provided in the data set, DeCaMino computes an automatic modality LUT (rescale and intercept). Added: Convenient methods in DataSet: getPersonName, getPersonNames, getLocalDates, getTemporals, getLocalDateTimes, getZonedDateTimes, getLocalTimes. Added: QueryRetrieveSCU.discardReceivedData(). Fixed: Calling QueryRetrieveSCU.getSupportedBySCP or QueryRetrieveSCU.moveSupportedBySCP now blocks instead of returning false if called before negotiation completes. Fixed: Connecting using one of the DICOM profile could throw "Unsupported ciphersuite TLSv1". Fixed: DicomMetadata.isVideoEncoded always returned false. Fixed: DicomReader.getImageTypes could throw an exception if the object contained a VOI LUT. Fixed: Empty components in person names are now always null and not empty strings. Updated: DICOM dictionary to 2018c.
Version 2.09 - 29 June 2018
Changed: more compliant processing of UN VR, DicomMetaData.removeUnwritableElements behavior changed and deprecated, removal of class UnknownValue. Improved: allow decoding of data elements encoded with VR UN but which tag is in dictionary. Added: float and double pixel data. Added: 32-bit Int pixel data. Added: 1-bit pixel data. Added: helper methods in DataSet to read and write overlays. Applications that decode pixel data from the raw byte array value of OverlayData won't work anymore. Added: DataSet.canBeEncodedWith. Added: DataElement.isPrivate, canBeWritten, hasUnknownVR, getTag, getValue. Added: DicomMetadata.removePrivateElements and DataSet.removePrivateElements. Added: support for GE-private transfer syntax 1.2.840.113619.5.2. Added: support for non-standard file using implicit transfer syntax for file metadata. Added: DicomMetadata.getVOIViewExplanation. Added: helper methods DataSet.getStrings and DataSet.getLongs. Added: GSDF support, DicomColorSpace, DicomColorSpace.Gray. Added: Tag entries for repeating groups. Added: DicomMetaData.setWordPixelData, setFloatPixelData and setDoublePixelData. Fixed: unsupported DataType when writing float image without rescale/slope. Fixed: reading pixel data with bitsStored <=8 and bitsAllocated = 16. Fixed: now accept undefined length for VR UN. Updated: example classes Display.java (display DICOM only, read overlays), Dump.java (comments), Gateway.java (removed removeUnwritableElements), Transcode.java (updated comments and overlay processing added), QuerySCP (removed removeUnwritableElements), StoreSCP (removed removeUnwritableElements). Updated: DICOM dictionary to 2018a.