001package org.dcm4che3.net; 002 003import org.dcm4che3.data.UID; 004 005import java.util.EnumSet; 006 007/** 008 * @author Roman K 009 */ 010public class DefaultTransferCapabilities { 011 public static final String[] IMAGE_TSUIDS = { 012 UID.ImplicitVRLittleEndian, 013 UID.ExplicitVRLittleEndian, 014 UID.DeflatedExplicitVRLittleEndian, 015 UID.ExplicitVRBigEndianRetired, 016 UID.JPEGBaseline1, 017 UID.JPEGExtended24, 018 UID.JPEGLossless, 019 UID.JPEGLosslessNonHierarchical14, 020 UID.JPEGLSLossless, 021 UID.JPEGLSLossyNearLossless, 022 UID.JPEG2000LosslessOnly, 023 UID.JPEG2000, 024 UID.RLELossless 025 }; 026 public static final String[] VIDEO_TSUIDS = { 027 UID.JPEGBaseline1, 028 UID.MPEG2, 029 UID.MPEG2MainProfileHighLevel, 030 UID.MPEG4AVCH264BDCompatibleHighProfileLevel41, 031 UID.MPEG4AVCH264HighProfileLevel41 032 }; 033 public static final String[] OTHER_TSUIDS = { 034 UID.ImplicitVRLittleEndian, 035 UID.ExplicitVRLittleEndian, 036 UID.DeflatedExplicitVRLittleEndian, 037 UID.ExplicitVRBigEndianRetired, 038 }; 039 public static final String[] IMAGE_CUIDS = { 040 UID.ComputedRadiographyImageStorage, 041 UID.DigitalXRayImageStorageForPresentation, 042 UID.DigitalXRayImageStorageForProcessing, 043 UID.DigitalMammographyXRayImageStorageForPresentation, 044 UID.DigitalMammographyXRayImageStorageForProcessing, 045 UID.DigitalIntraOralXRayImageStorageForPresentation, 046 UID.DigitalIntraOralXRayImageStorageForProcessing, 047 UID.CTImageStorage, 048 UID.EnhancedCTImageStorage, 049 UID.UltrasoundMultiFrameImageStorageRetired, 050 UID.UltrasoundMultiFrameImageStorage, 051 UID.MRImageStorage, 052 UID.EnhancedMRImageStorage, 053 UID.EnhancedMRColorImageStorage, 054 UID.NuclearMedicineImageStorageRetired, 055 UID.UltrasoundImageStorageRetired, 056 UID.UltrasoundImageStorage, 057 UID.EnhancedUSVolumeStorage, 058 UID.SecondaryCaptureImageStorage, 059 UID.MultiFrameGrayscaleByteSecondaryCaptureImageStorage, 060 UID.MultiFrameGrayscaleWordSecondaryCaptureImageStorage, 061 UID.MultiFrameTrueColorSecondaryCaptureImageStorage, 062 UID.XRayAngiographicImageStorage, 063 UID.EnhancedXAImageStorage, 064 UID.XRayRadiofluoroscopicImageStorage, 065 UID.EnhancedXRFImageStorage, 066 UID.XRayAngiographicBiPlaneImageStorageRetired, 067 UID.XRay3DAngiographicImageStorage, 068 UID.XRay3DCraniofacialImageStorage, 069 UID.BreastTomosynthesisImageStorage, 070 UID.IntravascularOpticalCoherenceTomographyImageStorageForPresentation, 071 UID.IntravascularOpticalCoherenceTomographyImageStorageForProcessing, 072 UID.NuclearMedicineImageStorage, 073 UID.VLEndoscopicImageStorage, 074 UID.VLMicroscopicImageStorage, 075 UID.VLSlideCoordinatesMicroscopicImageStorage, 076 UID.VLPhotographicImageStorage, 077 UID.OphthalmicPhotography8BitImageStorage, 078 UID.OphthalmicPhotography16BitImageStorage, 079 UID.OphthalmicTomographyImageStorage, 080 UID.VLWholeSlideMicroscopyImageStorage, 081 UID.PositronEmissionTomographyImageStorage, 082 UID.EnhancedPETImageStorage, 083 UID.RTImageStorage, 084 }; 085 public static final String[] VIDEO_CUIDS = { 086 UID.VideoEndoscopicImageStorage, 087 UID.VideoMicroscopicImageStorage, 088 UID.VideoPhotographicImageStorage, 089 }; 090 public static final String[] OTHER_CUIDS = { 091 UID.MRSpectroscopyStorage, 092 UID.MultiFrameSingleBitSecondaryCaptureImageStorage, 093 UID.StandaloneOverlayStorageRetired, 094 UID.StandaloneCurveStorageRetired, 095 UID.TwelveLeadECGWaveformStorage, 096 UID.GeneralECGWaveformStorage, 097 UID.AmbulatoryECGWaveformStorage, 098 UID.HemodynamicWaveformStorage, 099 UID.CardiacElectrophysiologyWaveformStorage, 100 UID.BasicVoiceAudioWaveformStorage, 101 UID.GeneralAudioWaveformStorage, 102 UID.ArterialPulseWaveformStorage, 103 UID.RespiratoryWaveformStorage, 104 UID.StandaloneModalityLUTStorageRetired, 105 UID.StandaloneVOILUTStorageRetired, 106 UID.GrayscaleSoftcopyPresentationStateStorage, 107 UID.ColorSoftcopyPresentationStateStorage, 108 UID.PseudoColorSoftcopyPresentationStateStorage, 109 UID.BlendingSoftcopyPresentationStateStorage, 110 UID.XAXRFGrayscaleSoftcopyPresentationStateStorage, 111 UID.RawDataStorage, 112 UID.SpatialRegistrationStorage, 113 UID.SpatialFiducialsStorage, 114 UID.DeformableSpatialRegistrationStorage, 115 UID.SegmentationStorage, 116 UID.SurfaceSegmentationStorage, 117 UID.RealWorldValueMappingStorage, 118 UID.StereometricRelationshipStorage, 119 UID.LensometryMeasurementsStorage, 120 UID.AutorefractionMeasurementsStorage, 121 UID.KeratometryMeasurementsStorage, 122 UID.SubjectiveRefractionMeasurementsStorage, 123 UID.VisualAcuityMeasurementsStorage, 124 UID.SpectaclePrescriptionReportStorage, 125 UID.OphthalmicAxialMeasurementsStorage, 126 UID.IntraocularLensCalculationsStorage, 127 UID.MacularGridThicknessAndVolumeReportStorage, 128 UID.OphthalmicVisualFieldStaticPerimetryMeasurementsStorage, 129 UID.BasicStructuredDisplayStorage, 130 UID.BasicTextSRStorage, 131 UID.EnhancedSRStorage, 132 UID.ComprehensiveSRStorage, 133 UID.ProcedureLogStorage, 134 UID.MammographyCADSRStorage, 135 UID.KeyObjectSelectionDocumentStorage, 136 UID.ChestCADSRStorage, 137 UID.XRayRadiationDoseSRStorage, 138 UID.ColonCADSRStorage, 139 UID.ImplantationPlanSRStorage, 140 UID.EncapsulatedPDFStorage, 141 UID.EncapsulatedCDAStorage, 142 UID.StandalonePETCurveStorageRetired, 143 UID.RTDoseStorage, 144 UID.RTStructureSetStorage, 145 UID.RTBeamsTreatmentRecordStorage, 146 UID.RTPlanStorage, 147 UID.RTBrachyTreatmentRecordStorage, 148 UID.RTTreatmentSummaryRecordStorage, 149 UID.RTIonPlanStorage, 150 UID.RTIonBeamsTreatmentRecordStorage, 151 }; 152 153 public static final String[] QUERY_CUIDS = { 154 UID.PatientRootQueryRetrieveInformationModelFIND, 155 UID.StudyRootQueryRetrieveInformationModelFIND, 156 UID.PatientStudyOnlyQueryRetrieveInformationModelFINDRetired 157 //UID.ModalityWorklistInformationModelFIND - handled separately 158 }; 159 160 public static final String[] RETRIEVE_CUIDS = { 161 UID.PatientRootQueryRetrieveInformationModelGET, 162 UID.PatientRootQueryRetrieveInformationModelMOVE, 163 UID.StudyRootQueryRetrieveInformationModelGET, 164 UID.StudyRootQueryRetrieveInformationModelMOVE, 165 UID.PatientStudyOnlyQueryRetrieveInformationModelGETRetired, 166 UID.PatientStudyOnlyQueryRetrieveInformationModelMOVERetired 167 }; 168 169 public static void addTCs(ApplicationEntity ae, EnumSet<QueryOption> queryOpts, 170 TransferCapability.Role role, String[] cuids, String... tss) { 171 for (String cuid : cuids) 172 addTC(ae, queryOpts, role, cuid, tss); 173 } 174 175 public static void addTC(ApplicationEntity ae, EnumSet<QueryOption> queryOpts, 176 TransferCapability.Role role, String cuid, String... tss) { 177 String name = UID.nameOf(cuid).replace('/', ' '); 178 TransferCapability tc = new TransferCapability(name + ' ' + role, cuid, role, tss); 179 tc.setQueryOptions(queryOpts); 180 ae.addTransferCapability(tc); 181 } 182 183}