Class DICOM_Move

  • All Implemented Interfaces:
    java.lang.Runnable

    public class DICOM_Move
    extends java.lang.Object
    implements java.lang.Runnable
    This is the DICOM move class that defines functions to compose and send move requests to the server found in the .preferences file. It runs in a separate thread, so it has its own run method.
    This DICOM communication package was originally based on the Java Dicom Package, whose license is below:
     Java Dicom Package (com.zmed.dicom)
     
      Copyright (c) 1996-1997 Z Medical Imaging Systems, Inc.
     
      This software is provided, as is, for non-commercial educational
      purposes only.   Use or incorporation of this software or derivative
      works in commercial applications requires written consent from
      Z Medical Imaging Systems, Inc.
     
      Z MEDICAL IMAGING SYSTEMS MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT
      THE SUITABILITY OF THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING
      BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
      FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR CONFORMANCE TO ANY
      SPECIFICATION OR STANDARD.  Z MEDICAL IMAGING SYSTEMS SHALL NOT BE
      LIABLE FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING OR
      MODIFYING THIS SOFTWARE OR ITS DERIVATIVES.
     
      =============================================================================
     
      This software package is implemented similarly to the UC Davis public
      domain C++ DICOM implementation which contains the following copyright
      notice:
     
      Copyright (C) 1995, University of California, Davis
     
      THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND THE UNIVERSITY
      OF CALIFORNIA DOES NOT MAKE ANY WARRANTY ABOUT THE SOFTWARE, ITS
      PERFORMANCE, ITS MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
      USE, FREEDOM FROM ANY COMPUTER DISEASES OR ITS CONFORMITY TO ANY
      SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND PERFORMANCE OF
      THE SOFTWARE IS WITH THE USER.
     
      Copyright of the software and supporting documentation is
      owned by the University of California, and free access
      is hereby granted as a license to use this software, copy this
      software and prepare derivative works based upon this software.
      However, any distribution of this software source code or
      supporting documentation or derivative works (source code and
      supporting documentation) must include this copyright notice.
     
      The UC Davis C++ source code is publicly available from the following
      anonymous ftp site:
     
      ftp://imrad.ucdmc.ucdavis.edu/pub/dicom/UCDMC/
     
    Version:
    1.0
    Author:
    Sunita Munjal
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private DICOM_Object ddo
      DICOM data object.
      private byte[] localAppTitle
      Local application entity of the
      private int MSG_ID
      Unique message identifier for the C-MOVE request.
      private DICOM_PDUService pdu
      PDU service object.
    • Constructor Summary

      Constructors 
      Constructor Description
      DICOM_Move()
      Creates a new DICOM_Move object.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      DICOM_PDUService connectToServer​(java.lang.String AETitle)
      connects to server with the supplied Application entity title.
      int getMsgID()
      Accessor to get the message ID for the current message.
      void run()
      Runs this move request in a separate thread.
      void sendCancelRQ​(int msgID, DICOM_PDUService pdu)
      Sends a C-CANCEL-MOVE-RQ to the Service Class Provider; ie.
      void sendMoveRQ​(DICOM_PDUService pdu, DICOM_Object ddo, byte[] localAppTitle)
      Sends a move request.
      DICOM_Object setMoveImageData​(java.lang.String patientID, java.lang.String studyInstUID, java.lang.String seriesInstUID, java.lang.String sopInstUID)
      Sets up the data object (IOD) for a patient root image level C-Move request given patID, study instance UID, series instance UID, and SOP Instance UID.
      void setMoveParameters​(DICOM_PDUService pdu, DICOM_Object ddo, byte[] localAppTitle)
      Sets up the neccessary parameters for sending a move request.
      DICOM_Object setMovePatientData​(java.lang.String patientID)
      Sets up the data object (IOD) for a patient root patient level C-Move request given patID.
      DICOM_Object setMoveSeriesData​(java.lang.String patientID, java.lang.String studyInstUID, java.lang.String seriesInstUID)
      Set up the data object (IOD) for a patient root series level C-Move request given patID, study instance UID, and series instance UID.
      DICOM_Object setMoveStudyData​(java.lang.String patientID, java.lang.String studyInstUID)
      Sets up the data object (IOD) for a patient root study level C-Move request given patID and study instance UID.
      int setMsgID()
      Sets the msgID for the outgoing C-Move Request.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • localAppTitle

        private byte[] localAppTitle
        Local application entity of the
      • MSG_ID

        private int MSG_ID
        Unique message identifier for the C-MOVE request.
    • Constructor Detail

      • DICOM_Move

        public DICOM_Move()
        Creates a new DICOM_Move object.
    • Method Detail

      • connectToServer

        public DICOM_PDUService connectToServer​(java.lang.String AETitle)
        connects to server with the supplied Application entity title.
        Parameters:
        AETitle - application entity title for remote server
        Returns:
        pdu return instance of PDU_Service class which contains the remote system connect info.
      • getMsgID

        public int getMsgID()
        Accessor to get the message ID for the current message.
        Returns:
        msgID unique identifier for the current message
      • run

        public void run()
        Runs this move request in a separate thread. Calls sendMoveRQ.
        Specified by:
        run in interface java.lang.Runnable
      • sendCancelRQ

        public void sendCancelRQ​(int msgID,
                                 DICOM_PDUService pdu)
        Sends a C-CANCEL-MOVE-RQ to the Service Class Provider; ie. Image Archive
        Parameters:
        msgID - Unique identifier for the C-MOVE request to be cancelled
        pdu - Instance of PDU_Service containing remote connect info.
      • sendMoveRQ

        public void sendMoveRQ​(DICOM_PDUService pdu,
                               DICOM_Object ddo,
                               byte[] localAppTitle)
        Sends a move request.
        Parameters:
        pdu - Instance of PDU_Service containing remote connect info.
        ddo - Move request identifier
        localAppTitle - Local application entity title
      • setMoveImageData

        public DICOM_Object setMoveImageData​(java.lang.String patientID,
                                             java.lang.String studyInstUID,
                                             java.lang.String seriesInstUID,
                                             java.lang.String sopInstUID)
        Sets up the data object (IOD) for a patient root image level C-Move request given patID, study instance UID, series instance UID, and SOP Instance UID.
        Parameters:
        patientID - key attribute for image level move request
        studyInstUID - key attribute for image level move request
        seriesInstUID - key attribute for image level move request
        sopInstUID - key attribute for image level move request
        Returns:
        return patient root image level move data object
      • setMoveParameters

        public void setMoveParameters​(DICOM_PDUService pdu,
                                      DICOM_Object ddo,
                                      byte[] localAppTitle)
        Sets up the neccessary parameters for sending a move request. Must be called before the thread is started.
        Parameters:
        pdu - Instance of PDU_Service containing remote connect info.
        ddo - Move request identifier
        appTitle - Local application entity title
      • setMovePatientData

        public DICOM_Object setMovePatientData​(java.lang.String patientID)
        Sets up the data object (IOD) for a patient root patient level C-Move request given patID.
        Parameters:
        patientID - key attribute for patient level move request
        Returns:
        return patient root patient level move data object
      • setMoveSeriesData

        public DICOM_Object setMoveSeriesData​(java.lang.String patientID,
                                              java.lang.String studyInstUID,
                                              java.lang.String seriesInstUID)
        Set up the data object (IOD) for a patient root series level C-Move request given patID, study instance UID, and series instance UID.
        Parameters:
        patientID - key attribute for series level move request
        studyInstUID - key attribute for series level move request
        seriesInstUID - key attribute for series level move request
        Returns:
        return patient root series level move data object
      • setMoveStudyData

        public DICOM_Object setMoveStudyData​(java.lang.String patientID,
                                             java.lang.String studyInstUID)
        Sets up the data object (IOD) for a patient root study level C-Move request given patID and study instance UID.
        Parameters:
        patientID - key attribute for study level move request
        studyInstUID - key attribute for study level move request
        Returns:
        return patient root study level move data object
      • setMsgID

        public int setMsgID()
        Sets the msgID for the outgoing C-Move Request.
        Returns:
        returns the unique message ID