Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

The Compression Service supports delayed (asynchronous to the C-STORE), lossless compression of images that have been received.  The original file is deleted after it has been compressed into a new file.

<!-- Attributes -->
   <attribute access="read-write" getMethod="getMaxConcurrentCodec" setMethod="setMaxConcurrentCodec">
      <description><![CDATA[Maximum number of concurrent tasks for compressing and decompressing images.
      When the default value is of MaxConcurrentCodec is 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 <i>archive-install-directory</i>/bin/run.conf file).]]></description>
      <name>MaxConcurrentCodec</name>
      <type>int</type>
      <descriptors>
         <value value="1"/>
      </descriptors>
   </attribute>
  
   <attribute access="read-write" getMethod="getTaskInterval" setMethod="setTaskInterval">
      <description><![CDATA[Interval in which the database is checked for images to compress.
          <br>Format:
             <br><i>interval</i>!<i>from</i>-<i>to</i> or NEVER
          <br><i>interval</i> = ##s (in seconds), ##m (in minutes), ##h (in hours).
          <br><i>from</i> = start hour (0-23) when no compression should be performed <br><i>to</i> = end hour (0-23) when no compression should be performed
          <br>NEVER = disable automatic compression <br>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.]]></description>
      <name>TaskInterval</name>
      <type>java.lang.String</type>
      <descriptors>
         <value value="NEVER"/>
      </descriptors>
   </attribute>


   <attribute access="read-write" getMethod="getLimitNumberOfFilesPerTask" setMethod="setLimitNumberOfFilesPerTask">
      <description>Maximum number of files that are compressed in one task.</description>
      <name>LimitNumberOfFilesPerTask</name>
      <type>int</type>
      <descriptors>
         <value value="1000"/>
      </descriptors>
   </attribute>
  
   <attribute access="read-write" getMethod="getCompressionRules" setMethod="setCompressionRules">
      <description><![CDATA[Specifies compression rules and delay for individual SOP Classes.
          <br>Format:
            <br><i>sop-class-name-or-uid</i>:<i>compression</i>:<i>delay</i><br><i>sop-class-name-or-uid</i> = the UID of the SOP class, or a string name defined in the dictionary.xml file under uids type="SOPClass"
          <br><i>compression</i> = JPLL|JLSL|J2KR
        <br>JPLL -JPEG lossless
        <br>JLSL - JPEG-LS lossless
        <br>J2KR - JPEG 2000 lossless
        <br><i>delay</i> = ##d (in days) <br>Example:<br>ComputedRadiographyImageStorage:JLSL:5d means for the Computed Radiography Image Storage SOP class, compress with JPEG-LS lossless compression every 5 days.
      ]]>
      </description>
      <name>CompressionRules</name>
      <type>java.lang.String</type>
      <descriptors>
         <value 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"/>
      </descriptors>
   </attribute>

   <attribute access="read-write" getMethod="isVerifyCompression" setMethod="setVerifyCompression">
      <description>Enables the verification of the compressed file.
      </description>
      <name>VerifyCompression</name>
      <type>boolean</type>
      <descriptors>
         <value value="true"/>
      </descriptors>
   </attribute>

   <attribute access="read-write" getMethod="getTempDir" setMethod="setTempDir">
      <description><![CDATA[Directory used to spool decompressed files for
      compression verification. Relative path names are resolved relative to
      <i>archive-install-directory</i>/server/default/.]]>
      </description>
      <name>TempDirectory</name>
      <type>java.lang.String</type>
      <descriptors>
         <value value="tmp"/>
      </descriptors>
   </attribute>
   <attribute access="read-write" getMethod="getKeepTempFileIfVerificationFails" setMethod="setKeepTempFileIfVerificationFails">
      <description><![CDATA[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.
      <br>Format: <br>##m (in minutes), ##h (in hours), ##d (in days)]]>
      </description>
      <name>KeepTempFileIfVerificationFails</name>
      <type>java.lang.String</type>
      <descriptors>
         <value value="1d"/>
      </descriptors>
   </attribute>
   <attribute access="read-write" getMethod="getFileSystemMgtName" setMethod="setFileSystemMgtName">
      <description>Used internally. Do not modify.
      </description>
      <name>FileSystemMgtName</name>
      <type>javax.management.ObjectName</type>
      <descriptors>
         <value value="dcm4chee.archive:service=FileSystemMgt"/>
      </descriptors>
   </attribute>
   <attribute access="read-write"
      getMethod="getBufferSize"
      setMethod="setBufferSize">
      <description>Size of write byte buffer.
      </description>
      <name>BufferSize</name>
      <type>int</type>
      <descriptors>
         <value value="8192"/>
      </descriptors>
   </attribute>


   &defaultAttributes;

   <!-- Operations -->
   &defaultOperations;
   <operation impact="ACTION">
      <description>Check for temporary image files to delete.</description>
      <name>checkForTempFilesToDelete</name>
      <return-type>void</return-type>
   </operation>
   <operation impact="ACTION">
      <description>Check for files to compress.</description>
      <name>checkForFilesToCompress</name>
      <return-type>void</return-type>
   </operation>
   <operation impact="ACTION">
      <description>Compress specified object if it is uncompressed and if there
        is a Compression Rule for its SOP Class UID configured</description>
      <name>compress</name>
      <parameter>
        <name>fileDTO</name>
        <type>org.dcm4chex.archive.ejb.interfaces.FileDTO</type>
      </parameter>
      <return-type>boolean</return-type>
   </operation>
  • No labels