pynetdicom.presentation.PresentationContext¶
- class pynetdicom.presentation.PresentationContext[source]¶
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) or0x04
(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)
- result¶
If part of an A-ASSOCIATE (request) then
None
. If part of an A-ASSOCIATE (response) then one of0x00
,0x01
,0x02
,0x03
,0x04
.- Type:
int or None
References
Methods
__init__
()Create a new object.
add_transfer_syntax
(syntax)Append a transfer syntax to the presentation context.
Attributes
Get or set the context's Abstract Syntax as
UID
.Return
True
if can act as an SCP for the context.Return
True
if can act as an SCU for the context.Return a
namedtuple
representation of the presentation context.Return the context's ID parameter as an
int
.Get or set if a proposed SCP role will be accepted.
Get or set if a proposed SCU role will be accepted.
Return a descriptive
str
of the context's Result.Get or set the context's Transfer Syntaxes as a
list
.- property abstract_syntax: UID | None¶
Get or set the context’s Abstract Syntax as
UID
.- Parameters:
value (str or bytes or pydicom.uid.UID) – The abstract syntax UID.
- add_transfer_syntax(syntax: None | str | bytes | UID) None [source]¶
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.
- property as_scp: bool | None¶
Return
True
if can act as an SCP for the context.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.
- property as_scu: bool | None¶
Return
True
if can act as an SCU for the context.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.
- property as_tuple: PresentationContextTuple¶
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: