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

TROTS dataset #237

Open
ferdymercury opened this issue Oct 25, 2023 · 11 comments
Open

TROTS dataset #237

ferdymercury opened this issue Oct 25, 2023 · 11 comments
Milestone

Comments

@ferdymercury
Copy link
Contributor

ferdymercury commented Oct 25, 2023

Feature suggestion @cpinter :

In "main" 3D Slicer, you can download several patient-examples thanks to the "Download Sample" plugin.

It would be nice if SlicerRt had an equivalent module that would download this dataset:
https://sebastiaanbreedveld.nl/trots/

There are zenodo permalinks to it, and h5, .dcm versions as well as conversion scripts.

https://github.com/SebastiaanBreedveld/TROTS/blob/master/Scripts%20DICOM/writeTROTSToDICOM.py

@cpinter
Copy link
Member

cpinter commented Oct 25, 2023

The SampleData module in Slicer supports extensions. SlicerRT already adds a dataset to this module (see before and after installing SlicerRT).

If it's not important to load this sample data from DICOM, then I can add it the same way as the "TinyRTPatient" that is already added.

@cpinter cpinter added this to the SlicerRT 1.1 milestone Oct 25, 2023
@ferdymercury
Copy link
Contributor Author

If it's not important to load this sample data from DICOM, then I can add it the same way as the "TinyRTPatient" that is already added.

Sounds perfect

@cpinter
Copy link
Member

cpinter commented Oct 30, 2023

I just looked at the dataset. It consists of many patients (145 it seems). The SampleData module is to load a single volume, which is extended with the segmentation in the case of the above mentioned TinyRtPatient dataset. I cannot add the 145 patients to a single "sample dataset", it would load an unreasonable amount of data. I also would like to avoid adding them one button each. All I can think of as reasonable is to choose a few patients and add those as a button each. Did you have something in mind?

@ferdymercury
Copy link
Contributor Author

Thanks for the reply!

was thinking more of "6 buttons".

  • Prostate_CK contains 30
  • Prostate_VMAT contains 30
  • Head-and-Neck 15
  • Protons 20
  • Liver set contains 10
  • Prostate_BT set 25

If 25 or 30 is still too much, then maybe adding a popup asking how many patients of the group it should load (which by default should only download one)?

@cpinter
Copy link
Member

cpinter commented Oct 30, 2023

The SampleData module is in Slicer core and adding new options is not that simple. This would mean adding the feature just for the purposes of one extension, which would be an exception unless there is wider use of this.

So you were thinking that clicking a button would load up to 30 patients and use all of them in the same Slicer run? Can you please let me know how such a Slicer run with 30 patients loaded would look like?

@lassoan Do you have any thoughts on this so far? Thank you!

@ferdymercury
Copy link
Contributor Author

ferdymercury commented Oct 30, 2023

Mmm I was thinking more that it would download them to the local DICOM database, and let you choose which patient to open. Not opening them all at the same time. (Sorry for being unclear hehe)

@lassoan
Copy link
Member

lassoan commented Oct 30, 2023

I was confused by what @ferdymercury meant by "loading" images (it rarely makes sense to load dozens of images into Slicer at the same time), but now it is more clear.

I agree with @cpinter that the SampleData module has a specific goal of loading a one or few images by a single click and would not be easy (or even appropriate) to make it download large sets of data.

Downloading an entire data set (and automatically indexing in the DICOM database) could be a useful feature, but probably it should be in a separate module. Would you be interested in developing it? It could be a Python scripted module that could download data sets from various sources by a few clicks. It should also allow displaying a data use agreement that comes with many data sets, manage the used disk space (e.g., allow removing downloaded data sets). It could be nice if it also allowed browsing and loading of a selected image. It would be some effort to implement it and it would only save users a couple of clicks, so developing such a module would be quite low on my priority list, but if you can devote some time for it then it would be nice to have such a module.

@cpinter
Copy link
Member

cpinter commented Oct 30, 2023

Thanks for the clarification @ferdymercury ! I don't have a good idea how to approach this in a good way. What I can think of now is something similar to TCIA browser or SlicerIDCBrowser, but this dataset is not available in a way that is readily queryable.

What @lassoan says makes a lot of sense, but it's a medium sized project in itself. FYI, Fernando and I have been working together for a while on a small project (#218) and recently submitted a CZI so hopefully more RT stuff on the way, fingers crossed.

What I can suggest as an alternative is to create a Slicer module in a separate extension that does just what you described (each button downloads those datasets and imports them in the current database).

@ferdymercury
Copy link
Contributor Author

Thanks for the suggestions! Maybe let's keep the issue open until we see if there is some funding, and then we can follow the 'long right' way that @lassoan suggested. Otherwise I think it's just easier to download the dataset by hand and import it into the DICOM, rather than getting too many datasets open at the same time.

@cpinter
Copy link
Member

cpinter commented Nov 3, 2023

I agree with this assessment @ferdymercury . Maybe one thing you can do, given that you want to use the sample data in groups, that you create a separate DICOM database for each, and just change the database if you want to work with a certain group.

@lassoan
Copy link
Member

lassoan commented Nov 3, 2023

You may also consider submitting the data set to IDC. You can write to Andrey Fedorov via the Slicer Forum at https://discourse.slicer.org/t/sliceridcbrowser-extension-released/32279?u=lassoan

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

No branches or pull requests

3 participants