public class FindSOPClassSCU extends SOPClass
This class implements the SCU role of C-FIND 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-FIND request, and releases the
association. Any identifiers received are handled by the supplied
IdentifierHandler
.
Debugging messages with a varying degree of verbosity can be activated by using SLF4J properties.
For example:
try { SpecificCharacterSet specificCharacterSet = new SpecificCharacterSet((String[])null); AttributeList identifier = new AttributeList(); { AttributeTag t = TagFromName.QueryRetrieveLevel; Attribute a = new CodeStringAttribute(t); a.addValue("STUDY"); identifier.put(t,a); } { AttributeTag t = TagFromName.PatientID; Attribute a = new LongStringAttribute(t,specificCharacterSet); a.addValue(""); identifier.put(t,a); } { AttributeTag t = TagFromName.StudyInstanceUID; Attribute a = new UniqueIdentifierAttribute(t); a.addValue(""); identifier.put(t,a); } new FindSOPClassSCU("theirhost","104","FINDSCP","FINDSCU",SOPClass.StudyRootQueryRetrieveInformationModelFind,identifier,new IdentifierHandler(),1); } catch (Exception e) { slf4jlogger.error("",e); }
IdentifierHandler
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 and Description |
---|
FindSOPClassSCU(Association association,
java.lang.String affectedSOPClass,
AttributeList identifier,
IdentifierHandler identifierHandler) |
FindSOPClassSCU(java.lang.String hostname,
int port,
java.lang.String calledAETitle,
java.lang.String callingAETitle,
java.lang.String affectedSOPClass,
AttributeList identifier,
IdentifierHandler identifierHandler) |
Modifier and Type | Method and Description |
---|---|
static Association |
getSuitableAssociation(java.lang.String hostname,
int port,
java.lang.String calledAETitle,
java.lang.String callingAETitle,
java.lang.String affectedSOPClass) |
static void |
main(java.lang.String[] arg)
For testing, establish an association to the specified AE and perform a study root query (send a C-FIND request),
for all studies.
|
void |
performFind(Association association,
java.lang.String affectedSOPClass,
AttributeList identifier) |
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
public FindSOPClassSCU(Association association, java.lang.String affectedSOPClass, AttributeList identifier, IdentifierHandler identifierHandler) throws DicomNetworkException, DicomException, java.io.IOException
association
- the already established Association to useaffectedSOPClass
- the SOP Class defining which query model, e.g. SOPClass.StudyRootQueryRetrieveInformationModelFind
identifier
- the list of matching and return keysidentifierHandler
- the handler to use for each returned identifierjava.io.IOException
DicomException
DicomNetworkException
public FindSOPClassSCU(java.lang.String hostname, int port, java.lang.String calledAETitle, java.lang.String callingAETitle, java.lang.String affectedSOPClass, AttributeList identifier, IdentifierHandler identifierHandler) throws DicomNetworkException, DicomException, java.io.IOException
hostname
- their hostname or IP addressport
- their portcalledAETitle
- their AE TitlecallingAETitle
- our AE TitleaffectedSOPClass
- the SOP Class defining which query model, e.g. SOPClass.StudyRootQueryRetrieveInformationModelFind
identifier
- the list of matching and return keysidentifierHandler
- the handler to use for each returned identifierjava.io.IOException
DicomException
DicomNetworkException
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
hostname
- their hostname or IP addressport
- their portcalledAETitle
- their AE TitlecallingAETitle
- our AE TitleaffectedSOPClass
- the SOP Class defining which query model, e.g. SOPClass.StudyRootQueryRetrieveInformationModelFind
java.io.IOException
DicomException
DicomNetworkException
public static void main(java.lang.String[] arg)
For testing, establish an association to the specified AE and perform a study root query (send a C-FIND request), for all studies.
arg
- array of four strings - their hostname, their port, their AE Title, our AE Titlepublic void performFind(Association association, java.lang.String affectedSOPClass, AttributeList identifier) throws DicomNetworkException, DicomException, java.io.IOException, AReleaseException
association
- the already established Association to useaffectedSOPClass
- the SOP Class defining which query model, e.g. SOPClass.StudyRootQueryRetrieveInformationModelFind
identifier
- the list of matching and return keysjava.io.IOException
DicomException
DicomNetworkException
AReleaseException