Class SOPClass

java.lang.Object
com.pixelmed.dicom.SOPClass
Direct Known Subclasses:
FindSOPClassSCU, GetSOPClassSCU, MoveSOPClassSCU, StorageSOPClassSCP, StorageSOPClassSCU, VerificationSOPClassSCU

public abstract class SOPClass extends Object

The abstract base class of classes that implement individual DICOM SOP Classes or groups of SOP Classes that behave similarly (for example the composite instance Storage SOP Classes).

There is no formal or separate abstraction of the DICOM concept of a Service Class per se.

Also defines the UID strings that correspond to the individual SOP Classes, as well as various utility methods for testing whether or not a string UID is of a particular family.

  • Field Details

  • Constructor Details

    • SOPClass

      public SOPClass()
  • Method Details

    • isVerification

      public static final boolean isVerification(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the Verification SOP Class
    • isPrivateNonImageStorage

      public static final boolean isPrivateNonImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known private non-image Storage SOP Classes
    • isPrivateImageStorage

      public static final boolean isPrivateImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known private image Storage SOP Classes
    • isDICOSImageStorage

      public static final boolean isDICOSImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known DICOS image Storage SOP Classes
    • isDICOSNonImageStorage

      public static final boolean isDICOSNonImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known DICOS non-image Storage SOP Classes
    • isDICONDEImageStorage

      public static final boolean isDICONDEImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known DICONDE image Storage SOP Classes
    • isTiledImageStorage

      public static final boolean isTiledImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches an Image Storage SOP Class that uses frames in a tiled layout
    • isImageStorage

      public static final boolean isImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard or private Image Storage SOP Classes
    • isStandardImageStorage

      public static final boolean isStandardImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard Image Storage SOP Classes
    • isEnhancedMultiframeImageStorage

      public static final boolean isEnhancedMultiframeImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard or private Enhanced Multiframe Image Storage SOP Classes
    • isEnhancedMultiframeImageWithPlanePositionOrientationAndMeasuresStorage

      public static final boolean isEnhancedMultiframeImageWithPlanePositionOrientationAndMeasuresStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard or private Enhanced Multiframe Image Storage SOP Classes that uses the Plane Position, Orientation and Pixel Measures functional groups
    • isImageWithFrameOfReferenceStorage

      public static final boolean isImageWithFrameOfReferenceStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard or private Image Storage SOP Classes that uses the Frame of Reference Module
    • isImageWithSynchronizationStorage

      public static final boolean isImageWithSynchronizationStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard or private Image Storage SOP Classes that uses the Synchronization Module
    • isLegacyConvertedEnhancedImageStorage

      public static final boolean isLegacyConvertedEnhancedImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard or private Legacy Converted Enhanced Multiframe Image Storage SOP Classes
    • isMultiframeSecondaryCaptureImageStorage

      public static final boolean isMultiframeSecondaryCaptureImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard Multiframe Secondary Capture Image Storage SOP Classes
    • isSecondaryCaptureImageStorage

      public static final boolean isSecondaryCaptureImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard Secondary Capture Image Storage SOP Classes (including Multiframe)
    • isMultiframeImageStorage

      public static final boolean isMultiframeImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard Multiframe Image Storage SOP Classes
    • isDirectory

      public static final boolean isDirectory(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the Media Storage Directory Storage SOP Class (used for the DICOMDIR)
    • isStructuredReport

      public static final boolean isStructuredReport(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard generic or specific Structured Report Storage SOP Classes (including Key Object)
    • isTrialRetiredStructuredReport

      public static final boolean isTrialRetiredStructuredReport(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard generic or specific Structured Report Storage SOP Classes (including Key Object)
    • isKeyObjectSelectionDocument

      public static final boolean isKeyObjectSelectionDocument(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the Key Object Storage SOP Class
    • isPresentationState

      public static final boolean isPresentationState(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard Presentation State Storage SOP Classes (currently just the Grayscale Softcopy Presentation State Storage SOP Class)
    • isWaveform

      public static final boolean isWaveform(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard Waveform Storage SOP Classes
    • isStandalone

      public static final boolean isStandalone(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard Standalone Storage SOP Classes (overlay, curve (including PET curve), and LUTs)
    • isRadiotherapy

      public static final boolean isRadiotherapy(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard RT non-image Storage SOP Classes (dose, structure set, plan and treatment records)
    • isSpectroscopy

      public static final boolean isSpectroscopy(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known standard Spectroscopy Storage SOP Classes (currently just the MR Spectroscopy Storage SOP Class)
    • isRawData

      public static final boolean isRawData(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the Raw Data Storage SOP Class
    • isEncapsulatedDocument

      public static final boolean isEncapsulatedDocument(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the Raw Data Storage SOP Class
    • isOphthalmicMeasurementStorage

      public static final boolean isOphthalmicMeasurementStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known refractive measurement Storage SOP Classes
    • isMiscellaneousCompositeNonImageStorage

      public static final boolean isMiscellaneousCompositeNonImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known miscellaneous composite non-image Storage SOP Classes
    • isMiscellaneousNonCompositeStorage

      public static final boolean isMiscellaneousNonCompositeStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known miscellaneous non-composite Storage SOP Classes
    • isNonImageStorage

      public static final boolean isNonImageStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known non-image Storage SOP Classes (directory, SR, presentation state, waveform, standalone, RT, spectroscopy, raw data, encapsulated document, etc. or private)
    • isStorage

      public static final boolean isStorage(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known Storage SOP Classes
    • isCompositeInstanceQuery

      public static final boolean isCompositeInstanceQuery(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known composite instance query SOP Classes
    • isStudyRootCompositeInstanceQuery

      public static final boolean isStudyRootCompositeInstanceQuery(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the study root composite instance query SOP Class
    • isPatientRootCompositeInstanceQuery

      public static final boolean isPatientRootCompositeInstanceQuery(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the patient root composite instance query SOP Class
    • isPatientStudyOnlyCompositeInstanceQuery

      public static final boolean isPatientStudyOnlyCompositeInstanceQuery(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the patient/study only composite instance query SOP Class
    • isCompositeInstanceRetrieveWithMove

      public static final boolean isCompositeInstanceRetrieveWithMove(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known composite instance retrieve move SOP Classes
    • isStudyRootCompositeInstanceRetrieveWithMove

      public static final boolean isStudyRootCompositeInstanceRetrieveWithMove(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the study root composite instance retrieve move SOP Class
    • isPatientRootCompositeInstanceRetrieveWithMove

      public static final boolean isPatientRootCompositeInstanceRetrieveWithMove(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the patient root composite instance retrieve move SOP Class
    • isPatientStudyOnlyCompositeInstanceRetrieveWithMove

      public static final boolean isPatientStudyOnlyCompositeInstanceRetrieveWithMove(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the patient/study only composite instance retrieve move SOP Class
    • isCompositeInstanceRetrieveWithGet

      public static final boolean isCompositeInstanceRetrieveWithGet(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known composite instance get SOP Classes
    • isStudyRootCompositeInstanceRetrieveWithGet

      public static final boolean isStudyRootCompositeInstanceRetrieveWithGet(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the study root composite instance get SOP Class
    • isPatientRootCompositeInstanceRetrieveWithGet

      public static final boolean isPatientRootCompositeInstanceRetrieveWithGet(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the patient root composite instance get SOP Class
    • isPatientStudyOnlyCompositeInstanceRetrieveWithGet

      public static final boolean isPatientStudyOnlyCompositeInstanceRetrieveWithGet(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the patient/study only composite instance get SOP Class
    • isCompositeInstanceRetrieve

      public static final boolean isCompositeInstanceRetrieve(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches one of the known composite instance retrieve move or get SOP Classes
    • isStudyRootCompositeInstanceRetrieve

      public static final boolean isStudyRootCompositeInstanceRetrieve(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the study root composite instance retrieve move or get SOP Classes
    • isPatientRootCompositeInstanceRetrieve

      public static final boolean isPatientRootCompositeInstanceRetrieve(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the patient root composite instance retrieve move or get SOP Classes
    • isPatientStudyOnlyCompositeInstanceRetrieve

      public static final boolean isPatientStudyOnlyCompositeInstanceRetrieve(String sopClassUID)
      Parameters:
      sopClassUID - UID of the SOP Class, as a String without trailing zero padding
      Returns:
      true if the UID argument matches the patient/study only composite instance retrieve move or get SOP Classes
    • getSetOfStorageSOPClasses

      public static final Set getSetOfStorageSOPClasses()
      Returns:
      an (unmodifiable) Set of known Storage SOP Classes
    • getPlausibleStandardSOPClassUIDsForModality

      public static String[] getPlausibleStandardSOPClassUIDsForModality(String modality)

      Return a plausible set of SOP Classes with which to encode a specified modality.

      Useful for association negotiation for a C-GET operation when the SOP Classes to be retrieved are not explicitly known.

      Includes both those SOP Classes that have mandatory fixed modality values, as well as likely secondary capture, encapsulated, raw data and more general SOP Classes that could be used.

      Parameters:
      modality - a DICOM standard string value for Modality
      Returns:
      an array of DICOM standard Storage SOP Class UIDs
    • selectModalityForSOPClass

      public static String selectModalityForSOPClass(String sopClassUID)

      Return the standard specified Modality for a Storage SOP Class, or a conventional choice if not enumerated by the standard.

      Will return "OT" if the SOP Class is not recognized or is not specific to a particular Modality.

      Parameters:
      sopClassUID - a DICOM standard Storage SOP Class UID
      Returns:
      a DICOM standard string value for Modality