pynetdicom.presentation.PresentationContext¶
-
class
pynetdicom.presentation.
PresentationContext
¶ A Presentation Context primitive.
Rules
- Each Presentation Context (request) contains:
- One context ID, an odd integer between 1 and 255.
- One abstract syntax.
- One or more transfer syntaxes.
- Each Presentation Context (response) contains:
- One context ID, corresponding to a Presentation Context received from the Requestor
- A result, one of 0x00 (acceptance), 0x01 (user rejection), 0x02 (provider rejection), 0x03 (abstract syntax not supported) or 0x04 (transfer syntaxes not supported).
- If the result is 0x00, then a transfer syntax.
- If any other result, then a transfer syntax may or may not be present.
- If the result is not 0x00 then the transfer syntax in the reply is not significant.
- The same abstract syntax can be present in more than one Presententation Context.
- Only one transfer syntax can be accepted per Presentation Context.
- The Presentation Contexts may be sent by the Requestor in any order.
- The Presentation Contexts may be sent by the Acceptor in any order.
SCP/SCU Role Selection Negotiation
- If no role selection negotiation then the requestor is SCU and the acceptor is SCP
- The association acceptor cannot accept a role that has not been proposed (i.e. cannot return 1 when the proposed value is 0).
- The association requestor may be SCP only, SCU only or both SCU and SCP.
Requestor Acceptor Outcome Notes scu_role scp_role scu_role scp_role Req. Acc. N/A N/A N/A N/A SCU SCP Default True True False False N/A N/A Rejected True SCP SCU True False SCU SCP Default True SCU/SCP SCU/SCP True False False False N/A N/A Rejected True SCU SCP Default False True False False N/A N/A Rejected True SCP SCU False False False False N/A N/A Rejected As can be seen from the above table there are four possible outcomes:
- Requestor is SCU, acceptor is SCP (default roles)
- Requestor is SCP, acceptor is SCU
- Requestor and acceptor are both SCU/SCP
- Requestor and acceptor are neither (context rejected)
-
abstract_syntax
¶ The Presentation Context’s Abstract Syntax.
Type: pydicom.uid.UID or None
-
as_scp
¶ If True then the association acceptor can act as SCP for the current context, otherwise it cannot. A non-None value is only available after association negotiation has been completed.
Type: bool or None
-
as_scu
¶ If True then the association acceptor can act as SCU for the current context, otherwise it cannot. A non-None value is only available after association negotiation has been completed.
Type: bool or None
-
context_id
¶ The Presentation Context’s Context ID.
Type: int or None
-
result
¶ If part of an A-ASSOCIATE (request) then None. If part of an A-ASSOCIATE (response) then one of 0x00, 0x01, 0x02, 0x03, 0x04.
Type: int or None
-
scp_role
¶ Only used when acting as an association acceptor. If True then accept when the SCP role is proposed by the requestor, otherwise reject the proposal. If None (default) then no SCP/SCU Role Selection reply will be sent and the default roles will be used.
Type: bool or None
-
scu_role
¶ Only used when acting as an association acceptor. If True then accept when the SCU role is proposed by the requestor, otherwise reject the proposal. If None (default) then no SCP/SCU Role Selection reply will be sent and the default roles will be used.
Type: bool
-
transfer_syntax
¶ The Presentation Context’s Transfer Syntax(es).
Type: list of pydicom.uid.UID
References
- DICOM Standard, Part 7, Annexes D.3.2 and D.3.3.4
- DICOM Standard, Part 8, Sections 9.3.2.2, 9.3.3.2 and Annex B
-
__init__
()¶ Create a new PresentationContext.
Methods
__init__
()Create a new PresentationContext. add_transfer_syntax
(syntax)Append a transfer syntax to the presentation context. Attributes
abstract_syntax
Return the presentation context’s Abstract Syntax as a UID. as_scp
Return True if can act as an SCP for the context. as_scu
Return True if can act as an SCU for the context. as_tuple
Return a namedtuple representation of the presentation context. context_id
Return the presentation context’s ID parameter as an int. scp_role
Return True if a proposed SCP role will be accepted. scu_role
Return True if a proposed SCU role will be accepted. status
Return a descriptive str of the presentation context’s Result. transfer_syntax
Return the presentation context’s Transfer Syntaxes as a list. -
abstract_syntax
Return the presentation context’s Abstract Syntax as a UID.
Returns: Return type: pydicom.uid.UID
-
add_transfer_syntax
(syntax)¶ Append a transfer syntax to the presentation context.
Parameters: syntax (pydicom.uid.UID, bytes or str) – The transfer syntax to add to the presentation context.
-
as_scp
Return True if can act as an SCP for the context.
-
as_scu
Return True if can act as an SCU for the context.
-
as_tuple
¶ Return a namedtuple representation of the presentation context.
Intended to be used when the result is 0x00 (accepted) as only the first transfer syntax item is returned in the tuple.
Returns: A representation of an accepted presentation context. Return type: PresentationContextTuple
-
context_id
Return the presentation context’s ID parameter as an int.
-
scp_role
Return True if a proposed SCP role will be accepted.
-
scu_role
Return True if a proposed SCU role will be accepted.
-
status
¶ Return a descriptive str of the presentation context’s Result.
Returns: The string representation of the result. Return type: str
-
transfer_syntax
Return the presentation context’s Transfer Syntaxes as a list.
Returns: The transfer syntaxes. Return type: list of pydicom.uid.UID
- Each Presentation Context (request) contains: