Replies: 1 comment 1 reply
-
One possitibility would be to use https://github.com/pieper/SlicerParallelProcessing extension. It provides a framework for performing background tasks in separate processes. An example processing task:
One current limitation of this framework that there is no progress reporting from within a task (you only get a "finished" signal when the processing task is completed). It could be possible to add a mechanism that the processing scipt would print progress information (e.g., json string) on its outout and the Process class in Slicer could look at the process output time-to-time and if it finds progress information in it then it would forward it to the GUI. We are also working on a new-generation DICOM browser ("visual DICOM browser") in Slicer that will allow query/retrieve for remote servers and displaying results in a nice layout, with thumbnails. This is implemented in C++ and uses classic DIMSE networking but it would be nice to add DICOMweb support for it. Although it is a C++ class, actual query/retrieve calls could be implemented by calling Python code, similarly to how it is done in Parallel Processing module. So, downloading data in separate Python processes could be a good preparatory work for this. |
Beta Was this translation helpful? Give feedback.
-
I often want to download a couple series from multiple studies.
But if I start downloading series from one study, the UI is locked and I can't select a new study or start downloading more series until the first set of series has finished downloading (and added to the database)
One potential solution would be to add a download queue, you could add series to the queue, and then you would have to press a button to actually start downloading them.
Looking for feedback on this idea or alternative solutions before I start coding anything
Beta Was this translation helpful? Give feedback.
All reactions