tiny_pacs.client
DICOM Client component implementation.
Classes
|
Simple component that can create DICOM Client for provided AE Title. |
|
Configuration of the |
|
DICOM Client implementation. |
|
Roots for C-FIND. |
|
Roots for C-MOVE |
Exceptions
|
C-ECHO failure |
|
C-FIND failure |
|
C-MOVE failure |
|
C-STORE failure |
|
DICOM Client error. |
C-MOVE destination unknown failure |
- class tiny_pacs.client.FindRoot(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
EnumRoots for C-FIND.
- PAITNET = '1.2.840.10008.5.1.4.1.2.1.1'
Patient root SOP Class UID
- STUDY = '1.2.840.10008.5.1.4.1.2.2.1'
Study root SOP Class UID
- class tiny_pacs.client.MoveRoot(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
Bases:
EnumRoots for C-MOVE
- PATIENT = '1.2.840.10008.5.1.4.1.2.1.2'
Patient root SOP Class UID
- STUDY = '1.2.840.10008.5.1.4.1.2.2.2'
Study root SOP Class UID
- exception tiny_pacs.client.DICOMClientError(status: Status, *args: object)[source]
Bases:
ExceptionDICOM Client error.
Base class for all DICOM-related client interaction errors.
- Variables:
status – DICOM error status code
Initializes the error.
- Parameters:
status (statuses.Status) – DICOM error status code
args – exception message arguments
- exception tiny_pacs.client.CEchoError(status: Status, *args: object)[source]
Bases:
DICOMClientErrorC-ECHO failure
Initializes the error.
- Parameters:
status (statuses.Status) – DICOM error status code
args – exception message arguments
- exception tiny_pacs.client.CFindError(status: Status, *args: object)[source]
Bases:
DICOMClientErrorC-FIND failure
Initializes the error.
- Parameters:
status (statuses.Status) – DICOM error status code
args – exception message arguments
- exception tiny_pacs.client.CStoreError(status: Status, *args: object)[source]
Bases:
DICOMClientErrorC-STORE failure
Initializes the error.
- Parameters:
status (statuses.Status) – DICOM error status code
args – exception message arguments
- exception tiny_pacs.client.CMoveError(status: Status, *args: object)[source]
Bases:
DICOMClientErrorC-MOVE failure
Initializes the error.
- Parameters:
status (statuses.Status) – DICOM error status code
args – exception message arguments
- exception tiny_pacs.client.DestinationUnknownError[source]
Bases:
ExceptionC-MOVE destination unknown failure
- class tiny_pacs.client.ClientConfig(*, on: bool = False)[source]
Bases:
ComponentConfigConfiguration of the
Clientcomponent.The client has no settings of its own (device settings come from the
Devicescomponent); this model exists so the component provides its own config type to the loader like every other component.Create a new model by parsing and validating input data from keyword arguments.
Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.
self is explicitly positional-only to allow self as a field name.
- model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class tiny_pacs.client.Client(bus: EventBus, config: ClientConfig | dict[str, Any])[source]
Bases:
Component[ClientConfig]Simple component that can create DICOM Client for provided AE Title.
Component initialization.
Subscribes to
GetClient.- Parameters:
bus (trolleybus.EventBus) – event bus
config (ClientConfig or dict) – component configuration
- config_model
alias of
ClientConfig
- get(remote_aet: str) DICOMClient[source]
Gets a DICOM client for provided AE Title
- Parameters:
remote_aet (str) – remote AE title for the client
- Raises:
DestinationUnknownError – raised if component can not find settings for provided AE Title
- Returns:
DICOM Client
- Return type:
- class tiny_pacs.client.DICOMClient(local_ae: str, remote_ae: DeviceConfig | dict[str, Any])[source]
Bases:
objectDICOM Client implementation.
Provides some convenience wrappers around common services in the SCU role.
- Variables:
msg_id – current message ID
local_ae – local AE Title
remote_ae – remote AE Title
aet – ClientAE instance for accessing DICOM services
log – logger
Initializes the client.
- Parameters:
local_ae (str) – local AE Title
remote_ae (devices.DeviceConfig or dict) – remote device settings
- echo() None[source]
Sends C-ECHO message (verification SCU)
- Raises:
CEchoError – raised when the C-ECHO-RSP status indicates a failure
- find(ds: Dataset, root: FindRoot = FindRoot.STUDY) Iterator[Dataset][source]
Makes a Q/R C-FIND request
- Parameters:
ds (pydicom.Dataset) – C-FIND request (search parameters)
root (FindRoot, optional) – C-FIND root, defaults to FindRoot.STUDY
- Raises:
CFindError – raised if a C-FIND-RSP status indicates a failure
- Yield:
C-FIND results
- Return type:
Iterator[pydicom.Dataset]
- store(ds: Dataset | str, sop_class_uid: UID | None = None, transfer_syntax: UID | None = None) None[source]
Send a C-STORE request with provided dataset
- Parameters:
ds (pydicom.Dataset | str) – dataset to store (filename or dataset itself)
sop_class_uid (uid.UID, optional) – dataset SOP Class UID, defaults to None
transfer_syntax (uid.UID, optional) – dataset Transfer Syntax UID, defaults to None
- store_with_asce(asce: AssociationRequester, ds: Dataset | str, sop_class_uid: UID) None[source]
Make a C-STORE request with existing association
- Parameters:
asce (asceprovider.AssociationRequester) – existing association
ds (pydicom.Dataset | str) – dataset to store (filename or dataset itself)
sop_class_uid (uid.UID) – dataset SOP Class UID
- Raises:
CStoreError – raised if C-STORE failed
- move(ds: Dataset, root: MoveRoot = MoveRoot.STUDY, dest_ae: str | None = None) None[source]
Makes a C-MOVE request to destination AE Title (or self, if not specified)
- move_instance(study_uid: UID, series_uid: UID, instance_uid: UID, dest_ae: str | None = None, asce: AssociationRequester | None = None) None[source]
Makes a C-MOVE request for a single instance to destination AE Title (or self, if not specified)
- Parameters:
study_uid (uid.UID) – Study Instance UID
series_uid (uid.UID) – Series Instance UID
instance_uid (uid.UID) – SOP Instance UID
dest_ae (str, optional) – destination AE Title, defaults to None
asce (asceprovider.AssociationRequester, optional) – existing association, defaults to None