CompressionRules attribute in the StorageSCP 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 StorageSCP and QueryRetrieveSCP services. (For details, see the these attributes below.) ]]> org.dcm4chex.archive.mbean.CompressionService The default constructor CompressionService 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 $ABPACS_HOME/bin/run.conf file). ]]> MaxConcurrentCodec int MaxConcurrentCompression = 1, all compression operations are serialized. ]]> MaxConcurrentCompression int MaxConcurrentDecompression = 1, all decompression operations are serialized. ]]> MaxConcurrentDecompression int TaskInterval. Separate multiple values by comma (','). ]]> FileSystemGroupIDs java.lang.String 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. ]]> MaxBufferedImagePoolSize int Current number of pooled BufferedImage objects. CurrentBufferedImagePoolSize int 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. ]]> MaxBufferedImagePoolMemory java.lang.String Current amount of memory allocated by pooled BufferedImage objects. 1MB = 1000000 bytes. CurrentBufferedImagePoolMemory java.lang.String Ratio of the number of BufferedImage objects reused from the pool to the total number of used (= reused or new allocated) BufferedImage objects. BufferedImagePoolHitRate float FileSystemGroupIDs 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.]]>
TaskInterval java.lang.String
Current state if compression task is running. Used to avoid concurrency! isRunning boolean Maximum number of files that are compressed in one task. LimitNumberOfFilesPerTask int 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 compress Computed Radiography Images with JPEG-LS lossless compression after 5 days. ]]>
CompressionRules java.lang.String
Enables the verification of the compressed file. VerifyCompression boolean TempDirectory java.lang.String Format:
##m (in minutes), ##h (in hours), ##d (in days)]]>
KeepTempFileIfVerificationFails java.lang.String
TempFileCleanupInterval java.lang.String Size of write byte buffer. BufferSize int Used internally. Do NOT modify. SchedulerServiceName javax.management.ObjectName Used internally. Do NOT modify. TimerIDCheckFilesToCompress java.lang.String &defaultAttributes; &defaultOperations; BufferedImagePoolHitRate.]]> resetBufferedImagePoolHitRate void Check for temporary image files to delete. checkForTempFilesToDelete void Check for files to compress. checkForFilesToCompress void Compress specified object if it is uncompressed and if there is a Compression Rule for its SOP Class UID configured compress fileDTO org.dcm4chex.archive.ejb.interfaces.FileDTO boolean