NA-MIC / ProjectWeek

Website for NA-MIC Project Weeks
https://projectweek.na-mic.org
82 stars 284 forks source link

Project: Improve TCIA Browser extension #667

Closed kirbyju closed 1 year ago

kirbyju commented 1 year ago

Category

Infrastructure

Key Investigators

Project Description

The Cancer Imaging Archive (TCIA) is an NCI-funded service which de-identifies and publishes cancer imaging datasets. The imaging data are organized as “collections” or "analysis result" datasets defined by a common disease (e.g. lung cancer), image modality or type (MRI, CT, digital histopathology, etc) or research focus. An emphasis is made to provide supporting data related to the images such as patient outcomes, treatment details, genomics and expert analyses where available.

TCIA Browser is an extension that lets users easily download and import TCIA data into 3D Slicer. This project seeks to improve the TCIA Browser extension for 3D Slicer by updating it to leverage TCIA-Utils to access TCIA's APIs.

Objective

The major improvements we'd like to address with TCIA Browser include:

  1. Currently TCIA Browser is using a TCIA API that was deprecated in June 2022. The extension needs to be updated to use the new APIs in order to retrieve the full catalog of data in TCIA.
  2. TCIA Browser lacks the ability to access datasets that require logging in.
  3. Some of the metadata TCIA Browser returns in the UI are rarely populated. We would like to explore updating the metadata fields that describe the subjects and scans to better assist Slicer users in deciding which scans they want to download.
  4. TCIA provides “manifest” files that allow full collection downloads and the ability to use our radiology portal to create custom manifest files. It would be useful to extend TCIA Browser to ingest a manifest file and download the data from it.

Approach and Plan

  1. Identify locations in the code that use the older API to download or query data and update them to leverage TCIA-Utils functions such as downloadSeries(), getCollections(), getPatients(), getStudies() and getSeries().
  2. Implement a new feature to support logging in to TCIA Browser using the getToken() function in TCIA-Utils.
  3. Review the existing metadata fields in the Browser GUI. Perform queries of the TCIA database to determine how often these fields are populated.
  4. Discuss and agree on other available metadata fields that may be useful to Slicer users. Run queries to find out how often they're populated. Include external sources from NCI's Cancer Research Data Commons that may include genomic, proteomic and clinical data on the same subjects that TCIA hosts.
  5. Update the GUI with a "Download TCIA Manifest" button and leverage the TCIA-Utils downloadSeries() function with the input_type = "manifest" option to pass the path of a *.TCIA manifest file as the series_data parameter.

Progress and Next Steps

  1. Describe specific steps you have actually done.

Illustrations

No response

Background and References

No response

github-actions[bot] commented 1 year ago

Project Page Pull Request Creation

:white_check_mark: COMPLETED: See https://github.com/NA-MIC/ProjectWeek/pull/668