|
3 | 3 | {
|
4 | 4 | "cell_type": "markdown",
|
5 | 5 | "metadata": {
|
6 |
| - "colab_type": "text", |
7 |
| - "id": "view-in-github" |
| 6 | + "id": "view-in-github", |
| 7 | + "colab_type": "text" |
8 | 8 | },
|
9 | 9 | "source": [
|
10 | 10 | "<a href=\"https://colab.research.google.com/github/ImagingDataCommons/IDC-Tutorials/blob/master/notebooks/labs/idc_isbi2024.ipynb\" target=\"_parent\"><img src=\"https://colab.research.google.com/assets/colab-badge.svg\" alt=\"Open In Colab\"/></a>"
|
|
16 | 16 | "id": "ATBH0iwpkHXP"
|
17 | 17 | },
|
18 | 18 | "source": [
|
19 |
| - "# Experimenting with AI inference on slide microscopy data in IDC \n", |
| 19 | + "# Experimenting with AI inference on slide microscopy data in IDC\n", |
20 | 20 | "\n",
|
21 | 21 | "This notebook is part of a [tutorial given at ISBI 2024](https://biomedicalimaging.org/2024/tutorials-final/).\n",
|
22 | 22 | "It demonstrates how the Imaging Data Commons (IDC) can be used to work with whole slide images (WSIs) and provides an example of the application of deep learning (DL) to computational pathology analysis.\n",
|
|
188 | 188 | "source": [
|
189 | 189 | "For most computational pathology experiments, the first step is to select a cohort of WSIs by filtering for the desired metadata attributes.\n",
|
190 | 190 | "\n",
|
191 |
| - "The IDC uses the DICOM standard for data representation. Here, a WSI corresponds to a series of DICOM image objects, each representing the slide at a different resolution. Each DICOM object is stored as a separate DICOM file. Cohort selection is done easiest by executing SQL-like statements using the Python package idc-index against an index table, which lists all available DICOM files (rows) with the corresponding metadata atrributes (columns).\n", |
| 191 | + "The IDC uses the DICOM standard for data representation. Here, a WSI corresponds to a series of DICOM image objects, each representing the slide at a different resolution. Each DICOM object is stored as a separate DICOM file. Cohort selection is done easiest by executing SQL-like statements using the Python package idc-index against an index table, which lists all available DICOM files (rows) with the corresponding metadata atrributes (columns). For getting started with the idc-index, we refer to this [introductory notebook](https://github.com/ImagingDataCommons/IDC-Tutorials/blob/master/notebooks/getting_started/part2_searching_basics.ipynb).\n", |
192 | 192 | "\n",
|
193 |
| - "In the following we retrieve three slides from the CPTAC-LUAD and CPTAC-LSCC collections." |
| 193 | + "In the following we retrieve three slides from the CPTAC-LUAD and CPTAC-LSCC collections.\n", |
| 194 | + "\n" |
194 | 195 | ]
|
195 | 196 | },
|
196 | 197 | {
|
|
220 | 221 | " index.SeriesInstanceUID as digital_slide_id,\n",
|
221 | 222 | " index.StudyInstanceUID as case_id,\n",
|
222 | 223 | " (REPLACE (REPLACE(index.collection_id, 'cptac_luad', 'luad'), 'cptac_lscc', 'lscc')) AS cancer_subtype,\n",
|
223 |
| - " -- The 'tissue_types' subquery indicates whether a slides contains normal, tumor or other tisse.\n", |
224 |
| - " CASE sm_index.primaryAnatomicStructureModifier_CodeMeaning\n", |
225 |
| - " WHEN 'Normal' THEN 'normal'\n", |
226 |
| - " WHEN 'Neoplasm, Primary' THEN 'tumor'\n", |
227 |
| - " ELSE 'other' -- meaning e.g.: 'Neoplasm, Metastatic'\n", |
228 |
| - " END AS tissue_type,\n", |
| 224 | + " -- The 'tissue_types' indicates whether a slides contains normal, tumor or other tisse.\n", |
| 225 | + " sm_index.primaryAnatomicStructureModifier_CodeMeaning as tissue_type\n", |
229 | 226 | "FROM\n",
|
230 | 227 | " index\n",
|
231 | 228 | "JOIN\n",
|
|
234 | 231 | " (index.SeriesInstanceUID = '1.3.6.1.4.1.5962.99.1.261553051.626883586.1640939092891.2.0'\n",
|
235 | 232 | " OR index.SeriesInstanceUID = '1.3.6.1.4.1.5962.99.1.223072275.1494200661.1640900612115.2.0'\n",
|
236 | 233 | " OR index.SeriesInstanceUID = '1.3.6.1.4.1.5962.99.1.255269468.207807501.1640932809308.2.0')\n",
|
237 |
| - " -- OR index.SeriesInstanceUID = '1.3.6.1.4.1.5962.99.1.237882392.736020130.1640915422232.2.0')\n", |
238 | 234 | " AND index.Modality = 'SM'\n",
|
239 | 235 | "'''\n",
|
240 | 236 | "\n",
|
|
365 | 361 | "id": "msi0SjqdLkNM"
|
366 | 362 | },
|
367 | 363 | "source": [
|
368 |
| - "**Note: we can of course do much more with wsidicom and openslide. Could be mentioned or shown.**" |
| 364 | + "Note: we can of course do much more with wsidicom and openslide. Just check out the respective documentations." |
369 | 365 | ]
|
370 | 366 | },
|
371 | 367 | {
|
|
569 | 565 | ],
|
570 | 566 | "metadata": {
|
571 | 567 | "colab": {
|
572 |
| - "include_colab_link": true, |
573 | 568 | "provenance": [],
|
574 |
| - "toc_visible": true |
| 569 | + "toc_visible": true, |
| 570 | + "include_colab_link": true |
575 | 571 | },
|
576 | 572 | "environment": {
|
577 | 573 | "kernel": "python3",
|
|
0 commit comments