Metadata-Version: 2.4
Name: dcm-processor-dicom-server
Version: 0.0.1
Summary: A Command line tool for the dicom processor library
Home-page: https://github.com/giesekow/dcm-processor-dicom-server
Author: Giles Tetteh
Author-email: giles.tetteh@tum.de
Keywords: orthanc,dicom,worker,processor,translation,medical
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: dcm-processor-db-provider==0.0.1
Requires-Dist: pydicom==3.0.1
Requires-Dist: pynetdicom==3.0.4
Dynamic: license-file

# dcm-processor-dicom-server

`dcm-processor-dicom-server` is the DICOM network ingestion module for the dcm-processor platform.

It listens for DICOM associations, accepts incoming DICOM objects, and stores them through the shared database provider layer.

## Role In The Bigger Picture

This module is the ingest edge of the platform.

Its position in the larger system is:

1. receive incoming DICOM data from remote peers
2. persist those objects and their metadata
3. make them available for downstream scheduling and processing

The module does not decide which processing jobs should run. That is handled by `dcm-processor-job-scheduler`. Its job is to get valid DICOM data into the system reliably.

## Main Responsibilities

### 1. DICOM Network Listener

The module manages the local application entity (AE) and accepts DICOM associations from configured peers.

This includes:

- network binding
- AE title configuration
- association handling
- optional TLS setup

### 2. DICOM Object Persistence

When datasets are received, this module passes them into `dcm-processor-db-provider` for storage.

That storage process includes:

- raw file persistence
- patient/study/series grouping
- peer association
- metadata capture

### 3. Application Runtime Integration

The CLI starts this module as part of an application runtime. In other words, this package is normally not the top-level orchestrator; it is one component in the running app stack.

## Key Internal Areas

- `dcm_processor_dicom_server/dicom_server.py`
  - main DICOM server implementation
- `dcm_processor_dicom_server/__init__.py`
  - exports `DicomServer`

## Dependencies On Other Modules

This module depends mainly on:

- `dcm-processor-db-provider`
  - to persist incoming data and look up peers/nodes

It is then used by:

- `dcm-processor-cli`
  - to start and stop the ingest server as part of an application

## What This Module Is Not

This package is not:

- a general CLI
- a scheduler
- a worker runtime
- the service SDK used in processing callbacks

It is narrowly focused on DICOM ingestion.

## Summary

Use this module when you need a DICOM listener inside a dcm-processor application.

It is responsible for getting incoming medical imaging data into the platform so the rest of the system can process it.
