package org.dcm4che3.net;
import org.dcm4che3.data.UID;
import java.util.EnumSet;
/**
* @author Roman K
*/
public class DefaultTransferCapabilities {
public static final String[] IMAGE_TSUIDS = {
UID.ImplicitVRLittleEndian,
UID.ExplicitVRLittleEndian,
UID.DeflatedExplicitVRLittleEndian,
UID.ExplicitVRBigEndianRetired,
UID.JPEGBaseline1,
UID.JPEGExtended24,
UID.JPEGLossless,
UID.JPEGLosslessNonHierarchical14,
UID.JPEGLSLossless,
UID.JPEGLSLossyNearLossless,
UID.JPEG2000LosslessOnly,
UID.JPEG2000,
UID.RLELossless
};
public static final String[] VIDEO_TSUIDS = {
UID.JPEGBaseline1,
UID.MPEG2,
UID.MPEG2MainProfileHighLevel,
UID.MPEG4AVCH264BDCompatibleHighProfileLevel41,
UID.MPEG4AVCH264HighProfileLevel41
};
public static final String[] OTHER_TSUIDS = {
UID.ImplicitVRLittleEndian,
UID.ExplicitVRLittleEndian,
UID.DeflatedExplicitVRLittleEndian,
UID.ExplicitVRBigEndianRetired,
};
public static final String[] IMAGE_CUIDS = {
UID.ComputedRadiographyImageStorage,
UID.DigitalXRayImageStorageForPresentation,
UID.DigitalXRayImageStorageForProcessing,
UID.DigitalMammographyXRayImageStorageForPresentation,
UID.DigitalMammographyXRayImageStorageForProcessing,
UID.DigitalIntraOralXRayImageStorageForPresentation,
UID.DigitalIntraOralXRayImageStorageForProcessing,
UID.CTImageStorage,
UID.EnhancedCTImageStorage,
UID.UltrasoundMultiFrameImageStorageRetired,
UID.UltrasoundMultiFrameImageStorage,
UID.MRImageStorage,
UID.EnhancedMRImageStorage,
UID.EnhancedMRColorImageStorage,
UID.NuclearMedicineImageStorageRetired,
UID.UltrasoundImageStorageRetired,
UID.UltrasoundImageStorage,
UID.EnhancedUSVolumeStorage,
UID.SecondaryCaptureImageStorage,
UID.MultiFrameGrayscaleByteSecondaryCaptureImageStorage,
UID.MultiFrameGrayscaleWordSecondaryCaptureImageStorage,
UID.MultiFrameTrueColorSecondaryCaptureImageStorage,
UID.XRayAngiographicImageStorage,
UID.EnhancedXAImageStorage,
UID.XRayRadiofluoroscopicImageStorage,
UID.EnhancedXRFImageStorage,
UID.XRayAngiographicBiPlaneImageStorageRetired,
UID.XRay3DAngiographicImageStorage,
UID.XRay3DCraniofacialImageStorage,
UID.BreastTomosynthesisImageStorage,
UID.IntravascularOpticalCoherenceTomographyImageStorageForPresentation,
UID.IntravascularOpticalCoherenceTomographyImageStorageForProcessing,
UID.NuclearMedicineImageStorage,
UID.VLEndoscopicImageStorage,
UID.VLMicroscopicImageStorage,
UID.VLSlideCoordinatesMicroscopicImageStorage,
UID.VLPhotographicImageStorage,
UID.OphthalmicPhotography8BitImageStorage,
UID.OphthalmicPhotography16BitImageStorage,
UID.OphthalmicTomographyImageStorage,
UID.VLWholeSlideMicroscopyImageStorage,
UID.PositronEmissionTomographyImageStorage,
UID.EnhancedPETImageStorage,
UID.RTImageStorage,
};
public static final String[] VIDEO_CUIDS = {
UID.VideoEndoscopicImageStorage,
UID.VideoMicroscopicImageStorage,
UID.VideoPhotographicImageStorage,
};
public static final String[] OTHER_CUIDS = {
UID.MRSpectroscopyStorage,
UID.MultiFrameSingleBitSecondaryCaptureImageStorage,
UID.StandaloneOverlayStorageRetired,
UID.StandaloneCurveStorageRetired,
UID.TwelveLeadECGWaveformStorage,
UID.GeneralECGWaveformStorage,
UID.AmbulatoryECGWaveformStorage,
UID.HemodynamicWaveformStorage,
UID.CardiacElectrophysiologyWaveformStorage,
UID.BasicVoiceAudioWaveformStorage,
UID.GeneralAudioWaveformStorage,
UID.ArterialPulseWaveformStorage,
UID.RespiratoryWaveformStorage,
UID.StandaloneModalityLUTStorageRetired,
UID.StandaloneVOILUTStorageRetired,
UID.GrayscaleSoftcopyPresentationStateStorage,
UID.ColorSoftcopyPresentationStateStorage,
UID.PseudoColorSoftcopyPresentationStateStorage,
UID.BlendingSoftcopyPresentationStateStorage,
UID.XAXRFGrayscaleSoftcopyPresentationStateStorage,
UID.RawDataStorage,
UID.SpatialRegistrationStorage,
UID.SpatialFiducialsStorage,
UID.DeformableSpatialRegistrationStorage,
UID.SegmentationStorage,
UID.SurfaceSegmentationStorage,
UID.RealWorldValueMappingStorage,
UID.StereometricRelationshipStorage,
UID.LensometryMeasurementsStorage,
UID.AutorefractionMeasurementsStorage,
UID.KeratometryMeasurementsStorage,
UID.SubjectiveRefractionMeasurementsStorage,
UID.VisualAcuityMeasurementsStorage,
UID.SpectaclePrescriptionReportStorage,
UID.OphthalmicAxialMeasurementsStorage,
UID.IntraocularLensCalculationsStorage,
UID.MacularGridThicknessAndVolumeReportStorage,
UID.OphthalmicVisualFieldStaticPerimetryMeasurementsStorage,
UID.BasicStructuredDisplayStorage,
UID.BasicTextSRStorage,
UID.EnhancedSRStorage,
UID.ComprehensiveSRStorage,
UID.ProcedureLogStorage,
UID.MammographyCADSRStorage,
UID.KeyObjectSelectionDocumentStorage,
UID.ChestCADSRStorage,
UID.XRayRadiationDoseSRStorage,
UID.ColonCADSRStorage,
UID.ImplantationPlanSRStorage,
UID.EncapsulatedPDFStorage,
UID.EncapsulatedCDAStorage,
UID.StandalonePETCurveStorageRetired,
UID.RTDoseStorage,
UID.RTStructureSetStorage,
UID.RTBeamsTreatmentRecordStorage,
UID.RTPlanStorage,
UID.RTBrachyTreatmentRecordStorage,
UID.RTTreatmentSummaryRecordStorage,
UID.RTIonPlanStorage,
UID.RTIonBeamsTreatmentRecordStorage,
};
public static final String[] QUERY_CUIDS = {
UID.PatientRootQueryRetrieveInformationModelFIND,
UID.StudyRootQueryRetrieveInformationModelFIND,
UID.PatientStudyOnlyQueryRetrieveInformationModelFINDRetired
//UID.ModalityWorklistInformationModelFIND - handled separately
};
public static final String[] RETRIEVE_CUIDS = {
UID.PatientRootQueryRetrieveInformationModelGET,
UID.PatientRootQueryRetrieveInformationModelMOVE,
UID.StudyRootQueryRetrieveInformationModelGET,
UID.StudyRootQueryRetrieveInformationModelMOVE,
UID.PatientStudyOnlyQueryRetrieveInformationModelGETRetired,
UID.PatientStudyOnlyQueryRetrieveInformationModelMOVERetired
};
public static void addTCs(ApplicationEntity ae, EnumSet<QueryOption> queryOpts,
TransferCapability.Role role, String[] cuids, String... tss) {
for (String cuid : cuids)
addTC(ae, queryOpts, role, cuid, tss);
}
public static void addTC(ApplicationEntity ae, EnumSet<QueryOption> queryOpts,
TransferCapability.Role role, String cuid, String... tss) {
String name = UID.nameOf(cuid).replace('/', ' ');
TransferCapability tc = new TransferCapability(name + ' ' + role, cuid, role, tss);
tc.setQueryOptions(queryOpts);
ae.addTransferCapability(tc);
}
}