Class PresentationContextListFactory

java.lang.Object
com.pixelmed.network.PresentationContextListFactory

public class PresentationContextListFactory extends Object

A factory object of static methods that can create lists of presentation contexts for initiating associations, from lists of DICOM files based on SOP Class (abstract syntax) and supported transfer syntaxes.

  • Constructor Details

    • PresentationContextListFactory

      public PresentationContextListFactory()
  • Method Details

    • createNewPresentationContextList

      public static LinkedList createNewPresentationContextList(String abstractSyntax, String transferSyntax, int compressionLevel, boolean theirChoice, boolean ourChoice, boolean asEncoded) throws DicomNetworkException
      Create lists of presentation contexts for initiating associations, from the specified abstract syntax and transfer syntax as well as all supported transfer syntaxes.
      Parameters:
      abstractSyntax - the SOP Class UID of the data set to be transmitted
      transferSyntax - the Transfer Syntax UID in which the data set to be transmitted is encoded, or null if unknown
      compressionLevel - 0=none,1=propose deflate,2=propose deflate and bzip2,3=propose all known lossless,4-all propose all known lossless and lossy
      theirChoice - propose a single presentation context with all transfer syntaxes to allow them to choose
      ourChoice - propose separate presentation contexts for each transfer syntax to allow us to choose
      asEncoded - propose a separate presentation context for the specified transfer syntax in which the data set is known to be encoded
      Returns:
      a LinkedList of PresentationContext
      Throws:
      DicomNetworkException - if too many presentation contexts
    • createNewPresentationContextList

      public static LinkedList createNewPresentationContextList(String abstractSyntax, String transferSyntax, int compressionLevel) throws DicomNetworkException
      Create lists of presentation contexts for initiating associations, from the specified abstract syntax and transfer syntax as well as all supported transfer syntaxes.
      Parameters:
      abstractSyntax - the SOP Class UID of the data set to be transmitted
      transferSyntax - the Transfer Syntax UID in which the data set to be transmitted is encoded, or null if unknown
      compressionLevel - 0=none,1=propose deflate,2=propose deflate and bzip2,3=propose all known lossless,4-all propose all known lossless and lossy
      Returns:
      a LinkedList of PresentationContext
      Throws:
      DicomNetworkException - if too many presentation contexts
    • createNewPresentationContextList

      public static LinkedList createNewPresentationContextList(Set<String> setOfSOPClassUIDs, int compressionLevel, boolean theirChoice, boolean ourChoice) throws DicomNetworkException

      Create lists of presentation contexts for initiating associations, from a set of SOP Class UIDs.

      Will propose uncompressed, and a restricted set of compressed, Transfer Syntaxes.

      Useful for Non-Storage SOP Classes, and C-GET of Storage SOP Classes (for which the Transfer Syntax actually encoded on the SCP is unknown), but should not be used for Storage SOP Classes as an SCU, because establishing presentation contexts based on the set of SOP Classes without knowledge of encoded Transfer Syntax may lead to failure during C-STORE because of inability to convert (use createNewPresentationContextList(SetOfDicomFiles dicomFiles,int compressionLevel,boolean theirChoice,boolean ourChoice,boolean asEncoded)) for those instead).

      Parameters:
      setOfSOPClassUIDs - the set of String SOP Class UIDs
      compressionLevel - 0=none,1=propose deflate,2=propose deflate and bzip2,3=propose all known lossless,4-all propose all known lossless and lossy
      theirChoice - propose a single presentation context with all transfer syntaxes to allow them to choose
      ourChoice - propose separate presentation contexts for each transfer syntax to allow us to choose
      Returns:
      a LinkedList of PresentationContext
      Throws:
      DicomNetworkException - if too many presentation contexts
    • createNewPresentationContextList

      public static LinkedList createNewPresentationContextList(Set<String> setOfSOPClassUIDs, int compressionLevel) throws DicomNetworkException

      Create lists of presentation contexts for initiating associations, from a set of SOP Class UIDs.

      Will propose uncompressed, and a restricted set of compressed, Transfer Syntaxes.

      Useful for Non-Storage SOP Classes, and C-GET of Storage SOP Classes (for which the Transfer Syntax actually encoded on the SCP is unknown), but should not be used for Storage SOP Classes as an SCU, because establishing presentation contexts based on the set of SOP Classes without knowledge of encoded Transfer Syntax may lead to failure during C-STORE because of inability to convert (use createNewPresentationContextList(SetOfDicomFiles dicomFiles,int compressionLevel)) for those instead).

      Parameters:
      setOfSOPClassUIDs - the set of String SOP Class UIDs
      compressionLevel - 0=none,1=propose deflate,2=propose deflate and bzip2,3=propose all known lossless,4-all propose all known lossless and lossy
      Returns:
      a LinkedList of PresentationContext
      Throws:
      DicomNetworkException - if too many presentation contexts
    • createNewPresentationContextList

      public static LinkedList createNewPresentationContextList(SetOfDicomFiles dicomFiles, int compressionLevel, boolean theirChoice, boolean ourChoice, boolean asEncoded) throws DicomNetworkException
      Create lists of presentation contexts for initiating associations, from the abstract syntax and transfer syntax as well as all supported transfer syntaxes for all the files in the specified set of Dicom files.
      Parameters:
      dicomFiles - the set of files with their SOP Class UIDs and the Transfer Syntax UIDs
      compressionLevel - 0=none,1=propose deflate,2=propose deflate and bzip2,3=propose all known lossless,4-all propose all known lossless and lossy
      theirChoice - propose a single presentation context with all transfer syntaxes to allow them to choose
      ourChoice - propose separate presentation contexts for each transfer syntax to allow us to choose
      asEncoded - propose a separate presentation context for the specified transfer syntax in which the data set is known to be encoded
      Returns:
      a LinkedList of PresentationContext
      Throws:
      DicomNetworkException - if too many presentation contexts
    • createNewPresentationContextList

      public static LinkedList createNewPresentationContextList(SetOfDicomFiles dicomFiles, int compressionLevel) throws DicomNetworkException
      Create lists of presentation contexts for initiating associations, from the abstract syntax and transfer syntax as well as all supported transfer syntaxes for all the files in the specified set of Dicom files.
      Parameters:
      dicomFiles - the set of files with their SOP Class UIDs and the Transfer Syntax UIDs
      compressionLevel - 0=none,1=propose deflate,2=propose deflate and bzip2,3=propose all known lossless,4-all propose all known lossless and lossy
      Returns:
      a LinkedList of PresentationContext
      Throws:
      DicomNetworkException - if too many presentation contexts