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