Package com.pixelmed.apps

## Class ProcessReceivedWholeSlideImagesMakeTiledPyramidAndSend

- java.lang.Object
- - com.pixelmed.apps.InstanceReceiver
  - - com.pixelmed.apps.ProcessReceivedWholeSlideImagesMakeTiledPyramidAndSend

-     public class ProcessReceivedWholeSlideImagesMakeTiledPyramidAndSend
      extends InstanceReceiver

  A class to wait for incoming composite instance storage operations and process any single high resolution tiled whole slide image as it is received to produce a multi-resolution pyramid set of images and send the original and the pyramid set of images to a pre-configured network remote Storage SCP AE.

  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

  `Application.PyramidImagesFolderName=.com.pixelmed.apps.ProcessReceivedWholeSlideImagesMakeTiledPyramidAndSend.pyramidimages` - where to store DICOM pyramid images created

  `Dicom.CurrentlySelectedStorageTargetAE=them` - the name of the selected remote AE listed amongst the Dicom.RemoteAEs

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected class` | `ProcessReceivedWholeSlideImagesMakeTiledPyramidAndSend.OurMultipleInstanceTransferStatusHandlerWithFileName` |

    - ### Nested classes/interfaces inherited from class com.pixelmed.apps.InstanceReceiver

      `InstanceReceiver.OurReadTerminationStrategy, InstanceReceiver.OurReceivedObjectHandler, InstanceReceiver.ReceivedFileProcessor`

  - ### Field Summary

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `protected java.lang.String` | `defaultDicomCurrentlySelectedStorageTargetAE` |
    `protected java.lang.String` | `defaultPyramidImagesFolderName` |
    `protected java.lang.String` | `ourCallingAETitle` |
    `protected static java.lang.String` | `propertyName_DicomCurrentlySelectedStorageTargetAE` |
    `protected static java.lang.String` | `propertyName_PyramidImagesFolderName` |
    `protected java.io.File` | `pyramidImagesFolder` |
    `protected java.lang.String` | `remoteAETitle` |
    `protected java.lang.String` | `remoteHost` |
    `protected int` | `remotePort` |

    - ### Fields inherited from class com.pixelmed.apps.InstanceReceiver

      `defaultPropertiesFileName, defaultSavedImagesFolderName, networkApplicationInformation, networkApplicationProperties, ourCalledAETitle, properties, propertyName_SavedImagesFolderName, savedImagesFolder, storedFilePathStrategy, terminateAfterRelationshipGroup`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ProcessReceivedWholeSlideImagesMakeTiledPyramidAndSend​(java.lang.String propertiesFileName)` | Wait for incoming composite instance storage operations and process any single high resolution tiled whole slide image as it is received to produce a multi-resolution pyramid set of images and send the original and the pyramid set of images to a pre-configured network remote Storage SCP AE.

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `protected void` | `doSomethingWithReceivedDicomFile​(java.lang.String receivedFileName, java.lang.String sourceApplicationEntityTitle, java.lang.String transferSyntaxUID, java.lang.String sopClassUID)` | Process any single high resolution tiled whole slide image received to produce a multi-resolution pyramid set of images.
    `static void` | `main​(java.lang.String[] arg)` | Wait for incoming composite instance storage operations and process any single high resolution tiled whole slide image as it is received to produce a multi-resolution pyramid set of images and send the original and the pyramid set of images to a pre-configured network remote Storage SCP AE.

    - ### Methods inherited from class com.pixelmed.apps.InstanceReceiver

      `activateStorageSCP, getFolderNameCreatingItIfNecessary, loadProperties, shutdownStorageSCP`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### propertyName_PyramidImagesFolderName

          protected static java.lang.String propertyName_PyramidImagesFolderName

    - #### propertyName_DicomCurrentlySelectedStorageTargetAE

          protected static java.lang.String propertyName_DicomCurrentlySelectedStorageTargetAE

    - #### defaultPyramidImagesFolderName

          protected java.lang.String defaultPyramidImagesFolderName

    - #### defaultDicomCurrentlySelectedStorageTargetAE

          protected java.lang.String defaultDicomCurrentlySelectedStorageTargetAE

    - #### pyramidImagesFolder

          protected java.io.File pyramidImagesFolder

    - #### ourCallingAETitle

          protected java.lang.String ourCallingAETitle

    - #### remoteAETitle

          protected java.lang.String remoteAETitle

    - #### remoteHost

          protected java.lang.String remoteHost

    - #### remotePort

          protected int remotePort

  - ### Constructor Detail

    - #### ProcessReceivedWholeSlideImagesMakeTiledPyramidAndSend

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

      Wait for incoming composite instance storage operations and process any single high resolution tiled whole slide image as it is received to produce a multi-resolution pyramid set of images and send the original and the pyramid set of images to a pre-configured network remote Storage SCP AE.

      Parameters:
        `propertiesFileName` -
      Throws:
        `DicomException`
        `DicomNetworkException`
        `java.io.IOException`
        `java.lang.InterruptedException`

  - ### Method Detail

    - #### doSomethingWithReceivedDicomFile

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

      Process any single high resolution tiled whole slide image received to produce a multi-resolution pyramid set of images.

      Overrides:
        `doSomethingWithReceivedDicomFile` in class `InstanceReceiver`
      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

    - #### main

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

      Wait for incoming composite instance storage operations and process any single high resolution tiled whole slide image as it is received to produce a multi-resolution pyramid set of images and send the original and the pyramid set of images to a pre-configured network remote Storage SCP AE.

      Parameters:
        `arg` - none