Class InstanceReceiver

  • Direct Known Subclasses:
    ProcessReceivedWholeSlideImagesMakeTiledPyramidAndSend

    public class InstanceReceiver
    extends java.lang.Object

    A class to wait for incoming composite instance storage operations and process each instance as it is received.

    The doSomethingWithReceivedDicomFile() method may be implemented in a sub-class to actually do something more useful than just storing the files.

    It is configured by use of a properties file that resides in the user's home directory in .com.pixelmed.apps.ProcessReceivedWholeSlideImagesMakeTiledPyramidAndSend.properties. The properties allow control over the user interface elements that are displayed and record the settings changed by the user when the application closes.

    For a description of the network configuration properties, see NetworkApplicationProperties.

    The properties that are specific to the application, and their default values, are as follows

    Application.SavedImagesFolderName=.com.pixelmed.apps.InstanceReceiver.receivedinstances - where to store DICOM instances received

    • Field Detail

      • defaultPropertiesFileName

        protected static java.lang.String defaultPropertiesFileName
      • propertyName_SavedImagesFolderName

        protected static java.lang.String propertyName_SavedImagesFolderName
      • defaultSavedImagesFolderName

        protected java.lang.String defaultSavedImagesFolderName
      • properties

        protected java.util.Properties properties
      • ourCalledAETitle

        protected java.lang.String ourCalledAETitle
      • savedImagesFolder

        protected java.io.File savedImagesFolder
    • Constructor Detail

      • InstanceReceiver

        public InstanceReceiver​(java.lang.String propertiesFileName)
                         throws DicomException,
                                DicomNetworkException,
                                java.io.IOException,
                                java.lang.InterruptedException

        Wait for incoming composite instance storage operations and process each instance as it is received.

        Parameters:
        propertiesFileName -
        Throws:
        DicomException
        DicomNetworkException
        java.io.IOException
        java.lang.InterruptedException
    • Method Detail

      • loadProperties

        protected void loadProperties​(java.lang.String propertiesFileName)
                               throws java.io.IOException

        Load properties.

        Throws:
        java.io.IOException - thrown if properties file is missing
      • doSomethingWithReceivedDicomFile

        protected void doSomethingWithReceivedDicomFile​(java.lang.String receivedFileName,
                                                        java.lang.String sourceApplicationEntityTitle,
                                                        java.lang.String transferSyntaxUID,
                                                        java.lang.String sopClassUID)

        Do something with the received DICOM file.

        This method may be implemented in a sub-class to do something useful even if it is only logging to the user interface.

        The default method does nothing.

        This method is called on the ReceivedFileProcessor thread.

        This method does not define any exceptions and hence must handle any errors locally.

        Parameters:
        receivedFileName - the path name to a DICOM file
        sourceApplicationEntityTitle - the Application Entity from which the file was received
        transferSyntaxUID - the Transfer Syntax of the Data Set in the DICOM file
        sopClassUID - the SOP Class of the Data Set in the DICOM file
      • getFolderNameCreatingItIfNecessary

        protected static java.io.File getFolderNameCreatingItIfNecessary​(java.lang.String folderName)
                                                                  throws java.io.IOException

        Return the folder, creating it if necessary.

        If not an absolute path, will be sought or created relative to the current user's home directory.

        Returns:
        the folder
        Throws:
        java.io.IOException
      • activateStorageSCP

        public void activateStorageSCP()
                                throws DicomException,
                                       java.io.IOException

        Start or restart DICOM storage listener.

        Shuts down existing listener, if any, so may be used to restart after configuration change.

        Throws:
        DicomException
        java.io.IOException
      • shutdownStorageSCP

        public void shutdownStorageSCP()

        Shutdown DICOM storage listener.

      • main

        public static void main​(java.lang.String[] arg)

        Wait for incoming composite instance storage operations and process each instance as it is received.

        Parameters:
        arg - none