Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

Description

Compression Service. The Compression Service supports delayed, lossless compression of received images. This is an alternative to immediately compressing images when received. (The lossless compression rules are configured by the CompressionRules Storage SCP#CompressionRules attribute in the StorageSCP Storage SCP service.) The value of the MaxConcurrentCodec attribute in attributes #MaxConcurrentCodec, #MaxBufferedImagePoolSize and #MaxBufferedImagePoolMemoryattribute of the Compression Service also effects the on-the-fly compression and decompression during the receive and retrieve of images by the StorageSCP and QueryRetrieveSCP Storage SCP and Query Retrieve SCP services. (For details, see the MaxConcurrentCodec attribute these attributes below.) Also see the CODECs page in the dcm4che14 documentation.

Dependencies

Image Added

Attributes

MaxConcurrentCodec
Anchor
MaxConcurrentCodec
MaxConcurrentCodec

Maximum number of concurrent tasks for compressing and decompressing images. When With the default value is of MaxConcurrentCodec is #MaxConcurrentCodec = 1, all compression and decompression operations are serialized. For example, if on-the-fly compression during an image receive is activated, and three modalities concurrently send uncompressed images to the archive, only one image received from one modality is compressed at the same time. This significantly reduces the receiving performance. The used codec allocates memory for uncompressed pixel data of at least one frame, so without limiting the maximum number of concurrent compression tasks, memory consumption could become unacceptable. You will receive an out of memory error if the memory consumption exceeds the configured -Xmx value in the dcm4chee$DCM4CHEE_homeHOME/bin/run.conf file).

Default Value: 1

MaxConcurrentCompression
Anchor
MaxConcurrentCompression
MaxConcurrentCompression

Maximum number of concurrent tasks for compressing images. With the default value of #MaxConcurrentCompression = 1, all compression operations are serialized.

Default Value: 1

MaxConcurrentDecompression
Anchor
MaxConcurrentDecompression
MaxConcurrentDecompression

Maximum number of concurrent tasks for decompressing images. With the default value of #MaxConcurrentDecompression = 1, all decompression operations are serialized.

Default Value: 1

MaxBufferedImagePoolSize
Anchor
MaxBufferedImagePoolSize
MaxBufferedImagePoolSize

Maximum number of pooled BufferedImage objects. If #MaxBufferedImagePoolSize > 0, BufferedImage objects allocated for compression and decompression operations are pooled so they can be reused by subsequent compression and decompression operations with matching pixel matrix dimensions. The pool size is additional limited by #MaxBufferedImagePoolMemory, the maximum amount of memory allocated by pooled BufferedImage objects.

Default Value: 10

CurrentBufferedImagePoolSize
Anchor
CurrentBufferedImagePoolSize
CurrentBufferedImagePoolSize

Current number of pooled BufferedImage objects.

MaxBufferedImagePoolMemory
Anchor
MaxBufferedImagePoolMemory
MaxBufferedImagePoolMemory

Maximum amount of memory allocated by pooled BufferedImage objects. 1MB = 1000000 bytes. If #MaxBufferedImagePoolSize > 0, BufferedImage objects allocated for compression and decompression operations are pooled so they can be reused by subsequent compression and decompression operations with matching pixel matrix dimensions. The pool size is additional limited by #MaxBufferedImagePoolSize, the maximum number of pooled BufferedImage objects.

Default Value: 1MB

CurrentBufferedImagePoolMemory
Anchor
CurrentBufferedImagePoolMemory
CurrentBufferedImagePoolMemory

Current amount of memory allocated by pooled BufferedImage objects. 1MB = 1000000 bytes.

BufferedImagePoolHitRate
Anchor
BufferedImagePoolHitRate
BufferedImagePoolHitRate

Ratio of the number of BufferedImage objects reused from the pool to the total number of used (= reused or new allocated) BufferedImage objects.

TaskInterval
Anchor
TaskInterval
TaskInterval

Interval in which the database is checked for images to compress. Format:

  • interval!from-to or NEVER
    • interval = ##s (in seconds), ##m (in minutes), ##h (in hours).
    • from = start hour (0-23) when no compression should be performed to = end hour (0-23) when no compression should be performed
    • NEVER = disable automatic compression
  • Example: 10s!9-17means every 10 seconds, poll the database and check for images to compress, except between the hours of 9:00am and 5:00pm. By setting this type of TaskInterval, you can ensure compression of images happens outside of peak imaging hours.

Default Value: NEVER

LimitNumberOfFilesPerTask
Anchor
LimitNumberOfFilesPerTask
LimitNumberOfFilesPerTask

Maximum number of files that are compressed in one task.

Default Value: 1000

CompressionRules
Anchor
CompressionRules
CompressionRules

Specifies compression rules and delay for individual SOP Classes. Format:

  • sop-class-name-or-uid:compression:delay** sop-class-name-or-uid = the UID of the SOP class, or a string name defined in the dictionary.xml file under uids type="SOPClass"
    • compression = JPLL|JLSL|J2KR
    • JPLL -JPEG lossless
    • JLSL - JPEG-LS lossless
    • J2KR - JPEG 2000 lossless
    • delay = ##d (in days)
  • Example:
    • ComputedRadiographyImageStorage:JLSL:5d means for the Computed Radiography Image Storage SOP class, compress with JPEG-LS lossless compression every 5 days.

Default Value:

No Format

ComputedRadiographyImageStorage:JLSL:5d
DigitalXRayImageStorageForPresentation:JLSL:5d
DigitalXRayImageStorageForProcessing:JLSL:5d
DigitalMammographyXRayImageStorageForPresentation:JLSL:5d
DigitalMammographyXRayImageStorageForProcessing:JLSL:5d
CTImageStorage:JLSL:5d
MRImageStorage:JLSL:5d
UltrasoundImageStorage:JLSL:5d
UltrasoundMultiframeImageStorage:JLSL:5d
UltrasoundImageStorageRetired:JLSL:5d
UltrasoundMultiframeImageStorageRetired:JLSL:5d
SecondaryCaptureImageStorage:JLSL:5d
XRayAngiographicImageStorage:JLSL:5d
XRayRadiofluoroscopicImageStorage:JLSL:5d
NuclearMedicineImageStorage:JLSL:5d

VerifyCompression
Anchor
VerifyCompression
VerifyCompression

Enables the verification of the compressed file.

Default Value: true

TempDirectory
Anchor
TempDirectory
TempDirectory

Directory used to spool decompressed files for compression verification. Relative path names are resolved relative to dcm4chee$DCM4CHEE_homeHOME/server/default/.

Default Value: tmp

KeepTempFileIfVerificationFails
Anchor
KeepTempFileIfVerificationFails
KeepTempFileIfVerificationFails

Defines how long files that were decompressed for verification remain for further analysis before being deleted, if the decompressed pixel data differs from the pixel data in the original file. Normally, this value is set higher when adding a new modality, for example, so that you can do quality checking, or if the site only checks for problems once a day. Otherwise, the value can be set relatively low, such as 1 hour or 1 minute.

Format:

  • ##m (in minutes), ##h (in hours), ##d (in days)

Default Value: 1d

BufferSize
Anchor
BufferSize
BufferSize

Size of write byte buffer.

Default Value: 8192

FileSystemMgtName
Anchor
FileSystemMgtName
FileSystemMgtName

Used internally. Do NOT modify.

Default Value: dcm4chee.archive:service=FileSystemMgt

SchedulerServiceName
Anchor
SchedulerServiceName
SchedulerServiceName

Used internally. Do not NOT modify.

BufferSize

Size of write byte buffer.

Default Value: dcm4chee.archive:service=Scheduler

TimerIDCheckFilesToCompress
Anchor
TimerIDCheckFilesToCompress
TimerIDCheckFilesToCompress

Used internally. Do NOT modify.

Default Value: CheckFilesToCompress

Name

The class name of the MBean

...

The detyped lifecycle operation (for internal use only)

resetBufferedImagePoolHitRate

Reset #BufferedImagePoolHitRate.

checkForTempFilesToDelete

...

Compress specified object if it is uncompressed and if there
is a Compression Rule for its SOP Class UID configured

...