Enet4 / dicom-rs

Rust implementation of the DICOM standard
https://dicom-rs.github.io
Apache License 2.0
426 stars 82 forks source link

UL SCP API #140

Open BastienVigneron opened 3 years ago

BastienVigneron commented 3 years ago

Hello,

Thank you for this gorgeous lib. Did you have any plan to implement SCP part of upper layer protocol ? Something like a set of Traits the user ca implement for StoreSCP, MoveSCP, FindSCP, ...

Enet4 commented 3 years ago

Hello! Thank you for your interest in DICOM-rs.

Yes, it makes sense to continue expanding towards higher-level abstractions, for both SCU's and SCP's. While I am not entirely sure how traits would work here, the original vision after dicom-ul emerged was to conceive something like a set of state machines, to cover the boilerplate of handling certain requests according to the standard. This will hopefully also be expanded to support asynchronous constructs. For now, implementing these services can be done on top of the dicom::ul::association abstraction, which already has an API for server-sided associations.

On my personal priority list, lazy DICOM object loading and finalizing the baseline for the pixel data abstraction ought to be made available in the next major release. But should anyone be interested in pushing this initiative forward, I would be more than glad to help.

BastienVigneron commented 3 years ago

Thank you for your response. I will take a look to association API.

Agree for lazy loading priorities, this will be a big improvement.

Enet4 commented 1 year ago

Related: #352