Compression Service
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 Storage SCP#CompressionRules attribute in the Storage SCP service.) The value of the 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 Storage SCP and Query Retrieve SCP services. (For details, see the these attributes below.) Also see the CODECs page in the dcm4che14 documentation.
Dependencies
Attributes
MaxConcurrentCodec
Maximum number of concurrent tasks for compressing and decompressing images. With the default value of #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_HOME/bin/run.conf
file).
Default Value: 1
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
Maximum number of concurrent tasks for decompressing images. With the default value of #MaxConcurrentDecompression = 1, all decompression operations are serialized.
Default Value: 1
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
Current number of pooled BufferedImage
objects.
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
Current amount of memory allocated by pooled BufferedImage objects. 1MB = 1000000 bytes.
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
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-17
means 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
Maximum number of files that are compressed in one task.
Default Value: 1000
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:
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
Enables the verification of the compressed file.
Default Value: true
TempDirectory
Directory used to spool decompressed files for compression verification. Relative path names are resolved relative to $DCM4CHEE_HOME/server/default/
.
Default Value: tmp
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
Size of write byte buffer.
Default Value: 8192
FileSystemMgtName
Used internally. Do NOT modify.
Default Value: dcm4chee.archive:service=FileSystemMgt
SchedulerServiceName
Used internally. Do NOT modify.
Default Value: dcm4chee.archive:service=Scheduler
TimerIDCheckFilesToCompress
Used internally. Do NOT modify.
Default Value: CheckFilesToCompress
Name
The class name of the MBean
State
The status of the MBean
StateString
The status of the MBean in text form
Operations
create
Standard MBean lifecycle method
start
The start lifecycle operation
stop
The stop lifecycle operation
destroy
The destroy lifecycle operation
jbossInternalLifecycle
The detyped lifecycle operation (for internal use only)
resetBufferedImagePoolHitRate
Reset #BufferedImagePoolHitRate.
checkForTempFilesToDelete
Check for temporary image files to delete.
checkForFilesToCompress
Check for files to compress.
compress
Compress specified object if it is uncompressed and if there is a Compression Rule for its SOP Class UID configured