com.pixelmed.network
Class StorageSOPClassSCU

java.lang.Object
  extended by com.pixelmed.dicom.SOPClass
      extended by com.pixelmed.network.StorageSOPClassSCU
Direct Known Subclasses:
StorageSOPClassSCUPerformanceTest, TestSendingCommandAndDataInOnePDU

public class StorageSOPClassSCU
extends SOPClass

This class implements the SCU role of SOP Classes of the Storage Service Class.

The class has no methods other than the constructor (and a main method for testing). The constructor establishes an association, sends the C-STORE request, and releases the association.

Debugging messages with a varying degree of verbosity can be activated.

For example:

try {
    new StorageSOPClassSCU("theirhost",11112,"STORESCP","STORESCU","/tmp/testfile.dcm","1.2.840.10008.5.1.4.1.1.7","1.3.6.1.4.1.5962.1.1.0.0.0.1064923879.2077.3232235877",0,0);
}
catch (Exception e) {
    e.printStackTrace(System.err);
}
 

From the command line, sending multiple files:

find /tmp -name '*.dcm' | java -cp pixelmed.jar:lib/additional/commons-codec-1.3.jar:lib/additional/excalibur-bzip2-1.0.jar com.pixelmed.network.StorageSOPClassSCU theirhost 11112 STORESCP STORESCU -  0 0
 


Nested Class Summary
protected  class StorageSOPClassSCU.CStoreResponseHandler
           
 
Field Summary
protected  int debugLevel
           
protected  boolean trappedExceptions
           
 
Fields inherited from class com.pixelmed.dicom.SOPClass
AmbulatoryECGStorage, arrayOfQuerySOPClasses, arrayOfRetrieveWithGetSOPClasses, arrayOfRetrieveWithMoveSOPClasses, arrayOfStorageSOPClasses, ArterialPulseWaveformStorage, AutorefractionMeasurementsStorage, BasicStructuredDisplayStorage, BasicTextSRStorage, BasicVoiceStorage, BlendingSoftcopyPresentationStateStorage, BreastTomosynthesisImageStorage, CardiacElectrophysiologyWaveformStorage, ChestCADSRStorage, ColonCADSRStorage, ColorPaletteInformationModelFind, ColorPaletteInformationModelGet, ColorPaletteInformationModelMove, ColorPaletteStorage, ColorSoftcopyPresentationStateStorage, Comprehensive3DSRStorage, ComprehensiveSRStorage, ComputedRadiographyImageStorage, CTImageStorage, DeformableSpatialRegistrationStorage, DICOS2DAITStorage, DICOS3DAITStorage, DICOSCTImageStorage, DICOSDigitalXRayImageStorageForPresentation, DICOSDigitalXRayImageStorageForProcessing, DICOSQuadrupoleResonanceStorage, DICOSThreatDetectionReportStorage, DigitalIntraoralXRayImageStorageForPresentation, DigitalIntraoralXRayImageStorageForProcessing, DigitalMammographyXRayImageStorageForPresentation, DigitalMammographyXRayImageStorageForProcessing, DigitalXRayImageStorageForPresentation, DigitalXRayImageStorageForProcessing, EncapsulatedCDAStorage, EncapsulatedPDFStorage, EnhancedCTImageStorage, EnhancedMRColorImageStorage, EnhancedMRImageStorage, EnhancedPETImageStorage, EnhancedSRStorage, EnhancedUSVolumeStorage, EnhancedXAImageStorage, EnhancedXRFImageStorage, GeneralAudioWaveformStorage, GeneralECGStorage, GenericImplantTemplateStorage, GrayscaleSoftcopyPresentationStateStorage, HemodynamicWaveformStorage, ImplantAssemblyTemplateStorage, ImplantationPlanSRStorage, ImplantTemplateGroupStorage, IntraocularLensCalculationsStorage, IVOCTImageStorageForPresentation, IVOCTImageStorageForProcessing, KeratometryMeasurementsStorage, KeyObjectSelectionDocumentStorage, LensometryMeasurementsStorage, MacularGridThicknessAndVolumeReportStorage, MammographyCADSRStorage, MediaStorageDirectoryStorage, MRImageStorage, MRSpectroscopyStorage, MultiframeGrayscaleByteSecondaryCaptureImageStorage, MultiframeGrayscaleWordSecondaryCaptureImageStorage, MultiframeSingleBitSecondaryCaptureImageStorage, MultiframeTrueColorSecondaryCaptureImageStorage, NuclearMedicineImageStorage, NuclearMedicineImageStorageRetired, OphthalmicAxialMeasurementsStorage, OphthalmicPhotography16BitImageStorage, OphthalmicPhotography8BitImageStorage, OphthalmicThicknessMapStorage, OphthalmicTomographyImageStorage, OphthalmicVisualFieldStaticPerimetryMeasurementsStorage, PatientRootQueryRetrieveInformationModelFind, PatientRootQueryRetrieveInformationModelGet, PatientRootQueryRetrieveInformationModelMove, PatientStudyOnlyQueryRetrieveInformationModelFind, PatientStudyOnlyQueryRetrieveInformationModelGet, PatientStudyOnlyQueryRetrieveInformationModelMove, PETImageStorage, PrivateFujiCRImageStorage, PrivateGE3DModelStorage, PrivateGECollageStorage, PrivateGEeNTEGRAProtocolOrNMGenieStorage, PrivateGEPETRawDataStorage, PrivatePhilips3DObject2Storage, PrivatePhilips3DObjectStorage, PrivatePhilips3DPresentationStateStorage, PrivatePhilipsCompositeObjectStorage, PrivatePhilipsCTSyntheticImageStorage, PrivatePhilipsCXImageStorage, PrivatePhilipsCXSyntheticImageStorage, PrivatePhilipsLiveRunStorage, PrivatePhilipsMRCardio2Storage, PrivatePhilipsMRCardioAnalysis2Storage, PrivatePhilipsMRCardioAnalysisStorage, PrivatePhilipsMRCardioProfileStorage, PrivatePhilipsMRCardioStorage, PrivatePhilipsMRColorImageStorage, PrivatePhilipsMRExamcardStorage, PrivatePhilipsMRSeriesDataStorage, PrivatePhilipsMRSpectrumStorage, PrivatePhilipsMRSyntheticImageStorage, PrivatePhilipsPerfusionImageStorage, PrivatePhilipsPerfusionStorage, PrivatePhilipsPrivateXRayMFStorage, PrivatePhilipsReconstructionStorage, PrivatePhilipsRunStorage, PrivatePhilipsSpecialisedXAStorage, PrivatePhilipsSurface2Storage, PrivatePhilipsSurfaceStorage, PrivatePhilipsVolume2Storage, PrivatePhilipsVolumeSetStorage, PrivatePhilipsVolumeStorage, PrivatePhilipsVRMLStorage, PrivatePixelMedLegacyConvertedEnhancedCTImageStorage, PrivatePixelMedLegacyConvertedEnhancedMRImageStorage, PrivatePixelMedLegacyConvertedEnhancedPETImageStorage, PrivatePixelMedLegacyFloatingPointImageStorage, PrivatePMODMultiframeImageStorage, PrivateSiemensCSANonImageStorage, ProcedureLogStorage, PseudoColorSoftcopyPresentationStateStorage, RawDataStorage, RealWorldValueMappingStorage, RespiratoryWaveformStorage, RTBeamsDeliveryInstructionStorage, RTBeamsDeliveryInstructionStorageTrial, RTBeamsTreatmentRecordStorage, RTBrachyTreatmentRecordStorage, RTDoseStorage, RTImageStorage, RTIonBeamsTreatmentRecordStorage, RTIonPlanStorage, RTPlanStorage, RTStructureSetStorage, RTTreatmentSummaryRecordStorage, SecondaryCaptureImageStorage, SegmentationStorage, SpatialFiducialsStorage, SpatialRegistrationStorage, SpectaclePrescriptionReportStorage, StandaloneCurveStorage, StandaloneModalityLUTStorage, StandaloneOverlayStorage, StandalonePETCurveStorage, StandaloneVOILUTStorage, StereometricRelationshipStorage, StudyRootQueryRetrieveInformationModelFind, StudyRootQueryRetrieveInformationModelGet, StudyRootQueryRetrieveInformationModelMove, SubjectiveRefractionMeasurementsStorage, SurfaceScanMeshStorage, SurfaceScanPointCloudStorage, SurfaceSegmentationStorage, TwelveLeadECGStorage, UltrasoundImageStorage, UltrasoundImageStorageRetired, UltrasoundMultiframeImageStorage, UltrasoundMultiframeImageStorageRetired, Verification, VideoEndoscopicImageStorage, VideoMicroscopicImageStorage, VideoPhotographicImageStorage, VisibleLightDraftImageStorage, VisibleLightEndoscopicImageStorage, VisibleLightMicroscopicImageStorage, VisibleLightMultiFrameDraftImageStorage, VisibleLightPhotographicImageStorage, VisibleLightSlideCoordinatesMicroscopicImageStorage, VisualAcuityMeasurementsStorage, VLWholeSlideMicroscopyImageStorage, XAXRFGrayscaleSoftcopyPresentationStateStorage, XRay3DAngiographicImageStorage, XRay3DCraniofacialImageStorage, XRayAngiographicBiplaneImageStorage, XRayAngiographicImageStorage, XRayRadiationDoseSRStorage, XRayRadioFlouroscopicImageStorage
 
Constructor Summary
protected StorageSOPClassSCU()
          Dummy constructor allows testing subclasses to use different constructor.
  StorageSOPClassSCU(Association association, SetOfDicomFiles dicomFiles, MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler, int debugLevel)
          Send the specified instances contained in the files over an existing association.
  StorageSOPClassSCU(Association association, SetOfDicomFiles dicomFiles, MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler, String moveOriginatorApplicationEntityTitle, int moveOriginatorMessageID, int debugLevel)
          Send the specified instances contained in the files over an existing association.
  StorageSOPClassSCU(String hostname, int port, String calledAETitle, String callingAETitle, Set setOfSOPClassUIDs, AttributeList[] lists, int compressionLevel, MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler, String moveOriginatorApplicationEntityTitle, int moveOriginatorMessageID, int debugLevel)
          Establish an association to the specified AE, send the instances contained in the attribute lists, and release the association.
  StorageSOPClassSCU(String hostname, int port, String calledAETitle, String callingAETitle, SetOfDicomFiles dicomFiles, int compressionLevel, MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler, int debugLevel)
          Establish an association to the specified AE, send the instances contained in the files, and release the association.
  StorageSOPClassSCU(String hostname, int port, String calledAETitle, String callingAETitle, SetOfDicomFiles dicomFiles, int compressionLevel, MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler, String moveOriginatorApplicationEntityTitle, int moveOriginatorMessageID, int debugLevel)
          Establish an association to the specified AE, send the instances contained in the files, and release the association.
  StorageSOPClassSCU(String hostname, int port, String calledAETitle, String callingAETitle, String fileName, String affectedSOPClass, String affectedSOPInstance, int compressionLevel, int debugLevel)
          Establish an association to the specified AE, send the instance contained in the file, and release the association.
  StorageSOPClassSCU(String hostname, int port, String calledAETitle, String callingAETitle, String fileName, String affectedSOPClass, String affectedSOPInstance, int compressionLevel, String moveOriginatorApplicationEntityTitle, int moveOriginatorMessageID, int debugLevel)
          Establish an association to the specified AE, send the instance contained in the file, and release the association.
 
Method Summary
 boolean encounteredTrappedExceptions()
           
static void main(String[] arg)
          For testing, establish an association to the specified AE and send one or more DICOM instances (C-STORE requests).
protected  void sendMultipleSOPInstances(Association association, AttributeList[] lists, MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler, String moveOriginatorApplicationEntityTitle, int moveOriginatorMessageID)
          Send the specified instances contained in the attribute lists over an existing association.
protected  void sendMultipleSOPInstances(Association association, SetOfDicomFiles dicomFiles, MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler, String moveOriginatorApplicationEntityTitle, int moveOriginatorMessageID)
          Send the specified instances contained in the files over an existing association.
protected  boolean sendOneSOPInstance(Association association, String affectedSOPClass, String affectedSOPInstance, AttributeList list, byte presentationContextID, String outputTransferSyntaxUID, String moveOriginatorApplicationEntityTitle, int moveOriginatorMessageID)
           
protected  boolean sendOneSOPInstance(Association association, String affectedSOPClass, String affectedSOPInstance, String inputTransferSyntaxUID, DicomInputStream din, byte presentationContextID, String outputTransferSyntaxUID)
           
protected  boolean sendOneSOPInstance(Association association, String affectedSOPClass, String affectedSOPInstance, String inputTransferSyntaxUID, DicomInputStream din, byte presentationContextID, String outputTransferSyntaxUID, String moveOriginatorApplicationEntityTitle, int moveOriginatorMessageID)
           
 
Methods inherited from class com.pixelmed.dicom.SOPClass
getPlausibleStandardSOPClassUIDsForModality, getSetOfStorageSOPClasses, isCompositeInstanceQuery, isCompositeInstanceRetrieve, isCompositeInstanceRetrieveWithGet, isCompositeInstanceRetrieveWithMove, isDICOSImageStorage, isDICOSNonImageStorage, isDirectory, isEncapsulatedDocument, isEnhancedMultiframeImageStorage, isEnhancedMultiframeImageWithPlanePositionOrientationAndMeasuresStorage, isImageStorage, isKeyObjectSelectionDocument, isMiscellaneousCompositeNonImageStorage, isMiscellaneousNonCompositeStorage, isMultiframeSecondaryCaptureImageStorage, isNonImageStorage, isOphthalmicMeasurementStorage, isPatientRootCompositeInstanceQuery, isPatientRootCompositeInstanceRetrieve, isPatientRootCompositeInstanceRetrieveWithGet, isPatientRootCompositeInstanceRetrieveWithMove, isPatientStudyOnlyCompositeInstanceQuery, isPatientStudyOnlyCompositeInstanceRetrieve, isPatientStudyOnlyCompositeInstanceRetrieveWithGet, isPatientStudyOnlyCompositeInstanceRetrieveWithMove, isPresentationState, isPrivateImageStorage, isPrivateNonImageStorage, isRadiotherapy, isRawData, isSecondaryCaptureImageStorage, isSpectroscopy, isStandalone, isStandardImageStorage, isStorage, isStructuredReport, isStudyRootCompositeInstanceQuery, isStudyRootCompositeInstanceRetrieve, isStudyRootCompositeInstanceRetrieveWithGet, isStudyRootCompositeInstanceRetrieveWithMove, isVerification, isWaveform
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

debugLevel

protected int debugLevel

trappedExceptions

protected boolean trappedExceptions
Constructor Detail

StorageSOPClassSCU

protected StorageSOPClassSCU()
                      throws DicomNetworkException,
                             DicomException,
                             IOException

Dummy constructor allows testing subclasses to use different constructor.

Throws:
DicomNetworkException
DicomException
IOException

StorageSOPClassSCU

public StorageSOPClassSCU(String hostname,
                          int port,
                          String calledAETitle,
                          String callingAETitle,
                          String fileName,
                          String affectedSOPClass,
                          String affectedSOPInstance,
                          int compressionLevel,
                          int debugLevel)
                   throws DicomNetworkException,
                          DicomException,
                          IOException

Establish an association to the specified AE, send the instance contained in the file, and release the association.

Parameters:
hostname - their hostname or IP address
port - their port
calledAETitle - their AE Title
callingAETitle - our AE Title
fileName - the name of the file containing the data set to send
affectedSOPClass - must be the same as the SOP Class UID contained within the data set
affectedSOPInstance - must be the same as the SOP Instance UID contained within the data set
compressionLevel - 0=none,1=propose deflate,2=propose deflate and bzip2
debugLevel - zero for no debugging messages, higher values more verbose messages
Throws:
IOException
DicomException
DicomNetworkException

StorageSOPClassSCU

public StorageSOPClassSCU(String hostname,
                          int port,
                          String calledAETitle,
                          String callingAETitle,
                          String fileName,
                          String affectedSOPClass,
                          String affectedSOPInstance,
                          int compressionLevel,
                          String moveOriginatorApplicationEntityTitle,
                          int moveOriginatorMessageID,
                          int debugLevel)
                   throws DicomNetworkException,
                          DicomException,
                          IOException

Establish an association to the specified AE, send the instance contained in the file, and release the association.

Parameters:
hostname - their hostname or IP address
port - their port
calledAETitle - their AE Title
callingAETitle - our AE Title
fileName - the name of the file containing the data set to send
affectedSOPClass - must be the same as the SOP Class UID contained within the data set
affectedSOPInstance - must be the same as the SOP Instance UID contained within the data set
compressionLevel - 0=none,1=propose deflate,2=propose deflate and bzip2
moveOriginatorApplicationEntityTitle - the AET of the C-MOVE that originated this C-STORE, or null if none
moveOriginatorMessageID - the MessageID of the C-MOVE that originated this C-STORE, or -1 if none
debugLevel - zero for no debugging messages, higher values more verbose messages
Throws:
IOException
DicomException
DicomNetworkException

StorageSOPClassSCU

public StorageSOPClassSCU(Association association,
                          SetOfDicomFiles dicomFiles,
                          MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler,
                          int debugLevel)

Send the specified instances contained in the files over an existing association.

Parameters:
association - already existing association to SCP
dicomFiles - the set of DICOM files containing names, SOP Class UIDs, SOP Instance UIDs and optionally Transfer Syntaxes
debugLevel - zero for no debugging messages, higher values more verbose messages

StorageSOPClassSCU

public StorageSOPClassSCU(Association association,
                          SetOfDicomFiles dicomFiles,
                          MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler,
                          String moveOriginatorApplicationEntityTitle,
                          int moveOriginatorMessageID,
                          int debugLevel)

Send the specified instances contained in the files over an existing association.

Parameters:
association - already existing association to SCP
dicomFiles - the set of DICOM files containing names, SOP Class UIDs, SOP Instance UIDs and optionally Transfer Syntaxes
moveOriginatorApplicationEntityTitle - the AET of the C-MOVE that originated this C-STORE, or null if none
moveOriginatorMessageID - the MessageID of the C-MOVE that originated this C-STORE, or -1 if none
debugLevel - zero for no debugging messages, higher values more verbose messages

StorageSOPClassSCU

public StorageSOPClassSCU(String hostname,
                          int port,
                          String calledAETitle,
                          String callingAETitle,
                          SetOfDicomFiles dicomFiles,
                          int compressionLevel,
                          MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler,
                          int debugLevel)

Establish an association to the specified AE, send the instances contained in the files, and release the association.

Parameters:
hostname - their hostname or IP address
port - their port
calledAETitle - their AE Title
callingAETitle - our AE Title
dicomFiles - the set of DICOM files containing names, SOP Class UIDs, SOP Instance UIDs and optionally Transfer Syntaxes
compressionLevel - 0=none,1=propose deflate,2=propose deflate and bzip2
multipleInstanceTransferStatusHandler - transfer handler for reporting pending status (may be null if not required)
debugLevel - zero for no debugging messages, higher values more verbose messages

StorageSOPClassSCU

public StorageSOPClassSCU(String hostname,
                          int port,
                          String calledAETitle,
                          String callingAETitle,
                          SetOfDicomFiles dicomFiles,
                          int compressionLevel,
                          MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler,
                          String moveOriginatorApplicationEntityTitle,
                          int moveOriginatorMessageID,
                          int debugLevel)

Establish an association to the specified AE, send the instances contained in the files, and release the association.

Parameters:
hostname - their hostname or IP address
port - their port
calledAETitle - their AE Title
callingAETitle - our AE Title
dicomFiles - the set of DICOM files containing names, SOP Class UIDs, SOP Instance UIDs and optionally Transfer Syntaxes
compressionLevel - 0=none,1=propose deflate,2=propose deflate and bzip2
multipleInstanceTransferStatusHandler - transfer handler for reporting pending status (may be null if not required)
moveOriginatorApplicationEntityTitle - the AET of the C-MOVE that originated this C-STORE, or null if none
moveOriginatorMessageID - the MessageID of the C-MOVE that originated this C-STORE, or -1 if none
debugLevel - zero for no debugging messages, higher values more verbose messages

StorageSOPClassSCU

public StorageSOPClassSCU(String hostname,
                          int port,
                          String calledAETitle,
                          String callingAETitle,
                          Set setOfSOPClassUIDs,
                          AttributeList[] lists,
                          int compressionLevel,
                          MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler,
                          String moveOriginatorApplicationEntityTitle,
                          int moveOriginatorMessageID,
                          int debugLevel)

Establish an association to the specified AE, send the instances contained in the attribute lists, and release the association.

Parameters:
hostname - their hostname or IP address
port - their port
calledAETitle - their AE Title
callingAETitle - our AE Title
setOfSOPClassUIDs - the set of SOP Classes contained in the attribute lists
lists - the attribute lists to send
compressionLevel - 0=none,1=propose deflate,2=propose deflate and bzip2
multipleInstanceTransferStatusHandler - transfer handler for reporting pending status (may be null if not required)
moveOriginatorApplicationEntityTitle - the AET of the C-MOVE that originated this C-STORE, or null if none
moveOriginatorMessageID - the MessageID of the C-MOVE that originated this C-STORE, or -1 if none
debugLevel - zero for no debugging messages, higher values more verbose messages
Method Detail

encounteredTrappedExceptions

public boolean encounteredTrappedExceptions()
Returns:
true if in multiple instance constructors exceptions were trapped, e.g., connection or association failure before transfers attempyed

sendOneSOPInstance

protected boolean sendOneSOPInstance(Association association,
                                     String affectedSOPClass,
                                     String affectedSOPInstance,
                                     String inputTransferSyntaxUID,
                                     DicomInputStream din,
                                     byte presentationContextID,
                                     String outputTransferSyntaxUID)
                              throws AReleaseException,
                                     DicomNetworkException,
                                     DicomException,
                                     IOException
Parameters:
association -
affectedSOPClass -
affectedSOPInstance -
inputTransferSyntaxUID -
din -
presentationContextID -
outputTransferSyntaxUID -
Throws:
IOException
DicomException
DicomNetworkException
AReleaseException

sendOneSOPInstance

protected boolean sendOneSOPInstance(Association association,
                                     String affectedSOPClass,
                                     String affectedSOPInstance,
                                     String inputTransferSyntaxUID,
                                     DicomInputStream din,
                                     byte presentationContextID,
                                     String outputTransferSyntaxUID,
                                     String moveOriginatorApplicationEntityTitle,
                                     int moveOriginatorMessageID)
                              throws AReleaseException,
                                     DicomNetworkException,
                                     DicomException,
                                     IOException
Parameters:
association -
affectedSOPClass -
affectedSOPInstance -
inputTransferSyntaxUID -
din -
presentationContextID -
outputTransferSyntaxUID -
moveOriginatorApplicationEntityTitle - the AET of the C-MOVE that originated this C-STORE, or null if none
moveOriginatorMessageID - the MessageID of the C-MOVE that originated this C-STORE, or -1 if none
Throws:
IOException
DicomException
DicomNetworkException
AReleaseException

sendOneSOPInstance

protected boolean sendOneSOPInstance(Association association,
                                     String affectedSOPClass,
                                     String affectedSOPInstance,
                                     AttributeList list,
                                     byte presentationContextID,
                                     String outputTransferSyntaxUID,
                                     String moveOriginatorApplicationEntityTitle,
                                     int moveOriginatorMessageID)
                              throws AReleaseException,
                                     DicomNetworkException,
                                     DicomException,
                                     IOException
Parameters:
association -
affectedSOPClass -
affectedSOPInstance -
list -
presentationContextID -
outputTransferSyntaxUID -
moveOriginatorApplicationEntityTitle - the AET of the C-MOVE that originated this C-STORE, or null if none
moveOriginatorMessageID - the MessageID of the C-MOVE that originated this C-STORE, or -1 if none
Throws:
IOException
DicomException
DicomNetworkException
AReleaseException

sendMultipleSOPInstances

protected void sendMultipleSOPInstances(Association association,
                                        SetOfDicomFiles dicomFiles,
                                        MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler,
                                        String moveOriginatorApplicationEntityTitle,
                                        int moveOriginatorMessageID)
                                 throws AReleaseException,
                                        DicomNetworkException,
                                        IOException

Send the specified instances contained in the files over an existing association.

Parameters:
association - already existing association to SCP
dicomFiles - the set of DICOM files containing names, SOP Class UIDs, SOP Instance UIDs and optionally Transfer Syntaxes
multipleInstanceTransferStatusHandler - handler called after each transfer (may be null if not required)
moveOriginatorApplicationEntityTitle - the AET of the C-MOVE that originated this C-STORE, or null if none
moveOriginatorMessageID - the MessageID of the C-MOVE that originated this C-STORE, or -1 if none
Throws:
AReleaseException
DicomNetworkException
IOException

sendMultipleSOPInstances

protected void sendMultipleSOPInstances(Association association,
                                        AttributeList[] lists,
                                        MultipleInstanceTransferStatusHandler multipleInstanceTransferStatusHandler,
                                        String moveOriginatorApplicationEntityTitle,
                                        int moveOriginatorMessageID)
                                 throws AReleaseException,
                                        DicomNetworkException,
                                        IOException

Send the specified instances contained in the attribute lists over an existing association.

Parameters:
association - already existing association to SCP
lists - the array of attribute lists to send
multipleInstanceTransferStatusHandler - handler called after each transfer (may be null if not required)
moveOriginatorApplicationEntityTitle - the AET of the C-MOVE that originated this C-STORE, or null if none
moveOriginatorMessageID - the MessageID of the C-MOVE that originated this C-STORE, or -1 if none
Throws:
AReleaseException
DicomNetworkException
IOException

main

public static void main(String[] arg)

For testing, establish an association to the specified AE and send one or more DICOM instances (C-STORE requests).

Parameters:
arg - array of seven or nine strings - their hostname, their port, their AE Title, our AE Title, the filename containing the instance to send (or a hyphen '-' if a list of one or more filenames is to be read from stdin) optionally the SOP Class and the SOP Instance (otherwise will be read from the file(s); if multiple files use an empty string for the SOP Instance), the compression level (0=none,1=propose deflate,2=propose deflate and bzip2) and the debugging level