Package com.pixelmed.network
Class MoveSOPClassSCU
- java.lang.Object
-
- com.pixelmed.dicom.SOPClass
-
- com.pixelmed.network.MoveSOPClassSCU
-
public class MoveSOPClassSCU extends SOPClass
This class implements the SCU role of C-MOVE SOP Classes.
The class has no methods other than the constructor (and a main method for testing). The constructor establishes an association, sends the C-MOVE request, and releases the association.
Debugging messages with a varying degree of verbosity can be activated.
For example, to have MOVESCU command MOVESCP to move a single image instance to STORESCP:
try { AttributeList identifier = new AttributeList(); { AttributeTag t = TagFromName.QueryRetrieveLevel; Attribute a = new CodeStringAttribute(t); a.addValue("IMAGE"); identifier.put(t,a); } { AttributeTag t = TagFromName.StudyInstanceUID; Attribute a = new UniqueIdentifierAttribute(t); a.addValue("1.3.6.1.4.1.5962.1.2.0.1064923879.2077.3232235877"); identifier.put(t,a); } { AttributeTag t = TagFromName.SeriesInstanceUID; Attribute a = new UniqueIdentifierAttribute(t); a.addValue("1.3.6.1.4.1.5962.1.3.0.0.1064923879.2077.3232235877"); identifier.put(t,a); } { AttributeTag t = TagFromName.SOPInstanceUID; Attribute a = new UniqueIdentifierAttribute(t); a.addValue("1.3.6.1.4.1.5962.1.1.0.0.0.1064923879.2077.3232235877"); identifier.put(t,a); } new MoveSOPClassSCU("theirhost","104","MOVESCP","MOVESCU","STORESCP",SOPClass.StudyRootQueryRetrieveInformationModelMove,identifier,0); } catch (Exception e) { slf4jlogger.error("",e); }
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
MoveSOPClassSCU.CMoveResponseHandler
-
Field Summary
Fields Modifier and Type Field Description protected MoveSOPClassSCU.CMoveResponseHandler
responseHandler
-
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 MoveSOPClassSCU(Association association, java.lang.String moveDestination, java.lang.String affectedSOPClass, AttributeList identifier)
MoveSOPClassSCU(Association association, java.lang.String moveDestination, java.lang.String affectedSOPClass, AttributeList identifier, int debugLevel)
MoveSOPClassSCU(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, java.lang.String moveDestination, java.lang.String affectedSOPClass, AttributeList identifier)
MoveSOPClassSCU(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, java.lang.String moveDestination, java.lang.String affectedSOPClass, AttributeList identifier, int debugLevel)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getStatus()
static Association
getSuitableAssociation(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, java.lang.String affectedSOPClass)
static Association
getSuitableAssociation(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, java.lang.String affectedSOPClass, int debugLevel)
static void
main(java.lang.String[] arg)
For testing, establish an association to the specified AE and perform a retrieval using a C-MOVE request.void
performMove(Association association, java.lang.String moveDestination, java.lang.String affectedSOPClass, AttributeList identifier)
-
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, selectModalityForSOPClass
-
-
-
-
Field Detail
-
responseHandler
protected MoveSOPClassSCU.CMoveResponseHandler responseHandler
-
-
Constructor Detail
-
MoveSOPClassSCU
public MoveSOPClassSCU(Association association, java.lang.String moveDestination, java.lang.String affectedSOPClass, AttributeList identifier, int debugLevel) throws DicomNetworkException, DicomException, java.io.IOException
- Parameters:
association
- the already established Association to usemoveDestination
- the AE Title of the Storage AE to which the instances are to be sentaffectedSOPClass
- the SOP Class defining which retrieve model, e.g.SOPClass.StudyRootQueryRetrieveInformationModelMove
identifier
- the list of unique keys and move leveldebugLevel
- ignored- Throws:
java.io.IOException
DicomException
DicomNetworkException
-
MoveSOPClassSCU
public MoveSOPClassSCU(Association association, java.lang.String moveDestination, java.lang.String affectedSOPClass, AttributeList identifier) throws DicomNetworkException, DicomException, java.io.IOException
- Parameters:
association
- the already established Association to usemoveDestination
- the AE Title of the Storage AE to which the instances are to be sentaffectedSOPClass
- the SOP Class defining which retrieve model, e.g.SOPClass.StudyRootQueryRetrieveInformationModelMove
identifier
- the list of unique keys and move level- Throws:
java.io.IOException
DicomException
DicomNetworkException
-
MoveSOPClassSCU
public MoveSOPClassSCU(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, java.lang.String moveDestination, java.lang.String affectedSOPClass, AttributeList identifier, int debugLevel) throws DicomNetworkException, DicomException, java.io.IOException
- Parameters:
hostname
- their hostname or IP addressport
- their portcalledAETitle
- their AE TitlecallingAETitle
- our AE TitlemoveDestination
- the AE Title of the Storage AE to which the instances are to be sentaffectedSOPClass
- the SOP Class defining which retrieve model, e.g.SOPClass.StudyRootQueryRetrieveInformationModelMove
identifier
- the list of unique keys and move leveldebugLevel
- ignored- Throws:
java.io.IOException
DicomException
DicomNetworkException
-
MoveSOPClassSCU
public MoveSOPClassSCU(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, java.lang.String moveDestination, java.lang.String affectedSOPClass, AttributeList identifier) throws DicomNetworkException, DicomException, java.io.IOException
- Parameters:
hostname
- their hostname or IP addressport
- their portcalledAETitle
- their AE TitlecallingAETitle
- our AE TitlemoveDestination
- the AE Title of the Storage AE to which the instances are to be sentaffectedSOPClass
- the SOP Class defining which retrieve model, e.g.SOPClass.StudyRootQueryRetrieveInformationModelMove
identifier
- the list of unique keys and move level- Throws:
java.io.IOException
DicomException
DicomNetworkException
-
-
Method Detail
-
getStatus
public int getStatus()
-
getSuitableAssociation
public static Association getSuitableAssociation(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, java.lang.String affectedSOPClass, int debugLevel) throws DicomNetworkException, DicomException, java.io.IOException
- Parameters:
hostname
- their hostname or IP addressport
- their portcalledAETitle
- their AE TitlecallingAETitle
- our AE TitleaffectedSOPClass
- the SOP Class defining which retrieve model, e.g.SOPClass.StudyRootQueryRetrieveInformationModelMove
debugLevel
- ignored- Throws:
java.io.IOException
DicomException
DicomNetworkException
-
getSuitableAssociation
public static Association getSuitableAssociation(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, java.lang.String affectedSOPClass) throws DicomNetworkException, DicomException, java.io.IOException
- Parameters:
hostname
- their hostname or IP addressport
- their portcalledAETitle
- their AE TitlecallingAETitle
- our AE TitleaffectedSOPClass
- the SOP Class defining which retrieve model, e.g.SOPClass.StudyRootQueryRetrieveInformationModelMove
- Throws:
java.io.IOException
DicomException
DicomNetworkException
-
performMove
public void performMove(Association association, java.lang.String moveDestination, java.lang.String affectedSOPClass, AttributeList identifier) throws DicomNetworkException, DicomException, java.io.IOException, AReleaseException
- Parameters:
association
- the already established Association to usemoveDestination
- the AE Title of the Storage AE to which the instances are to be sentaffectedSOPClass
- the SOP Class defining which retrieve model, e.g.SOPClass.StudyRootQueryRetrieveInformationModelMove
identifier
- the list of matching and return keys- Throws:
java.io.IOException
DicomException
DicomNetworkException
AReleaseException
-
main
public static void main(java.lang.String[] arg)
For testing, establish an association to the specified AE and perform a retrieval using a C-MOVE request.
- Parameters:
arg
- array of seven, eight or nine strings - their hostname, their port, their AE Title, our AE Title, the destination AE, the move level (STUDY, SERIES or IMAGE), then the Study Instance UID, optionally the Series Instance UID (if SERIES) and optionally the SOP Instance UID (if IMAGE)
-
-