From 6963955153b0e186ad1f5047c07c72ecc9e9ece1 Mon Sep 17 00:00:00 2001 From: Andrey Fedorov Date: Thu, 2 Feb 2017 23:08:17 -0500 Subject: [PATCH] add subtitles from youtube edited by Steve --- tutorials/intro-cc/dcmqi-part1-updated.sbv | 185 +++++++++++ tutorials/intro-cc/dcmqi-part2-updated.sbv | 351 +++++++++++++++++++++ tutorials/intro-cc/dcmqi-part3-updated.sbv | 330 +++++++++++++++++++ 3 files changed, 866 insertions(+) create mode 100644 tutorials/intro-cc/dcmqi-part1-updated.sbv create mode 100644 tutorials/intro-cc/dcmqi-part2-updated.sbv create mode 100644 tutorials/intro-cc/dcmqi-part3-updated.sbv diff --git a/tutorials/intro-cc/dcmqi-part1-updated.sbv b/tutorials/intro-cc/dcmqi-part1-updated.sbv new file mode 100644 index 0000000..7473dd8 --- /dev/null +++ b/tutorials/intro-cc/dcmqi-part1-updated.sbv @@ -0,0 +1,185 @@ +0:00:00.470,0:00:06.289 +in this video we will go over the steps + +0:00:06.289,0:00:08.180 +you will need to complete to set up the + +0:00:08.180,0:00:10.340 +environment on your computer to use the + +0:00:10.340,0:00:13.190 +same dcmqi as a first step you will need to + +0:00:13.190,0:00:16.970 +install docker on your system once you + +0:00:16.970,0:00:19.310 +have completed that step you can issue + +0:00:19.310,0:00:22.939 +the docker pool command to retrieve the + +0:00:22.939,0:00:26.449 +dcmqi image from the docker hub this + +0:00:26.449,0:00:28.460 +will take some time but eventually this + +0:00:28.460,0:00:30.980 +process will complete and the library + +0:00:30.980,0:00:33.350 +will be available for use on your + +0:00:33.350,0:00:35.810 +computer to verify that installation + +0:00:35.810,0:00:37.220 +completed successfully + +0:00:37.220,0:00:40.340 +you can issue docker image ls command to + +0:00:40.340,0:00:41.600 +confirm that the image has been + +0:00:41.600,0:00:45.320 +installed after that you can run the + +0:00:45.320,0:00:48.650 +entry point of the container by issuing + +0:00:48.650,0:00:51.950 +the run command and pass in the name of + +0:00:51.950,0:00:54.110 +the converter he would like to use to + +0:00:54.110,0:00:56.600 +the run command as we discussing the + +0:00:56.600,0:00:58.880 +tutorial later + +0:00:58.880,0:01:01.670 +next we will need to install the 3D + +0:01:01.670,0:01:04.820 +slicer application which is the free + +0:01:04.820,0:01:06.650 +open-source platform for image + +0:01:06.650,0:01:11.480 +visualization and processing please use + +0:01:11.480,0:01:13.610 +the nightly build version and download the + +0:01:13.610,0:01:16.130 +package on your computer once download + +0:01:16.130,0:01:18.680 +is completed you will need to unpack + +0:01:18.680,0:01:22.880 +this package and drag the application to + +0:01:22.880,0:01:24.740 +your application folder if you're using + +0:01:24.740,0:01:30.110 +Mac once 3D Slicer is installed we will + +0:01:30.110,0:01:33.740 +also need to install certain extensions + +0:01:33.740,0:01:37.070 +that are designed to help you visualize + +0:01:37.070,0:01:45.030 +the data generated by dcmqi + +0:01:45.030,0:01:50.010 +to do that he will need to open extension + +0:01:50.010,0:01:52.440 +manager and search for quantitative + +0:01:52.440,0:01:57.570 +reporting extension the dependences of + +0:01:57.570,0:01:59.759 +quantitative reporting will be installed + +0:01:59.759,0:02:02.159 +automatically and include dcmqi extension + +0:02:02.159,0:02:05.670 +you can also install TCIA browser which + +0:02:05.670,0:02:07.979 +is an extension that provides the + +0:02:07.979,0:02:10.590 +interface to the cancer imaging archive + +0:02:10.590,0:02:12.959 +of the National Cancer Institute it can + +0:02:12.959,0:02:14.940 +be handy to retrieve sample data sets + +0:02:14.940,0:02:18.209 +that we will use in the tutorial + +0:02:18.209,0:02:23.489 +finally the last tool that you can + +0:02:23.489,0:02:28.260 +install he is the atom editor atom is a + +0:02:28.260,0:02:30.540 +modern editor which is extensible via + +0:02:30.540,0:02:35.730 +plugins and we provide a plug-in that + +0:02:35.730,0:02:38.940 +allows you to look into the content of + +0:02:38.940,0:02:42.390 +dicom data this plugin can be helpful to + +0:02:42.390,0:02:45.600 +explore the objects that you create as + +0:02:45.600,0:02:47.550 +part of the conversion while using dcmqi + +0:02:47.550,0:02:52.500 +search for the dicom dump package in + +0:02:52.500,0:02:54.840 +the install packages menu of the item + +0:02:54.840,0:02:57.750 +browser item editor install the package + +0:02:57.750,0:03:00.840 +and once you've done that go to the + +0:03:00.840,0:03:06.180 +settings and make sure that path to the + +0:03:06.180,0:03:09.329 +dcmtk installation that is listed in the + +0:03:09.329,0:03:11.880 +settings option of the editor is + +0:03:11.880,0:03:13.739 +populated with the path as shown on the + +0:03:13.739,0:03:18.799 +screen diff --git a/tutorials/intro-cc/dcmqi-part2-updated.sbv b/tutorials/intro-cc/dcmqi-part2-updated.sbv new file mode 100644 index 0000000..c126f86 --- /dev/null +++ b/tutorials/intro-cc/dcmqi-part2-updated.sbv @@ -0,0 +1,351 @@ +0:00:00.000,0:00:04.859 +in this video we are going to go over + +0:00:02.700,0:00:09.929 +the task of segmenting the structure + +0:00:04.859,0:00:11.519 +using ITK snap segmentation tool and + +0:00:09.929,0:00:17.450 +converting the result into dicom + +0:00:11.519,0:00:21.670 +representation using dcmqi converters + +0:00:17.450,0:00:25.840 +in preparation to this + +0:00:21.670,0:00:29.050 +video recording I saved the dicom + +0:00:25.840,0:00:31.390 +dataset into a temporary directory and + +0:00:29.050,0:00:34.900 +installed ITK snap on my computer + +0:00:31.390,0:00:38.290 +i'm going to launch ITK snap and + +0:00:34.900,0:00:42.160 +load the image data which is a dicom + +0:00:38.290,0:00:44.680 +series and you will find a link to the + +0:00:42.160,0:00:47.620 +dicom series that I use here in the + +0:00:44.680,0:00:53.019 +supporting materials for this video so + +0:00:47.620,0:00:55.600 +as I can see it's an MRI series of + +0:00:53.019,0:00:58.239 +the brain and for this simple example + +0:00:55.600,0:01:00.070 +I'm going to segment ventricles just to + +0:00:58.239,0:01:02.049 +make it quick for the demonstration + +0:01:00.070,0:01:04.449 +purposes I'm not going to describe your + +0:01:02.049,0:01:07.840 +how segmentation is done using + +0:01:04.449,0:01:10.690 +ITK snap in detail but you can check + +0:01:07.840,0:01:12.400 +out the ITK snap homepage for the very + +0:01:10.690,0:01:15.430 +excellent tutorials that they provide + +0:01:12.400,0:01:17.950 +that should be able to help you with a + +0:01:15.430,0:01:19.960 +segmentation itself our tutorial is + +0:01:17.950,0:01:23.200 +focusing on the conversion task and I'm + +0:01:19.960,0:01:26.200 +going to just go over the steps to + +0:01:23.200,0:01:28.630 +create the final result so I created the + +0:01:26.200,0:01:32.020 +speed image I'm going to create this + +0:01:28.630,0:01:36.670 +label which i will call ventricles know + +0:01:32.020,0:01:39.429 +the color of this label next once + +0:01:36.670,0:01:44.649 +the speed image is ready I'm + +0:01:39.429,0:01:46.179 +going to I create initialization for the + +0:01:44.649,0:01:52.719 +segmentation process I'm going to place + +0:01:46.179,0:01:58.719 +some bubbles and I am going to launch + +0:01:52.719,0:02:03.939 +the segmentation as you see the + +0:01:58.719,0:02:08.319 +segmentation contour is evolving and very + +0:02:03.939,0:02:10.750 +quickly it covers the space inside the + +0:02:08.319,0:02:13.360 +ventricles looks good to me so I'm going + +0:02:10.750,0:02:15.460 +to stop you can see the result is overlay + +0:02:13.360,0:02:18.460 +here and as a three-dimensional + +0:02:15.460,0:02:20.860 +structure here so that's that's the data + +0:02:18.460,0:02:25.180 +said that I want to export into dicom + +0:02:20.860,0:02:29.110 +and in ITK snap i will use the + +0:02:25.180,0:02:32.140 +segmentation export into nrrd image + +0:02:29.110,0:02:33.880 +format it's a very popular format in the + +0:02:32.140,0:02:36.010 +image + +0:02:33.880,0:02:38.650 +processing field in clinical image + +0:02:36.010,0:02:42.580 +analysis and I'm going to save this + +0:02:38.650,0:02:45.040 +result as nrrd file into my temporary + +0:02:42.580,0:02:52.640 +directory side-by-side with my dicom + +0:02:45.040,0:02:56.150 +data + +0:02:52.640,0:02:58.100 +In our directory we have the folder with the + +0:02:56.150,0:03:00.709 +source dicom data and we have the + +0:02:58.100,0:03:04.580 +ventricles segmentation result saved as + +0:03:00.709,0:03:08.420 +nrrd file what we have to do next is to + +0:03:04.580,0:03:11.540 +create the metadata saved in json to + +0:03:08.420,0:03:15.260 +facilitate the task of conversion to + +0:03:11.540,0:03:17.900 +help with this task we created a web + +0:03:15.260,0:03:20.959 +application that allows you to populate + +0:03:17.900,0:03:23.120 +in a visual convenient manner different + +0:03:20.959,0:03:25.550 +attributes that are required by the + +0:03:23.120,0:03:29.420 +converter so for the content creator + +0:03:25.550,0:03:32.030 +name i'm going to put my name for the + +0:03:29.420,0:03:36.860 +series description which is a free text + +0:03:32.030,0:03:41.030 +field segmentation of ventricles for the + +0:03:36.860,0:03:44.570 +body part examined it's a brain here i'm + +0:03:41.030,0:03:48.260 +going to choose the list that defines + +0:03:44.570,0:03:51.769 +the terminology to be used and I will + +0:03:48.260,0:03:54.680 +need to populate this form for each of + +0:03:51.769,0:03:58.370 +the segments in our instance we have + +0:03:54.680,0:04:00.200 +only one segment I will put again + +0:03:58.370,0:04:04.760 +description of this segment it's + +0:04:00.200,0:04:08.180 +ventricles are segments algorithm name ITK + +0:04:04.760,0:04:10.340 +snap for the segmented category the + +0:04:08.180,0:04:13.160 +choice here is anatomical structure and + +0:04:10.340,0:04:17.120 +now here I can start typing and I + +0:04:13.160,0:04:19.880 +see that brain ventricle is good match i + +0:04:17.120,0:04:25.160 +will initialize the color to be the same + +0:04:19.880,0:04:26.960 +color that we used in ITK snap that also + +0:04:25.160,0:04:31.550 +can be communicated in the metadata file + +0:04:26.960,0:04:35.720 +and now one very important attribute + +0:04:31.550,0:04:39.020 +here is this label ID label ID is the + +0:04:35.720,0:04:41.840 +number that links the section of the + +0:04:39.020,0:04:46.220 +JSON file described in this segment with + +0:04:41.840,0:04:48.080 +the label saved in the nrrd file so if + +0:04:46.220,0:04:50.720 +i go back to ITK snap i can see that + +0:04:48.080,0:04:53.570 +the label that i was assigned in the + +0:04:50.720,0:04:56.600 +output segmentation image is five + +0:04:53.570,0:05:00.050 +this means i need to specify five are in + +0:04:56.600,0:05:02.960 +my metadata now i'm ready i generated + +0:05:00.050,0:05:04.080 +this JSON content i will download and + +0:05:02.960,0:05:07.470 +save it into this + +0:05:04.080,0:05:10.470 +same directory where my segmentation and + +0:05:07.470,0:05:16.530 +source dicom data is located so now we + +0:05:10.470,0:05:19.889 +should be all set to do the conversion I + +0:05:16.530,0:05:22.259 +pre-populated this command line but + +0:05:19.889,0:05:24.810 +let's take a moment to look what is here + +0:05:22.259,0:05:26.849 +the important argument to the + +0:05:24.810,0:05:29.610 +run command is this dash v command that + +0:05:26.849,0:05:32.460 +essentially points the + +0:05:29.610,0:05:34.770 +converter to the content of the + +0:05:32.460,0:05:36.780 +directory with the beta so that + +0:05:34.770,0:05:41.099 +directory where I have all my data will + +0:05:36.780,0:05:43.800 +be mapped to /tmp/dcmqi directory and + +0:05:41.099,0:05:47.639 +now I need to use the command line + +0:05:43.800,0:05:49.110 +arguments to specify the input dicom + +0:05:47.639,0:05:52.710 +directory that's where the source they + +0:05:49.110,0:05:56.520 +dicom files are located the path to the + +0:05:52.710,0:05:59.069 +input metadata in JSON format input + +0:05:56.520,0:06:02.370 +image list which is short just one file + +0:05:59.069,0:06:06.060 +with the ventricles segmentation and the + +0:06:02.370,0:06:09.000 +filename to store the result of + +0:06:06.060,0:06:12.060 +conversion in dicom I run the converter + +0:06:09.000,0:06:15.509 +and it's completed successfully and now + +0:06:12.060,0:06:22.370 +i can see the result of conversion they + +0:06:15.509,0:06:22.370 +can file saved in the same directory + diff --git a/tutorials/intro-cc/dcmqi-part3-updated.sbv b/tutorials/intro-cc/dcmqi-part3-updated.sbv new file mode 100644 index 0000000..f6f16be --- /dev/null +++ b/tutorials/intro-cc/dcmqi-part3-updated.sbv @@ -0,0 +1,330 @@ +0:00:04.740,0:00:12.209 +now that we have completed the task of + +0:00:09.629,0:00:14.669 +data conversion of course it's + +0:00:12.209,0:00:17.130 +interesting to see that related quick + +0:00:14.669,0:00:19.619 +process to do that we will use 3D Slicer + +0:00:17.130,0:00:24.570 +application that we installed in + +0:00:19.619,0:00:27.090 +the setup step of this tutorial so I'm + +0:00:24.570,0:00:31.230 +going to launch the 3D Slicer + +0:00:27.090,0:00:34.920 +application and i'm going to use the + +0:00:31.230,0:00:38.250 +dicom browser to import the data set + +0:00:34.920,0:00:40.409 +that we have just created so i'm going + +0:00:38.250,0:00:43.500 +to point it to this directory and this + +0:00:40.409,0:00:47.070 +will import both the source dicom images + +0:00:43.500,0:00:51.900 +and the segmentation represented as dicom + +0:00:47.070,0:00:54.269 +into my local dicom database so now + +0:00:51.900,0:00:57.449 +if you look at the list i have just one + +0:00:54.269,0:01:00.449 +patient this patient has one study and + +0:00:57.449,0:01:03.449 +the study consists of two series one is + +0:01:00.449,0:01:06.119 +the mr imaging series that we've been + +0:01:03.449,0:01:08.880 +segmenting earlier and another one is the + +0:01:06.119,0:01:10.799 +result of segmentation that we produced + +0:01:08.880,0:01:14.159 +so i'm going to select the segmentation + +0:01:10.799,0:01:15.780 +result and click load button so now you + +0:01:14.159,0:01:18.060 +can see this message which basically + +0:01:15.780,0:01:21.990 +tells you that your segmentation + +0:01:18.060,0:01:25.380 +was done on this MRI series + +0:01:21.990,0:01:26.999 +they want to load the image and of + +0:01:25.380,0:01:31.289 +course it makes sense because in this + +0:01:26.999,0:01:33.149 +doesn't help to look at segmentation + +0:01:31.289,0:01:36.749 +without the context so i'm going to + +0:01:33.149,0:01:41.280 +click proceed and now you can see that + +0:01:36.749,0:01:45.060 +both the segmentation and the image that + +0:01:41.280,0:01:45.929 +I was a segmenting are loaded into 3D + +0:01:45.060,0:01:47.759 +slicer + +0:01:45.929,0:01:50.549 +so now i can you follow the capabilities + +0:01:47.759,0:01:53.189 +of the slicer to work with this data and + +0:01:50.549,0:01:55.950 +as you can see the color is preserved + +0:01:53.189,0:02:01.889 +the spatial location is preserved and if + +0:01:55.950,0:02:04.829 +i go to the segment editor module and + +0:02:01.889,0:02:08.640 +mouse over this region i can see that + +0:02:04.829,0:02:10.830 +the information about what this + +0:02:08.640,0:02:12.209 +segmentation is is also preserve they + +0:02:10.830,0:02:14.970 +can see that it's an anatomical + +0:02:12.209,0:02:16.500 +structure and specifically brain + +0:02:14.970,0:02:19.920 +ventricle + +0:02:16.500,0:02:22.290 +next what I'm going to do is to load + +0:02:19.920,0:02:24.420 +another dataset which you can also + +0:02:22.290,0:02:27.540 +download if you follow the links in the + +0:02:24.420,0:02:34.470 +tutorial I downloaded this data set + +0:02:27.540,0:02:37.170 +from from the QIN collection you + +0:02:34.470,0:02:41.550 +can learn more about this data set if + +0:02:37.170,0:02:47.640 +you go to this page and if you follow + +0:02:41.550,0:02:51.090 +and read this paper so i'm going to + +0:02:47.640,0:02:54.870 +import this data set that is including + +0:02:51.090,0:02:57.630 +series of pet image acquisition it + +0:02:54.870,0:03:00.570 +includes segmentations of the primary + +0:02:57.630,0:03:01.440 +tumor and various on affected lymph + +0:03:00.570,0:03:04.440 +nodes + +0:03:01.440,0:03:08.310 +it also includes the measurements that + +0:03:04.440,0:03:10.500 +were done over the segment structures so + +0:03:08.310,0:03:13.290 +all of this is represented using dicom + +0:03:10.500,0:03:17.640 +and now is being imported into my local + +0:03:13.290,0:03:21.299 +database local.com database this takes a + +0:03:17.640,0:03:36.260 +bit longer because this is a large + +0:03:21.299,0:03:42.019 +larger series + +0:03:36.260,0:03:43.730 +ok so again i have this new patient i + +0:03:42.019,0:03:45.650 +have one study for this patient and you + +0:03:43.730,0:03:47.689 +can see that this study consists of a + +0:03:45.650,0:03:50.540 +pet series of consists a ct Series + +0:03:47.689,0:03:52.730 +something else structured report and + +0:03:50.540,0:03:55.159 +various segmentations so what I'm + +0:03:52.730,0:03:58.280 +going to do is select the structured + +0:03:55.159,0:04:00.230 +report and click the load button now + +0:03:58.280,0:04:02.090 +remember that as part of the setup + +0:04:00.230,0:04:04.069 +installed the quantitative reporting + +0:04:02.090,0:04:06.409 +extension and that's the extension of + +0:04:04.069,0:04:09.769 +3D Slicer that can make sense out of + +0:04:06.409,0:04:12.140 +this data and pull of the dependences + +0:04:09.769,0:04:14.870 +alongside with a structured report into + +0:04:12.140,0:04:16.639 +the main application now that this + +0:04:14.870,0:04:20.449 +process is completed you can see that + +0:04:16.639,0:04:23.990 +the pet series after applying the + +0:04:20.449,0:04:25.850 +standardized uptake very correction has + +0:04:23.990,0:04:27.590 +been loaded and you can see also the + +0:04:25.850,0:04:29.960 +overlay of the segmentations multiple + +0:04:27.590,0:04:30.949 +structures that were segmented for for + +0:04:29.960,0:04:32.810 +this patient + +0:04:30.949,0:04:37.460 +next I'm going to go to the quantitative + +0:04:32.810,0:04:43.099 +reporting extension select the loaded a + +0:04:37.460,0:04:46.039 +data set here and enable crosshair so + +0:04:43.099,0:04:47.840 +now what I can do is go over the + +0:04:46.039,0:04:49.280 +structures that were cemented this + +0:04:47.840,0:04:51.320 +particular patient I can automatically + +0:04:49.280,0:05:04.129 +scroll to the location of the structure + +0:04:51.320,0:05:08.149 +of course I can also see it in 3d + +0:05:04.129,0:05:10.069 +and you can also see that I have various + +0:05:08.149,0:05:12.349 +types of measurements calculated over + +0:05:10.069,0:05:14.719 +this segmentation so I know what is a + +0:05:12.349,0:05:19.339 +min signal over the region of interest + +0:05:14.719,0:05:22.279 +what is the distribution of the pixel + +0:05:19.339,0:05:27.379 +intensities and so forth all this data + +0:05:22.279,0:05:30.499 +measurements segmentations images were + +0:05:27.379,0:05:32.989 +loaded from dicom and all of them are + +0:05:30.499,0:05:35.569 +accompanied by the metadata which is + +0:05:32.989,0:05:38.449 +critical for meaningful analysis of this + +0:05:35.569,0:05:39.439 +data so for example for the segmentation + +0:05:38.449,0:05:42.529 +results + +0:05:39.439,0:05:46.279 +I know what structure is segmented by + +0:05:42.529,0:05:48.409 +using SNOMED terminology and for the + +0:05:46.279,0:05:55.719 +measurements I know what the quantities + +0:05:48.409,0:05:55.719 +and units assigned to these measurements +