Jobs API: The DicomMoveScu job doesn't seems to track progress

Hello !

We are using Orthanc job API to keep track of the different “in progress” tasks. There is a “Prgoress” property in the Job payload. We are polling the Job API to check for progress.

On an ArchiveJob, we have a valid computed progression which move from 0 to 100%. However on a DicomMoveScu job, the progress is stuck at 0 during the whole job execution then it moves to 100% whenever the transfer is done.

Is it a normal behavior ? Maybe it’s not possible to compute progress for such transfer ?

Thanks !
Stéphane

Hi Stéphane,

Without digging into the code, I’m not surprised that the C-Move progress is not reported.
The C-Move is actually an order for another modality to perform a C-Store and I don’t think there are any mechanisms to report the progress to the C-Move initiator.

HTH,

Alain.

Hello Alain,

Thank you for your quick answer !
Seems legit if Orthanc hasn’t the ability to compute the progress. In such case, is it relevant to have a “Progress” indicator in the job ? I mean that maybe the API can “omit” this field whenever the progress can’t be computed to let the final user know that we haven’t any indication ? Do you know if there are others jobs that can encounter the same limitation ?

Thanks
Stéphane

Hello Alain,

I viewed that Orthanc doesn’t support C-Get as SCU (only as SCP). However, do you think using C-Get might help computing a progress ? Is there any plan to implement C-Get as SCU ?

Thanks
Stéphane

Hi Stéphane,

I have never really played with C-Get but as I read it in the doc, the C-Get simply triggers a C-Store inside the same TCP connection and therefore, we are back to C-Store and its lack of progress report so I’m not expecting any improvements from there.

To me, to get a progress report, the only “option” would be to perform a C-Find to list the instances that are available for transfer and then, trigger the transfer. But still, new instances might have been received by the PACS in the meantime … so it’s really not ideal.

Note that it might be better to discuss these low level topics on the DICOM users group, they sure have deeper knowledge there.

And yes, the C-Get SCU is in the TODO list with no current plan for the implementation.

Best regards,

Alain.

Hi Stéphane,

Just noticed that DCMTK provides callbacks that we could use to report progress in the future. I have added a TODO in Orthanc to look into it. Not sure it would work in all cases but it’s probably worth to try.

Best regards,

Alain

Question related to DCMTK. Is it possible to call DCMTK (the one baked into the Orthanc Build) from a Python Plug-in, either via the executable in an Osimis Docker Build or via an SDK to Orthanc ? I don’t recall seeing the executable in an OSIMIS Docker build and presumed you had to use the SDK to call the DCMTK that is packaged in Orthanc ?

Thanks.

Hi @shulard

Going back to this old thread to inform you that, while working on C-Get SCU, I have also worked on progress reporting in the DicomMoveScu jobs.

So this will be available once get-scu is integrated in a next release (don’t know yet if it will be 1.12.5 or 1.12.6).

Docker images are being built right now so a pre-release will soon be available in orthancteam/orthanc-pre-release:get-scu-unstable

Best regards,

Alain.

1 Like

That’s an awesome news, thank you for that update !