{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# AI4M Course 1 week 3 lecture notebook"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"# Explore the data\n",
"\n",
"\n",
"\n",
"In this week's assignment, you'll be working with 3D MRI brain scans from the public [Medical Segmentation Decathlon](https://decathlon-10.grand-challenge.org/) challenge project. This is an incredibly rich dataset that provides you with labels associated with each point (voxel) inside a 3D representation of a patient's brain. Ultimately, in this week's assignment, you will train a neural network to make three-dimensional spatial segmentation predictions for common brain disorders. \n",
"\n",
"In this notebook, you're all set up to explore this exciting dataset. Run the code below and tweak it to explore further!"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Import packages\n",
"For this lab, you'll import some of the packages you've seen before (`numpy`, `matplotlib` and `seaborn`) as well as some new ones for reading (`nibabel`) and visualizing (`itk`, `itkwidgets`, `ipywidgets`) the data. Run the next cell to import these packages."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# Import all the necessary packages\n",
"import numpy as np\n",
"import nibabel as nib\n",
"import itk\n",
"import itkwidgets\n",
"from ipywidgets import interact, interactive, IntSlider, ToggleButtons\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline\n",
"import seaborn as sns\n",
"sns.set_style('darkgrid')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Loading Images of the brain\n",
"Run the next cell to grab a single 3D MRI brain scan"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Type of the image \n"
]
}
],
"source": [
"# Define the image path and load the data\n",
"image_path = \"BraTS-Data/imagesTr/BRATS_001.nii.gz\"\n",
"image_obj = nib.load(image_path)\n",
"print(f'Type of the image {type(image_obj)}')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Extract the data as a numpy array\n",
"Run the next cell to extract the data using the `get_fdata()` method of the image object"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"numpy.ndarray"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Extract data as numpy ndarray\n",
"image_data = image_obj.get_fdata()\n",
"type(image_data)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The image object has the following dimensions: height: 240, width:240, depth:155, channels:4\n"
]
}
],
"source": [
"# Get the image shape and print it out\n",
"height, width, depth, channels = image_data.shape\n",
"print(f\"The image object has the following dimensions: height: {height}, width:{width}, depth:{depth}, channels:{channels}\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"As you can see these \"image objects\" are actually 4 dimensional! With the exploratory steps below you'll get a better sense of exactly what each of these dimensions represents.\n",
"\n",
"### Visualize the data\n",
"The \"depth\" listed above indicates that there are 155 layers (slices through the brain) in every image object. To visualize a single layer, run the cell below. Note that if the layer is one of the first or the last (`i` near 0 or 154), you won't find much information and the screen will be dark. Run this cell multiple times to look at different layers. \n",
"\n",
"The code is set up to grab a random layer but you can select a specific layer by choosing a value for `i` from 0 to 154. You can also change which channel you're looking at by changing the `channel` variable.\n",
"\n",
"Keep in mind that you could just as easily look at slices of this image object along the height or width dimensions. If you wish to do so, just shift `i` to a different dimension in the `plt.imshow()` command below. Which slice direction looks the most interesting to you?"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Plotting Layer 88 Channel 3 of Image\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"