Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for downloading files from a DICOMweb server #1309

Closed
psavery opened this issue Sep 20, 2023 · 2 comments · Fixed by #1429
Closed

Add support for downloading files from a DICOMweb server #1309

psavery opened this issue Sep 20, 2023 · 2 comments · Fixed by #1429

Comments

@psavery
Copy link
Collaborator

psavery commented Sep 20, 2023

This will require implementing this function.

It would be beneficial to support offsetting, if possible.

Note the discussion here.

@psavery
Copy link
Collaborator Author

psavery commented Nov 8, 2023

One thing that complicates this is that, in the assetstore, currently each item is associated with a series, and there is a single file per item. However, each series typically contains more than one DICOM file (which is often referred to as an "instance").

We could, for instance, use this function to retrieve all instances in a series. However, this is likely to return multiple DICOM datasets (each of which can be written to a file).

Alternatively, this function can be used to retrieve a single instance (a.k.a., a single DICOM dataset).

Perhaps we should modify our assetstore model to make separate files for each instance, so we can more easily support downloading files?

For actually downloading the files themselves (as raw data in chunks): the DICOMwebClient API doesn't provide us an easy way to do this. However, I think we can take inspiration from their code. For instance, this function is a way to obtain a resource in chunks. We could obtain a DICOM file this way (using the application/dicom content type), as long as we can figure out the URL as well.

@manthey
Copy link
Member

manthey commented Nov 28, 2023

If we used the retrieve_series to get all of the files conceptually, and downloaded them and then created a zip of those, does that zip file open with our dicom source reader? If so, perhaps we should expose that conceptually (range requests will be tricky, but if the individual files don't have further compression inside the zip, this could work).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants