innolitics / pacsman

Picture Archiving and Communication System Manager And Numpifier
MIT License
15 stars 3 forks source link

Add PACS storage to interface and pynetdicom client #4

Closed dillonwilliams closed 3 years ago

dillonwilliams commented 6 years ago

Need ability to store:

pynetdicom has a general DICOM Dataset, but the abstract methods can't be tied to a particular implementation. Probably better to have separate storage methods for each use-case, like def send_report_to_pacs(self, patient_id, report_path) , def send_annotations_to_pacs(self, patient_id, instance_id, json_descriptor_list).

johndgiese commented 6 years ago

I think pynetdicom relies on pydicom's Dataset class. pydicom's dataset is generic enough that I think we can use it in the API.

pydicom's Datasets are like numpy's ndarray class within numerical computing---most numerical programs use it as the common data structure.

@yujanshrestha what do you think about this?

yujanshrestha commented 6 years ago

I think it is ok to use pydicom's Dataset as an API. At least currently, if a Python project deals with DICOM, it probably depends on pydicom.

I think send_report_to_pacs and send_annotations_to_pacs should be implemented by the library user. The library should just provide a generic way to push DICOM to a PACS.
I think pacsman should just have a push_dicom_ds(ds) function.

dillonwilliams commented 3 years ago

send_datasets implements this.