0

我正在编写一个示例 DICOM SCP Store。我使用 SCU Store 命令模拟了许多 DCM 文件夹的传输(从连接到我的 LAN 的另一台计算机)。同时模拟3个传输。由于未知原因,其中一项传输被中止。我试图跟踪中止的关联以取回相关的 StudyInstanceUID。这是我的SCP:

from pynetdicom import AE, debug_logger, AllStoragePresentationContexts, evt

debug_logger()

def handle_store(event):
    """Handle EVT_C_STORE events."""
    ds = event.dataset
    ds.file_meta = event.file_meta

    return 0x0000

handlers = [(evt.EVT_C_STORE, handle_store)]

ae = AE()
# Unlimited PDU size
ae.maximum_pdu_size = 0
#ae.add_supported_context
ae.supported_contexts = AllStoragePresentationContexts
ae.start_server(('', 11112), block=True, evt_handlers=handlers)

我在 association.py 中找到了相关消息,但有机会获得中止的 dataset.StudyInstanceUID :

# Check for abort
            if self.acse.is_aborted():
                msg = "Association Aborted"
                if self.acse.is_aborted('a-p-abort'):
                    msg += " (A-P-ABORT)"
                LOGGER.info(msg)
                self.is_aborted = True
                self.is_established = False
                evt.trigger(self, evt.EVT_ABORTED, {})
                self.kill()
                return
4

0 回答 0