Package com.pixelmed.network

## Class VerificationSOPClassSCU

- java.lang.Object
- - com.pixelmed.dicom.SOPClass
  - - com.pixelmed.network.VerificationSOPClassSCU

-     public class VerificationSOPClassSCU
      extends SOPClass

  This class implements the SCU role of the Verification SOP Class.

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

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

  For example:

      try {
          new VerificationSOPClassSCU("theirhost","104","ECHOSCP","ECHOSCU",0);
      }
      catch (Exception e) {
          slf4jlogger.error("",e);
      }

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class | Description
    --- | --- | ---
    `protected class` | `VerificationSOPClassSCU.CEchoResponseHandler` |

  - ### Field Summary

    - ### Fields inherited from class com.pixelmed.dicom.SOPClass

      `AcquisitionContextSRStorage, AdvancedBlendingPresentationStateStorage, AmbulatoryECGStorage, arrayOfQuerySOPClasses, arrayOfRetrieveWithGetSOPClasses, arrayOfRetrieveWithMoveSOPClasses, arrayOfStorageSOPClasses, ArterialPulseWaveformStorage, AudioSRStorageTrialRetired, AutorefractionMeasurementsStorage, BasicStructuredDisplayStorage, BasicTextSRStorage, BasicVoiceStorage, BlendingSoftcopyPresentationStateStorage, BodyPositionWaveformStorage, BreastProjectionXRayImageStorageForPresentation, BreastProjectionXRayImageStorageForProcessing, BreastTomosynthesisImageStorage, CardiacElectrophysiologyWaveformStorage, CArmPhotonElectronRadiationRecordStorage, CArmPhotonElectronRadiationStorage, ChestCADSRStorage, ColonCADSRStorage, ColorPaletteInformationModelFind, ColorPaletteInformationModelGet, ColorPaletteInformationModelMove, ColorPaletteStorage, ColorSoftcopyPresentationStateStorage, CompositingPlanarMPRVolumetricPresentationStateStorage, Comprehensive3DSRStorage, ComprehensiveSRStorage, ComprehensiveSRStorageTrialRetired, ComputedRadiographyImageStorage, CornealTopographyMapStorage, CTImageStorage, DeformableSpatialRegistrationStorage, DermoscopicPhotographyImageStorage, DetailSRStorageTrialRetired, DICONDEEddyCurrentImageStorage, DICONDEEddyCurrentMultiframeImageStorage, DICOS2DAITStorage, DICOS3DAITStorage, DICOSCTImageStorage, DICOSDigitalXRayImageStorageForPresentation, DICOSDigitalXRayImageStorageForProcessing, DICOSQuadrupoleResonanceStorage, DICOSThreatDetectionReportStorage, DigitalIntraoralXRayImageStorageForPresentation, DigitalIntraoralXRayImageStorageForProcessing, DigitalMammographyXRayImageStorageForPresentation, DigitalMammographyXRayImageStorageForProcessing, DigitalXRayImageStorageForPresentation, DigitalXRayImageStorageForProcessing, ElectromyogramWaveformStorage, ElectrooculogramWaveformStorage, EncapsulatedCDAStorage, EncapsulatedPDFStorage, EncapsulatedSTLStorage, EnhancedCTImageStorage, EnhancedMRColorImageStorage, EnhancedMRImageStorage, EnhancedPETImageStorage, EnhancedSRStorage, EnhancedUSVolumeStorage, EnhancedXAImageStorage, EnhancedXRFImageStorage, ExtensibleSRStorage, GeneralAudioWaveformStorage, GeneralECGStorage, GenericImplantTemplateStorage, GrayscalePlanarMPRVolumetricPresentationStateStorage, GrayscaleSoftcopyPresentationStateStorage, HemodynamicWaveformStorage, ImplantAssemblyTemplateStorage, ImplantationPlanSRStorage, ImplantTemplateGroupStorage, IntraocularLensCalculationsStorage, IVOCTImageStorageForPresentation, IVOCTImageStorageForProcessing, KeratometryMeasurementsStorage, KeyObjectSelectionDocumentStorage, LegacyConvertedEnhancedCTImageStorage, LegacyConvertedEnhancedMRImageStorage, LegacyConvertedEnhancedPETImageStorage, LensometryMeasurementsStorage, MacularGridThicknessAndVolumeReportStorage, MammographyCADSRStorage, MediaStorageDirectoryStorage, MRImageStorage, MRSpectroscopyStorage, MultichannelRespiratoryWaveformStorage, MultiframeGrayscaleByteSecondaryCaptureImageStorage, MultiframeGrayscaleWordSecondaryCaptureImageStorage, MultiframeSingleBitSecondaryCaptureImageStorage, MultiframeTrueColorSecondaryCaptureImageStorage, MultipleVolumeRenderingVolumetricPresentationStateStorage, NuclearMedicineImageStorage, NuclearMedicineImageStorageRetired, OphthalmicAxialMeasurementsStorage, OphthalmicOpticalCoherenceTomographyBscanVolumeAnalysisStorage, OphthalmicOpticalCoherenceTomographyEnFaceImageStorage, OphthalmicPhotography16BitImageStorage, OphthalmicPhotography8BitImageStorage, OphthalmicThicknessMapStorage, OphthalmicTomographyImageStorage, OphthalmicVisualFieldStaticPerimetryMeasurementsStorage, ParametricMapStorage, PatientRadiationDoseSRStorage, PatientRootQueryRetrieveInformationModelFind, PatientRootQueryRetrieveInformationModelGet, PatientRootQueryRetrieveInformationModelMove, PatientStudyOnlyQueryRetrieveInformationModelFind, PatientStudyOnlyQueryRetrieveInformationModelGet, PatientStudyOnlyQueryRetrieveInformationModelMove, PETImageStorage, PrivateAcusonStructuredReportDetailStorage, PrivateAgfaBasicAttributePresentationStateStorage, PrivateDcm4cheEncapsulatedDocumentStorage, PrivateDcm4cheUpgradedCTImageStorage, PrivateDcm4cheUpgradedMRImageStorage, PrivateDcm4cheUpgradedPETImageStorage, PrivateERADPracticeBuilderReportDictationStorage, PrivateERADPracticeBuilderReportTextStorage, PrivateFujiCRImageStorage, PrivateGE3DModelStorage, PrivateGECollageStorage, PrivateGEDicomCTImageInfoObject, PrivateGEDicomDisplayImageInfoObject, PrivateGEDicomMRImageInfoObject, PrivateGEeNTEGRAProtocolOrNMGenieStorage, PrivateGEPETRawDataStorage, PrivateGERTPlanStorage, PrivateMedicalInsight3DSoftcopyPresentationStateStorage, PrivatePhilips3DObject2Storage, PrivatePhilips3DObjectStorage, PrivatePhilips3DPresentationStateStorage, PrivatePhilipsCompositeObjectStorage, PrivatePhilipsCTSyntheticImageStorage, PrivatePhilipsCXImageStorage, PrivatePhilipsCXSyntheticImageStorage, PrivatePhilipsHPLive3D01Storage, PrivatePhilipsHPLive3D02Storage, PrivatePhilipsLiveRunStorage, PrivatePhilipsMRCardio2Storage, PrivatePhilipsMRCardioAnalysis2Storage, PrivatePhilipsMRCardioAnalysisStorage, PrivatePhilipsMRCardioProfileStorage, PrivatePhilipsMRCardioStorage, PrivatePhilipsMRColorImageStorage, PrivatePhilipsMRExamcardStorage, PrivatePhilipsMRSeriesDataStorage, PrivatePhilipsMRSpectrumStorage, PrivatePhilipsMRSyntheticImageStorage, PrivatePhilipsPerfusionImageStorage, PrivatePhilipsPerfusionStorage, PrivatePhilipsReconstructionStorage, PrivatePhilipsRunStorage, PrivatePhilipsSpecialisedXAStorage, PrivatePhilipsSurface2Storage, PrivatePhilipsSurfaceStorage, PrivatePhilipsVolume2Storage, PrivatePhilipsVolumeSetStorage, PrivatePhilipsVolumeStorage, PrivatePhilipsVRMLStorage, PrivatePhilipsXRayMFStorage, PrivatePixelMedFloatingPointImageStorage, PrivatePixelMedLegacyConvertedEnhancedCTImageStorage, PrivatePixelMedLegacyConvertedEnhancedMRImageStorage, PrivatePixelMedLegacyConvertedEnhancedPETImageStorage, PrivatePMODMultiframeImageStorage, PrivateSiemensAXFrameSetsStorage, PrivateSiemensCSANonImageStorage, PrivateSiemensCTMRVolumeStorage, PrivateTomTecAnnotationStorage, PrivateToshibaUSImageStorage, ProcedureLogStorage, PseudoColorSoftcopyPresentationStateStorage, RadiopharmaceuticalRadiationDoseSRStorage, RawDataStorage, RealWorldValueMappingStorage, RespiratoryWaveformStorage, RoboticArmRadiationStorage, RoboticRadiationRecordStorage, RoutineScalpElectroencephalogramWaveformStorage, RTBeamsDeliveryInstructionStorage, RTBeamsDeliveryInstructionStorageTrial, RTBeamsTreatmentRecordStorage, RTBrachyTreatmentRecordStorage, RTDoseStorage, RTImageStorage, RTIonBeamsTreatmentRecordStorage, RTIonPlanStorage, RTPhysicianIntentStorage, RTPlanStorage, RTRadiationRecordSetStorage, RTRadiationSalvageRecordStorage, RTRadiationSetStorage, RTSegmentAnnotationStorage, RTStructureSetStorage, RTTreatmentSummaryRecordStorage, SecondaryCaptureImageStorage, SegmentationStorage, SegmentedVolumeRenderingVolumetricPresentationStateStorage, SimplifiedAdultEchoSRStorage, SleepElectroencephalogramWaveformStorage, SpatialFiducialsStorage, SpatialRegistrationStorage, SpectaclePrescriptionReportStorage, StandaloneCurveStorage, StandaloneModalityLUTStorage, StandaloneOverlayStorage, StandalonePETCurveStorage, StandaloneVOILUTStorage, StereometricRelationshipStorage, StudyRootQueryRetrieveInformationModelFind, StudyRootQueryRetrieveInformationModelGet, StudyRootQueryRetrieveInformationModelMove, SubjectiveRefractionMeasurementsStorage, SurfaceScanMeshStorage, SurfaceScanPointCloudStorage, SurfaceSegmentationStorage, TextSRStorageTrialRetired, TomotherapeuticRadiationRecordStorage, TomotherapeuticRadiationStorage, TractographyResultsStorage, TwelveLeadECGStorage, UltrasoundImageStorage, UltrasoundImageStorageRetired, UltrasoundMultiframeImageStorage, UltrasoundMultiframeImageStorageRetired, Verification, VideoEndoscopicImageStorage, VideoMicroscopicImageStorage, VideoPhotographicImageStorage, VisibleLightDraftImageStorage, VisibleLightEndoscopicImageStorage, VisibleLightMicroscopicImageStorage, VisibleLightMultiFrameDraftImageStorage, VisibleLightPhotographicImageStorage, VisibleLightSlideCoordinatesMicroscopicImageStorage, VisualAcuityMeasurementsStorage, VLWholeSlideMicroscopyImageStorage, VolumeRenderingVolumetricPresentationStateStorage, WideFieldOphthalmicPhotography3DCoordinatesImageStorage, WideFieldOphthalmicPhotographyStereographicProjectionImageStorage, XAXRFGrayscaleSoftcopyPresentationStateStorage, XRay3DAngiographicImageStorage, XRay3DCraniofacialImageStorage, XRayAngiographicBiplaneImageStorage, XRayAngiographicImageStorage, XRayRadiationDoseSRStorage, XRayRadioFlouroscopicImageStorage`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `VerificationSOPClassSCU​(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, boolean secureTransport)` | Establish an association to the specified AE, perform verification (send a C-ECHO request), and release the association.
    `VerificationSOPClassSCU​(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, boolean secureTransport, int debugLevel)` | Establish an association to the specified AE, perform verification (send a C-ECHO request), and release the association.
    `VerificationSOPClassSCU​(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, boolean secureTransport, java.lang.String username, java.lang.String password)` | Establish an association to the specified AE, perform verification (send a C-ECHO request), and release the association.
    `VerificationSOPClassSCU​(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, boolean secureTransport, java.lang.String username, java.lang.String password, int debugLevel)` | Establish an association to the specified AE, perform verification (send a C-ECHO request), and release the association.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `main​(java.lang.String[] arg)` | For testing, establish an association to the specified AE and perform verification (send a C-ECHO request).

    - ### Methods inherited from class com.pixelmed.dicom.SOPClass

      `getPlausibleStandardSOPClassUIDsForModality, getSetOfStorageSOPClasses, isCompositeInstanceQuery, isCompositeInstanceRetrieve, isCompositeInstanceRetrieveWithGet, isCompositeInstanceRetrieveWithMove, isDICONDEImageStorage, isDICOSImageStorage, isDICOSNonImageStorage, isDirectory, isEncapsulatedDocument, isEnhancedMultiframeImageStorage, isEnhancedMultiframeImageWithPlanePositionOrientationAndMeasuresStorage, isImageStorage, isImageWithFrameOfReferenceStorage, isImageWithSynchronizationStorage, isKeyObjectSelectionDocument, isLegacyConvertedEnhancedImageStorage, isMiscellaneousCompositeNonImageStorage, isMiscellaneousNonCompositeStorage, isMultiframeImageStorage, 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, isTiledImageStorage, isTrialRetiredStructuredReport, isVerification, isWaveform`

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

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

- - ### Constructor Detail

    - #### VerificationSOPClassSCU

          public VerificationSOPClassSCU​(java.lang.String hostname,
                                         int port,
                                         java.lang.String calledAETitle,
                                         java.lang.String callingAETitle,
                                         boolean secureTransport,
                                         int debugLevel)
                                  throws DicomNetworkException,
                                         DicomException,
                                         java.io.IOException

      Establish an association to the specified AE, perform verification (send a C-ECHO request), and release the association.

      Parameters:
        `hostname` - their hostname or IP address
        `port` - their port
        `calledAETitle` - their AE Title
        `callingAETitle` - our AE Title
        `secureTransport` -
        `debugLevel` - ignored
      Throws:
        `java.io.IOException`
        `DicomException`
        `DicomNetworkException`

    - #### VerificationSOPClassSCU

          public VerificationSOPClassSCU​(java.lang.String hostname,
                                         int port,
                                         java.lang.String calledAETitle,
                                         java.lang.String callingAETitle,
                                         boolean secureTransport)
                                  throws DicomNetworkException,
                                         DicomException,
                                         java.io.IOException

      Establish an association to the specified AE, perform verification (send a C-ECHO request), and release the association.

      Parameters:
        `hostname` - their hostname or IP address
        `port` - their port
        `calledAETitle` - their AE Title
        `callingAETitle` - our AE Title
        `secureTransport` -
      Throws:
        `java.io.IOException`
        `DicomException`
        `DicomNetworkException`

    - #### VerificationSOPClassSCU

          public VerificationSOPClassSCU​(java.lang.String hostname,
                                         int port,
                                         java.lang.String calledAETitle,
                                         java.lang.String callingAETitle,
                                         boolean secureTransport,
                                         java.lang.String username,
                                         java.lang.String password,
                                         int debugLevel)
                                  throws DicomNetworkException,
                                         DicomException,
                                         java.io.IOException

      Establish an association to the specified AE, perform verification (send a C-ECHO request), and release the association.

      Successful connection, association negotiation and C-ECHO command succsess status is indicated by the lack of an exception.

      Parameters:
        `hostname` - their hostname or IP address
        `port` - their port
        `calledAETitle` - their AE Title
        `callingAETitle` - our AE Title
        `secureTransport` -
        `username` - may be null if no user identity
        `password` - may be null if no user identity or no password required
        `debugLevel` - ignored
      Throws:
        `java.io.IOException`
        `DicomException`
        `DicomNetworkException` - if the connection is refused, the association reqeust is reject, or the C-ECHO command reports other than a success status

    - #### VerificationSOPClassSCU

          public VerificationSOPClassSCU​(java.lang.String hostname,
                                         int port,
                                         java.lang.String calledAETitle,
                                         java.lang.String callingAETitle,
                                         boolean secureTransport,
                                         java.lang.String username,
                                         java.lang.String password)
                                  throws DicomNetworkException,
                                         DicomException,
                                         java.io.IOException

      Establish an association to the specified AE, perform verification (send a C-ECHO request), and release the association.

      Successful connection, association negotiation and C-ECHO command succsess status is indicated by the lack of an exception.

      Parameters:
        `hostname` - their hostname or IP address
        `port` - their port
        `calledAETitle` - their AE Title
        `callingAETitle` - our AE Title
        `secureTransport` -
        `username` - may be null if no user identity
        `password` - may be null if no user identity or no password required
      Throws:
        `java.io.IOException`
        `DicomException`
        `DicomNetworkException` - if the connection is refused, the association reqeust is reject, or the C-ECHO command reports other than a success status

  - ### Method Detail

    - #### main

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

      For testing, establish an association to the specified AE and perform verification (send a C-ECHO request).

      Parameters:
        `arg` - array of four to seven strings - their hostname, their port, their AE Title, our AE Title, and optionally a string flag valued SECURE or NONSECURE, an optional username and an optional password