Package gov.nih.mipav.model.dicomcomm
Class DICOM_Move
- java.lang.Object
-
- gov.nih.mipav.model.dicomcomm.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 theprivate 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.
-
-
-
Field Detail
-
localAppTitle
private byte[] localAppTitle
Local application entity of the
-
ddo
private DICOM_Object ddo
DICOM data object.
-
MSG_ID
private int MSG_ID
Unique message identifier for the C-MOVE request.
-
pdu
private DICOM_PDUService pdu
PDU service 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 interfacejava.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 cancelledpdu
- 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 identifierlocalAppTitle
- 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 requeststudyInstUID
- key attribute for image level move requestseriesInstUID
- key attribute for image level move requestsopInstUID
- 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 identifierappTitle
- 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 requeststudyInstUID
- key attribute for series level move requestseriesInstUID
- 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 requeststudyInstUID
- 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
-
-