com.pixelmed.network
Class StorageSOPClassSCUPerformanceTest

java.lang.Object
  extended by com.pixelmed.dicom.SOPClass
      extended by com.pixelmed.network.StorageSOPClassSCU
          extended by com.pixelmed.network.StorageSOPClassSCUPerformanceTest

public class StorageSOPClassSCUPerformanceTest
extends StorageSOPClassSCU

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 StorageSOPClassSCUPerformanceTest("theirhost","104","STORESCP","STORESCU","/tmp/testfile.dcm",0,0);
}
catch (Exception e) {
    e.printStackTrace(System.err);
}
 


Nested Class Summary
 
Nested classes/interfaces inherited from class com.pixelmed.network.StorageSOPClassSCU
StorageSOPClassSCU.CStoreResponseHandler
 
Field Summary
 
Fields inherited from class com.pixelmed.network.StorageSOPClassSCU
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
StorageSOPClassSCUPerformanceTest(String hostname, int port, String calledAETitle, String callingAETitle, int ourMaximumLengthReceived, int socketReceiveBufferSize, int socketSendBufferSize, int repeatCount, int assocnCount, int syntaxCount, int contextCount, int debugLevel, String[] fileNames)
          Repeatedly establish an association to the specified AE, send the instance contained in the file the number of times specified, and release the association.
 
Method Summary
static void main(String[] arg)
          For testing, establish an association to the specified AE and repeatedly C-STORE the same instance.
 
Methods inherited from class com.pixelmed.network.StorageSOPClassSCU
encounteredTrappedExceptions, sendMultipleSOPInstances, sendMultipleSOPInstances, sendOneSOPInstance, sendOneSOPInstance, sendOneSOPInstance
 
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
 

Constructor Detail

StorageSOPClassSCUPerformanceTest

public StorageSOPClassSCUPerformanceTest(String hostname,
                                         int port,
                                         String calledAETitle,
                                         String callingAETitle,
                                         int ourMaximumLengthReceived,
                                         int socketReceiveBufferSize,
                                         int socketSendBufferSize,
                                         int repeatCount,
                                         int assocnCount,
                                         int syntaxCount,
                                         int contextCount,
                                         int debugLevel,
                                         String[] fileNames)
                                  throws DicomNetworkException,
                                         DicomException,
                                         IOException

Repeatedly establish an association to the specified AE, send the instance contained in the file the number of times specified, and release the association.

Parameters:
hostname - their hostname or IP address
port - their port
calledAETitle - their AE Title
callingAETitle - our AE Title
ourMaximumLengthReceived - the maximum PDU length that we will offer to receive
socketReceiveBufferSize - the TCP socket receive buffer size to set (if possible), 0 means leave at the default
socketSendBufferSize - the TCP socket send buffer size to set (if possible), 0 means leave at the default
repeatCount - the number of times to repeat sending the file on the same association
assocnCount - the number of times to repeat establishing the association and sending the file
syntaxCount - the number of transfer syntaxes to propose for each additional presentation context at each association establishment
contextCount - the number of additional presentation contexts to propose at each association establishment
debugLevel - zero for no debugging messages, higher values more verbose messages
fileNames - the names of the file containing the data set to send
Throws:
IOException
DicomException
DicomNetworkException
Method Detail

main

public static void main(String[] arg)

For testing, establish an association to the specified AE and repeatedly C-STORE the same instance.

The total number of times the file is transmitted consists of the number of repetitions per association times the number of association repetitions.

Parameters:
arg - array of 13 values - their hostname, their port, their AE Title, our AE Title, the maximum PDU length that we will offer to receive, the TCP socket receive buffer size to set (if possible), 0 means leave at the default, the TCP socket send buffer size to set (if possible), 0 means leave at the default, the number of times to repeat transmission on the same (each) association, the number of times to repeat establishment of the association and sending the file, the number of transfer syntaxes to propose for each additional presentation context at each association establishment, the number of additional presentation contexts to propose at each association establishment, the debugging level, and the filenames containing the instances to send