├── Chapter1_Exploration.ipynb ├── Chapter2_Masks_and_Filters.ipynb ├── Chapter3_Measurement.ipynb ├── Chapter4_Image_Comparison.ipynb ├── Data ├── ID00007637202177411956430 │ ├── 1.dcm │ ├── 10.dcm │ ├── 11.dcm │ ├── 12.dcm │ ├── 13.dcm │ ├── 14.dcm │ ├── 15.dcm │ ├── 16.dcm │ ├── 17.dcm │ ├── 18.dcm │ ├── 19.dcm │ ├── 2.dcm │ ├── 20.dcm │ ├── 21.dcm │ ├── 22.dcm │ ├── 23.dcm │ ├── 24.dcm │ ├── 25.dcm │ ├── 26.dcm │ ├── 27.dcm │ ├── 28.dcm │ ├── 29.dcm │ ├── 3.dcm │ ├── 30.dcm │ ├── 4.dcm │ ├── 5.dcm │ ├── 6.dcm │ ├── 7.dcm │ ├── 8.dcm │ └── 9.dcm ├── dicom_00000001_000.dcm ├── oasis_all_volumes.csv ├── sunnybrook-cardiac-mr.zip └── tcia-chest-ct-sample.zip ├── Images ├── ConvolutionGif.gif ├── Plot_other_views.png ├── affine_transform.png ├── creating_mask.png ├── generate_subplots.png ├── hand.png ├── hand_xray.jpg ├── plotting.png ├── rotations.png ├── smoothing.png ├── stacked_images.png └── testing_group_differences.png └── README.md /Chapter3_Measurement.ipynb: -------------------------------------------------------------------------------- 1 | {"nbformat":4,"nbformat_minor":0,"metadata":{"colab":{"name":"Chapter3_Measurement.ipynb","provenance":[],"collapsed_sections":[],"toc_visible":true,"mount_file_id":"1_SkZWzql3hbhK-UQi017SiYU8l6-WIcS","authorship_tag":"ABX9TyPj5ajpbWP4DDVOT9puwfqr"},"kernelspec":{"name":"python3","display_name":"Python 3"}},"cells":[{"cell_type":"markdown","metadata":{"id":"aJc-kqcugRAk"},"source":["# BIOMEDICAL IMAGE ANALYSIS /WITH PYTHON\n"," [datacamp.com](www.datacamp.com)\n","\n"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"2iJTcHwHyaeu","executionInfo":{"status":"ok","timestamp":1612446350597,"user_tz":-60,"elapsed":1030,"user":{"displayName":"Elena Gaetje","photoUrl":"","userId":"11361710794877359035"}},"outputId":"2869ac39-bdaa-4d4e-90a2-349c0170f0a4"},"source":["# Project Folder:\n","%cd /content/drive/MyDrive/2020_08_Biomedical_Image_Processing_Datacamp"],"execution_count":null,"outputs":[{"output_type":"stream","text":["/content/drive/MyDrive/2020_08_Biomedical_Image_Processing_Datacamp\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"M2RVa33hNVon"},"source":["import imageio"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"NjfCMsHUTt7s","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1612437940800,"user_tz":-60,"elapsed":2529,"user":{"displayName":"Elena Gaetje","photoUrl":"","userId":"11361710794877359035"}},"outputId":"05d4139f-1f67-4656-fd9e-c9eb4e0878f6"},"source":["!curl -OL https://github.com/tensorflow/io/raw/master/docs/tutorials/dicom/dicom_00000001_000.dcm\n","!ls -l dicom_00000001_000.dcm"],"execution_count":null,"outputs":[{"output_type":"stream","text":[" % Total % Received % Xferd Average Speed Time Time Time Current\n"," Dload Upload Total Spent Left Speed\n","100 164 0 164 0 0 575 0 --:--:-- --:--:-- --:--:-- 575\n","100 1024k 100 1024k 0 0 643k 0 0:00:01 0:00:01 --:--:-- 936k\n","-rw------- 1 root root 1049332 Feb 4 11:25 dicom_00000001_000.dcm\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"1yGF8oiUVRFl"},"source":["# Install required Packages, and restart runtime\n","try:\n"," # Use the Colab's preinstalled TensorFlow 2.x\n"," %tensorflow_version 2.x \n","except:\n"," pass"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"QhsUPj05V7Aq","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1612437958970,"user_tz":-60,"elapsed":7083,"user":{"displayName":"Elena Gaetje","photoUrl":"","userId":"11361710794877359035"}},"outputId":"c167d5de-a9d1-44d3-9168-faea50691371"},"source":["!pip install tensorflow-io"],"execution_count":null,"outputs":[{"output_type":"stream","text":["Collecting tensorflow-io\n","\u001b[?25l Downloading https://files.pythonhosted.org/packages/07/3c/b45c30448cd6a04f25b088da024229149323fa44bc6322a7372bb556eada/tensorflow_io-0.17.0-cp36-cp36m-manylinux2010_x86_64.whl (25.3MB)\n","\u001b[K |████████████████████████████████| 25.3MB 1.5MB/s \n","\u001b[?25hRequirement already satisfied: tensorflow<2.5.0,>=2.4.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow-io) (2.4.1)\n","Requirement already satisfied: gast==0.3.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (0.3.3)\n","Requirement already satisfied: google-pasta~=0.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (0.2.0)\n","Requirement already satisfied: absl-py~=0.10 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (0.10.0)\n","Requirement already satisfied: keras-preprocessing~=1.1.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.1.2)\n","Requirement already satisfied: numpy~=1.19.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.19.5)\n","Requirement already satisfied: flatbuffers~=1.12.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.12)\n","Requirement already satisfied: termcolor~=1.1.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.1.0)\n","Requirement already satisfied: typing-extensions~=3.7.4 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (3.7.4.3)\n","Requirement already satisfied: grpcio~=1.32.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.32.0)\n","Requirement already satisfied: tensorflow-estimator<2.5.0,>=2.4.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (2.4.0)\n","Requirement already satisfied: opt-einsum~=3.3.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (3.3.0)\n","Requirement already satisfied: astunparse~=1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.6.3)\n","Requirement already satisfied: wrapt~=1.12.1 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.12.1)\n","Requirement already satisfied: tensorboard~=2.4 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (2.4.1)\n","Requirement already satisfied: h5py~=2.10.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (2.10.0)\n","Requirement already satisfied: six~=1.15.0 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.15.0)\n","Requirement already satisfied: wheel~=0.35 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (0.36.2)\n","Requirement already satisfied: protobuf>=3.9.2 in /usr/local/lib/python3.6/dist-packages (from tensorflow<2.5.0,>=2.4.0->tensorflow-io) (3.12.4)\n","Requirement already satisfied: werkzeug>=0.11.15 in /usr/local/lib/python3.6/dist-packages (from tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.0.1)\n","Requirement already satisfied: google-auth<2,>=1.6.3 in /usr/local/lib/python3.6/dist-packages (from tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.24.0)\n","Requirement already satisfied: setuptools>=41.0.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (53.0.0)\n","Requirement already satisfied: requests<3,>=2.21.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (2.23.0)\n","Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.6/dist-packages (from tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (3.3.3)\n","Requirement already satisfied: google-auth-oauthlib<0.5,>=0.4.1 in /usr/local/lib/python3.6/dist-packages (from tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (0.4.2)\n","Requirement already satisfied: tensorboard-plugin-wit>=1.6.0 in /usr/local/lib/python3.6/dist-packages (from tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.8.0)\n","Requirement already satisfied: rsa<5,>=3.1.4; python_version >= \"3.6\" in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (4.7)\n","Requirement already satisfied: pyasn1-modules>=0.2.1 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (0.2.8)\n","Requirement already satisfied: cachetools<5.0,>=2.0.0 in /usr/local/lib/python3.6/dist-packages (from google-auth<2,>=1.6.3->tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (4.2.1)\n","Requirement already satisfied: idna<3,>=2.5 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (2.10)\n","Requirement already satisfied: chardet<4,>=3.0.2 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (3.0.4)\n","Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (2020.12.5)\n","Requirement already satisfied: urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 in /usr/local/lib/python3.6/dist-packages (from requests<3,>=2.21.0->tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.24.3)\n","Requirement already satisfied: importlib-metadata; python_version < \"3.8\" in /usr/local/lib/python3.6/dist-packages (from markdown>=2.6.8->tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (3.4.0)\n","Requirement already satisfied: requests-oauthlib>=0.7.0 in /usr/local/lib/python3.6/dist-packages (from google-auth-oauthlib<0.5,>=0.4.1->tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (1.3.0)\n","Requirement already satisfied: pyasn1>=0.1.3 in /usr/local/lib/python3.6/dist-packages (from rsa<5,>=3.1.4; python_version >= \"3.6\"->google-auth<2,>=1.6.3->tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (0.4.8)\n","Requirement already satisfied: zipp>=0.5 in /usr/local/lib/python3.6/dist-packages (from importlib-metadata; python_version < \"3.8\"->markdown>=2.6.8->tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (3.4.0)\n","Requirement already satisfied: oauthlib>=3.0.0 in /usr/local/lib/python3.6/dist-packages (from requests-oauthlib>=0.7.0->google-auth-oauthlib<0.5,>=0.4.1->tensorboard~=2.4->tensorflow<2.5.0,>=2.4.0->tensorflow-io) (3.1.0)\n","Installing collected packages: tensorflow-io\n","Successfully installed tensorflow-io-0.17.0\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"sytwWMj9WLbK"},"source":["import matplotlib.pyplot as plt\n","import numpy as np\n","import imageio\n","\n","import scipy.ndimage as ndi\n","import matplotlib.pyplot as plt\n","import tensorflow as tf\n","import tensorflow_io as tfio"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"R0jOIo58WXB1"},"source":["im = imageio.imread('./Data/dicom_00000001_000.dcm')"],"execution_count":null,"outputs":[]},{"cell_type":"code","metadata":{"id":"Qjm45cyvXPU6","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1612446556790,"user_tz":-60,"elapsed":907,"user":{"displayName":"Elena Gaetje","photoUrl":"","userId":"11361710794877359035"}},"outputId":"e84622b1-6802-47f3-91c3-d766658f7eab"},"source":["# Print image attributes\n","print('Image type:', type(im))\n","print('Shape of image array:', im.shape)"],"execution_count":null,"outputs":[{"output_type":"stream","text":["Image type: \n","Shape of image array: (1024, 1024)\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"id":"vk5rYjfrSLqZ","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1612448571030,"user_tz":-60,"elapsed":631,"user":{"displayName":"Elena Gaetje","photoUrl":"","userId":"11361710794877359035"}},"outputId":"8c9c296b-2536-4b4c-fff6-9aab3ae08867"},"source":["# Stacking multiple images\n","\n","# Import ImageIO and NumPy\n","import imageio\n","import numpy as np\n","\n","# Read in each 2D image\n","im1 = imageio.imread('./Data/ID00007637202177411956430/1.dcm')\n","im2 = imageio.imread('./Data/ID00007637202177411956430/10.dcm')\n","im3 = imageio.imread('./Data/ID00007637202177411956430/11.dcm')\n","print(im1.shape)\n","\n","# Stack images into a volume\n","vol = np.stack([im1, im2, im3], axis=0)\n","\n","print('Volume dimensions:', vol.shape)"],"execution_count":null,"outputs":[{"output_type":"stream","text":["(512, 512)\n","Volume dimensions: (3, 512, 512)\n"],"name":"stdout"}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/"},"id":"QfCOMUiKbtHh","executionInfo":{"status":"ok","timestamp":1612448726255,"user_tz":-60,"elapsed":1370,"user":{"displayName":"Elena Gaetje","photoUrl":"","userId":"11361710794877359035"}},"outputId":"db49fd5f-6f93-443d-a284-2d86be91bbbc"},"source":["# Load the directory of dcm images:\n","vol = imageio.volread('./Data/ID00007637202177411956430')\n","\n","# Print image attributes\n","print('Available metadata:', vol.meta.keys())\n","print('Shape of image array:', vol.shape)"],"execution_count":null,"outputs":[{"output_type":"stream","text":["Reading DICOM (examining files): 1/30 files (3.3%)\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b30/30 files (100.0%)\n"," Found 1 correct series.\n","Reading DICOM (loading data): 30/30 (100.0%)\n","Available metadata: odict_keys(['TransferSyntaxUID', 'SOPInstanceUID', 'Modality', 'Manufacturer', 'PatientName', 'PatientID', 'PatientSex', 'StudyInstanceUID', 'SeriesInstanceUID', 'InstanceNumber', 'ImagePositionPatient', 'ImageOrientationPatient', 'SamplesPerPixel', 'Rows', 'Columns', 'PixelSpacing', 'BitsAllocated', 'BitsStored', 'HighBit', 'PixelRepresentation', 'RescaleIntercept', 'RescaleSlope', 'PixelData', 'shape', 'sampling'])\n","Shape of image array: (30, 512, 512)\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"4grlFd6tw5oU"},"source":["#CHAPTER 3: MEASUREMENT#"]},{"cell_type":"markdown","metadata":{"id":"MENCWFX76IQe"},"source":["## Objects and Labels\n","In this chapter, we'll discuss how you can measure one or more component parts of your image. We'll start by learning how to label objects.\n","\n","[link text](https:// [link text](https:// [link text](https://)))"]},{"cell_type":"markdown","metadata":{"id":"DxfiqL8lxznd"},"source":["### Segmentation splits an image into parts\n","Segmentation is the process of splitting an image into separate objects. Since whole careers can be spent developing segmentation techniques, we will focus mostly on how to analyze the resulting objects."]},{"cell_type":"markdown","metadata":{"id":"Zr79Pe5Bx31V"},"source":["\n","### Sunnybrook Cardiac Database\n","For this chapter, we will analyze cardiac magnetic resonance imaging data from the Sunnybrook Cardiac Database. Each Sunnybrook dataset contains a 3D time series of a person's heart over the course of a single heartbeat. The end goal is to measure the proportion of blood that's pumped out of the left ventricle, a measure known as the ejection fraction. In this image, the left ventricle is the circular cavity in the center. Abnormal ejection fractions can indicate urgent health issues.\n","\n"]},{"cell_type":"markdown","metadata":{"id":"T0G5k8Urx8Sb"},"source":["### Labeling image components\n","Our first step towards calculating the ejection fraction is to segment the left ventricle from the rest of the image. For these MRI data, fluid-filled areas have high-intensity values. So, one approach is to take the original image, filter it to reduce noise and smooth edges, then mask it to select pixels with relatively high values. This does a good job of segmenting the left ventricle, but now we need to remove the pixels that are part of other objects.\n","\n","We can do this using SciPy's label() function. First, we'll create the mask we saw in the last slide by reading in the file, applying a small Gaussian filter, then masking pixels with intensities lower than 150. Next, we \"label\" the mask. The labeling algorithm treats 0 values as background pixels, and then it looks for all of the objects that are separated by background. It then returns an array where each object has been indexed, as well as the number of objects detected. It seems we have 14 distinct objects in this image. Plotting the labels with the rainbow colormap shows that the circular left ventricle region in the center has been assigned a unique label value.\n","\n"]},{"cell_type":"markdown","metadata":{"id":"iOXS7Isgx_lK"},"source":["### Label selection\n","You can now select individual objects by referencing their index value. To select pixels in the first object, you would use \"where labels is 1, return the value from im, else return 0\". Alternatively, you can select a number of labels meeting a condition. Calling \"where labels is less than 3, return im, else 0\" will select pixels from the first and second objects.\n"]},{"cell_type":"markdown","metadata":{"id":"CHyNYshMyCIa"},"source":["### Object extraction\n","A bounding box is the range of indices along each axis which completely enclose an object. You can use the bounding box to extract objects from the larger image. The find_objects() function can create these bounding boxes for you.\n","\n","When you run find_objects() on a labeled array, it will return a list of bounding boxes. Each item in the returned list is a tuple of index ranges - one slice for each dimension. Indexing the original image using one of these boxes will yield an image cropped to that object. You could then analyze each of these arrays individually."]},{"cell_type":"markdown","metadata":{"id":"ZcDMwG6FxWP_"},"source":["#### Exercise: Segment The Heart\n","\n","In this chapter, we'll work with magnetic resonance (MR) imaging data from the Sunnybrook Cardiac Dataset. The full image is a 3D time series spanning a single heartbeat. These data are used by radiologists to measure the ejection fraction: the proportion of blood ejected from the left ventricle during each stroke.\n","\n","To begin, segment the left ventricle from a single slice of the volume (im). First, you'll filter and mask the image; then you'll label each object with ndi.label().\n"]},{"cell_type":"code","metadata":{"id":"aJ6EuyD0svHE","colab":{"base_uri":"https://localhost:8080/"},"executionInfo":{"status":"ok","timestamp":1612457356880,"user_tz":-60,"elapsed":671,"user":{"displayName":"Elena Gaetje","photoUrl":"","userId":"11361710794877359035"}},"outputId":"67fea83e-f634-47b9-9fe8-ff8f9d45c6c8"},"source":["# Smooth intensity values\n","im_filt = ndi.median_filter(im, size=3)\n","\n","# Select high-intensity pixels\n","mask_start = np.where(im_filt>60, 1, 0)\n","mask = ndi.binary_closing(mask_start)\n","\n","# Label the objects in \"mask\"\n","labels, nlabels = ndi.label(mask)\n","print('Num. Labels:', nlabels)"],"execution_count":null,"outputs":[{"output_type":"stream","text":["Num. Labels: 103\n"],"name":"stdout"}]},{"cell_type":"markdown","metadata":{"id":"g73-Vfu29fbD"},"source":["#### Exercise: Select Objects\n","Labels are like object \"handles\" - they give you a way to pick up whole sets of pixels at a time. To select a particular object:\n","\n","Find the label value associated with the object.\n","Create a mask of matching pixels.\n","For this exercise, create a labeled array from the provided mask. Then, find the label value for the centrally-located left ventricle, and create a mask for it.\n"]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":286},"id":"1IElIKGL_FaV","executionInfo":{"status":"ok","timestamp":1612458063845,"user_tz":-60,"elapsed":978,"user":{"displayName":"Elena Gaetje","photoUrl":"","userId":"11361710794877359035"}},"outputId":"83903078-efbd-4f29-a0a8-07b4444b09ea"},"source":["'''\n","Plot the labels array on top of the original image. \n","To create an overlay, use np.where to convert values of 0 to np.nan. \n","Then, plot the overlay with the rainbow colormap and set alpha=0.75 to make it transparent.\n","'''\n","# Create a `labels` overlay\n","overlay = np.where(labels > 0, labels, np.nan)\n","\n","\n","# Use imshow to plot the overlay\n","plt.imshow(overlay, cmap='rainbow', alpha=0.75)\n","#format_and_render_plot()"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{"tags":[]},"execution_count":134},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":269},"id":"r8Ufum1H86lk","executionInfo":{"status":"ok","timestamp":1612457428014,"user_tz":-60,"elapsed":923,"user":{"displayName":"Elena Gaetje","photoUrl":"","userId":"11361710794877359035"}},"outputId":"dfd83e4d-c39a-4f13-d8b4-1b78b83e57e3"},"source":["# Label the image \"mask\"\n","labels, nlabels = ndi.label(mask)\n","\n","# Select left ventricle pixels\n","lv_val = labels[128, 128]\n","lv_mask = np.where(labels == lv_val, 1, np.nan)\n","\n","# Overlay selected label\n","plt.imshow(lv_mask, cmap='rainbow')\n","plt.show()"],"execution_count":null,"outputs":[{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"Cs9OEnhP9ItU"},"source":["#### Exercise: Extract objects\n","\n","Extracting objects from the original image eliminates unrelated pixels and provides new images that can be analyzed independently.\n","\n","The key is to crop images so that they only include the object of interest. The range of pixel indices that encompass the object is the bounding box.\n","\n","For this exercise, use ndi.find_objects() to create a new image containing only the left ventricle."]},{"cell_type":"code","metadata":{"colab":{"base_uri":"https://localhost:8080/","height":321},"id":"-PFuQSd3-y43","executionInfo":{"status":"ok","timestamp":1612457922771,"user_tz":-60,"elapsed":1152,"user":{"displayName":"Elena Gaetje","photoUrl":"","userId":"11361710794877359035"}},"outputId":"03301f42-02a6-4810-e785-64c7a0e49193"},"source":["# Create left ventricle mask\n","labels, nlabels = ndi.label(mask)\n","lv_val = labels[128, 128]\n","lv_mask = np.where(labels==lv_val, 1, 0)\n","\n","# Find bounding box of left ventricle\n","bboxes = ndi.find_objects(lv_mask)\n","print('Number of objects:', len(bboxes))\n","print('Indices for first box:', bboxes[0])\n","\n","# Crop to the left ventricle (index 0)\n","im_lv = im[bboxes[0]]\n","\n","# Plot the cropped image\n","plt.imshow(im_lv, cmap='rainbow')\n","#format_and_render_plot()"],"execution_count":null,"outputs":[{"output_type":"stream","text":["Number of objects: 1\n","Indices for first box: (slice(0, 1024, None), slice(0, 1024, None))\n"],"name":"stdout"},{"output_type":"execute_result","data":{"text/plain":[""]},"metadata":{"tags":[]},"execution_count":133},{"output_type":"display_data","data":{"image/png":"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\n","text/plain":["
"]},"metadata":{"tags":[],"needs_background":"light"}}]},{"cell_type":"markdown","metadata":{"id":"SswCt_xF90V3"},"source":["## Measuring Intensity ##\n","\n","Once objects have been segmented from the background, their properties can be efficiently measured using tools within SciPy.\n","\n","For this lesson, we'll step up to measuring a full three-dimensional volume. We have segmented this volume into two parts: label 1 is the left ventricle, shown here in purple. Label 2 is a circular section from the middle of the image, which will be useful for comparison.\n","\n"]},{"cell_type":"markdown","metadata":{"id":"6tYR_mSvyfZK"},"source":["### Functions ###\n","\n","SciPy has optimized many of the most common descriptive functions for image data, including the mean, median, and standard deviation. These functions summarize the array across all dimensions of an image, whether it be 2D, 3D, 4D, or more. They are especially useful when you have a labeled image because you can apply the function to every object independently with a single call. For custom calculations, you can also use the labeled_comprehension() function to summarize your data.\n"]},{"cell_type":"markdown","metadata":{"id":"uig2E6ryyjLb"},"source":["### Calling measurement functions ###\n","Which arguments you specify when you call measurement functions determines the pixels used for the calculation. Here, we have loaded the MRI volume and its corresponding labels. To get the mean intensity of the entire image, simply call ndimage dot mean() with the original volume. If you provide a mask or a labeled array, you will restrict the analysis to all non-zero pixels. However, if you provide a set of labels and an index value, you can get the mean intensity for a single label. On the other hand, if you pass a list of values to the index argument, the function will return a list of mean values - one for each object specified."]},{"cell_type":"markdown","metadata":{"id":"MZvo-DMEyl6S"},"source":["\n","### Object histograms ###\n","This technique can be applied to some other SciPy tools, including the histogram function. In the previous chapter, we simply passed in our image array and then specified the minimum value, maximum value, and the number of bins to use. However, if you also include a label array and indices, ndimage dot histogram() will return distributions for each of the selected labels.\n","\n","Plotting these object-level histograms is a great way to evaluate your segmentation. If you see very wide distributions or multiple peaks and valleys in your histogram, your labeled object may include many different tissue types. On the other hand, if the histogram resembles a normal distribution, your segmentation may be doing a good job. This is because the physical properties that influence intensity values should be relatively uniform throughout a tissue. For example, we expect that the voxels in our left ventricle label are filled with blood. Although we expect some variation in their intensity, we also expect them to be centered on some mean value. In this case, we can see that the majority of left ventricle intensity values are higher than the other labeled pixels. Although there are some low values, which are likely not part of the ventricle, the segmentation seems to do a good job overall."]},{"cell_type":"markdown","metadata":{"id":"gMZan6Gl1YG3"},"source":["Robust image segmentation is an entire research domain, but the simple principle is to leverage intensity and location information to differentiate objects of interest from the background. Once labeled, the objects can be manipulated easily."]},{"cell_type":"markdown","metadata":{"id":"-ei18y6Idg-I"},"source":["#### Exercise: Measure Variance\n","\n","SciPy measurement functions allow you to tailor measurements to specific sets of pixels:\n","\n","* Specifying labels restricts the mask to non-zero pixels.\n","* Specifying index value(s) returns a measure for each label value.\n","\n","For this exercise, calculate the intensity variance of vol with respect to different pixel sets. We have provided the 3D segmented image as labels: label 1 is the left ventricle and label 2 is a circular sample of tissue.\n","\n","After printing the variances, select the true statement from the answers below."]},{"cell_type":"code","metadata":{"id":"DHL-j6lG62qS","colab":{"base_uri":"https://localhost:8080/","height":70},"executionInfo":{"status":"ok","timestamp":1612458174541,"user_tz":-60,"elapsed":1334,"user":{"displayName":"Elena Gaetje","photoUrl":"","userId":"11361710794877359035"}},"outputId":"dcc104a3-29d8-44a1-fcc0-c7a90d9adaf2"},"source":["'''# Variance for all pixels\n","var_all = ndi.variance(vol)\n","print('All pixels:', var_all)\n","\n","# Variance for labeled pixels\n","var_labels = ndi.variance(vol, labels)\n","print('Labeled pixels:', var_labels)\n","\n","# Variance for each object\n","var_objects = ndi.variance(vol, labels, index=[1,2])\n","print('Left ventricle:', var_objects[0])\n","print('Other tissue:', var_objects[1])\n","'''"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"},"text/plain":["\"# Variance for all pixels\\nvar_all = ndi.variance(vol)\\nprint('All pixels:', var_all)\\n\\n# Variance for labeled pixels\\nvar_labels = ndi.variance(vol, labels)\\nprint('Labeled pixels:', var_labels)\\n\\n# Variance for each object\\nvar_objects = ndi.variance(vol, labels, index=[1,2])\\nprint('Left ventricle:', var_objects[0])\\nprint('Other tissue:', var_objects[1])\\n\""]},"metadata":{"tags":[]},"execution_count":136}]},{"cell_type":"markdown","metadata":{"id":"kgwo5tXZg0-u"},"source":["####Exercise: Separate Histograms\n","\n","A poor tissue segmentation includes multiple tissue types, leading to a wide distribution of intensity values and more variance.\n","\n","On the other hand, a perfectly segmented left ventricle would contain only blood-related pixels, so the histogram of the segmented values should be roughly bell-shaped.\n","\n","For this exercise, compare the intensity distributions within **vol** for the listed sets of pixels. Use **ndi.histogram**, which also accepts **labels **and index arguments."]},{"cell_type":"code","metadata":{"id":"uAnDkKUSi38E","colab":{"base_uri":"https://localhost:8080/","height":116},"executionInfo":{"status":"ok","timestamp":1599149466336,"user_tz":-120,"elapsed":21391,"user":{"displayName":"Elena _","photoUrl":"","userId":"11361710794877359035"}},"outputId":"96d4879d-2006-4aa2-b49c-5208dcb42cd6"},"source":["'''\n","# Create histograms for selected pixels\n","hist1 = ndi.histogram(vol, min=0, max=255, bins=256)\n","hist2 = ndi.histogram(vol, 0, 255, 256, labels=labels)\n","hist3 = ndi.histogram(vol, 0, 255, 256, labels=labels, index=1)\n","\n","# Plot the histogram density\n","plt.plot(hist1 / hist1.sum(), label='All pixels')\n","plt.plot(hist2 / hist2.sum(), label='All labeled pixels')\n","plt.plot(hist3 / hist3.sum(), label='Left ventricle')\n","format_and_render_plot()\n","'''"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"},"text/plain":["\"\\n# Create histograms for selected pixels\\nhist1 = ndi.histogram(vol, min=0, max=255, bins=256)\\nhist2 = ndi.histogram(vol, 0, 255, 256, labels=labels)\\nhist3 = ndi.histogram(vol, 0, 255, 256, labels=labels, index=1)\\n\\n# Plot the histogram density\\nplt.plot(hist1 / hist1.sum(), label='All pixels')\\nplt.plot(hist2 / hist2.sum(), label='All labeled pixels')\\nplt.plot(hist3 / hist3.sum(), label='Left ventricle')\\nformat_and_render_plot()\\n\""]},"metadata":{"tags":[]},"execution_count":47}]},{"cell_type":"markdown","metadata":{"id":"2MCuiea7v_vy"},"source":["##Measuring Morphology\n","Measuring object \"morphology,\" or shape and size, is another principal aim of image analysis.\n","\n","For example, if a patient goes in for an MRI and they find out they have a brain tumor, a natural first question might be: \"How big is it?\". Or, if they have been monitoring it for some time, they may want to know: \"Has it grown?\""]},{"cell_type":"markdown","metadata":{"id":"uIkxg4eXkifV"},"source":["### Spatial extent\n","To measure the amount of space occupied by an object, we need two quantities: the size of each element in the array and the number of those elements in the object. Let's calculate the volume of the left ventricle in one of our cardiac images. First, we establish the amount of real, physical space taken up by each voxel. Recall that in DICOM images, we can find this in the \"sampling\" field of the metadata dictionary. Multiplying the lengths of the first, second, and third dimensions will give us the total volume at each voxel. In this case, the measurements are in cubic millimeters. Next, we want to count the number of voxels in the left ventricle. We can do this by passing a 1 as input to ndimage dot sum() and then providing it with the labeled array and index of our object. The function will weight each left ventricle voxel with a value of 1 and sum them. Finally, we multiply the number of voxels by their individual size to get the total volume of the object.\n","\n"]},{"cell_type":"markdown","metadata":{"id":"MMgvyD0kwPpI"},"source":["### Distance transformation\n","Another useful morphological measure is the distance of each voxel to the nearest background value. This information can help you identify the most embedded points within objects or mask out edge areas. To perform a distance transformation on a mask or label array, use the dist_transform_edt() function. This will return a new array, where each non-zero voxel has been replaced with the distance to the nearest background voxel. The maximum value, in this case, reflects how far from the edge the most embedded point is. If you have access to the sampling rates for each dimension, you can include these to generate values that reflect physical distance. You can see here that the max distance is reduced because the sampling rate is less than one millimeter per pixel."]},{"cell_type":"markdown","metadata":{"id":"D0SQ3gaDwSRA"},"source":["### Center of mass\n","A complementary measure is the center of mass, which you can calculate directly. Mass, in this case, refers to intensity values, with larger values pulling the center towards them. Just like with the intensity measures, the center_of_mass() function accepts \"labels\" and \"index\" arguments. The function returns a tuple of coordinates for each object specified. For our cardiac data, the center of mass for the left ventricle corresponds to the center of the volume in all three dimensions.\n"]},{"cell_type":"markdown","metadata":{"id":"cSWp52ywADC8"},"source":["####Exercise: Calculate Volume\n","\n","Quantifying tissue morphology, or shape is one primary objective of biomedical imaging. The size, shape, and uniformity of a tissue can reveal essential health insights.\n","\n","For this exercise, measure the volume of the left ventricle in one 3D image (vol).\n","\n","First, count the number of voxels in the left ventricle (label value of 1). Then, multiply it by the size of each voxel in cubic mm. (Check vol.meta for the sampling rate.)"]},{"cell_type":"code","metadata":{"id":"sUT67I1Ni7z1","colab":{"base_uri":"https://localhost:8080/","height":50},"executionInfo":{"status":"ok","timestamp":1599149467112,"user_tz":-120,"elapsed":22142,"user":{"displayName":"Elena _","photoUrl":"","userId":"11361710794877359035"}},"outputId":"585c895d-cc6b-4ada-e144-34b59e0bbdff"},"source":["'''\n","number_of_pixels_LV = ndi.sum(1, labels, index=1)\n","d0, d1, d2 = vol.meta['sampling']\n","dvoxel = d0 * d1 * d2\n","print(number_of_pixels_LV*dvoxel)\n","'''"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"},"text/plain":["\"\\nnumber_of_pixels_LV = ndi.sum(1, labels, index=1)\\nd0, d1, d2 = vol.meta['sampling']\\ndvoxel = d0 * d1 * d2\\nprint(number_of_pixels_LV*dvoxel)\\n\""]},"metadata":{"tags":[]},"execution_count":48}]},{"cell_type":"markdown","metadata":{"id":"-njeFiCHqitB"},"source":["#### Exercise: Calculate Distance\n","A **distance transformation** calculates the distance from each pixel to a given point, usually the nearest background pixel. This allows you to determine which points in the object are more interior and which are closer to edges.\n","\n","For this exercise, use the **Euclidian distance** transform on the left ventricle object in **labels**."]},{"cell_type":"code","metadata":{"id":"v_zuL4-Wqd0z","colab":{"base_uri":"https://localhost:8080/","height":100},"executionInfo":{"status":"ok","timestamp":1599149467114,"user_tz":-120,"elapsed":22119,"user":{"displayName":"Elena _","photoUrl":"","userId":"11361710794877359035"}},"outputId":"900726d7-ec91-48e3-a621-ac236a8c411e"},"source":["'''\n","# Calculate left ventricle distances\n","lv = np.where(labels==1, 1, 0)\n","dists = ndi.distance_transform_edt(lv, sampling=vol.meta['sampling'])\n","\n","# Report on distances\n","print('Max distance (mm):',ndi.maximum(dists))\n","print('Max location:',ndi.maximum_position(dists))\n","\n","# Plot overlay of distances\n","overlay = np.where(dists[5] > 0, dists[5], np.nan) \n","plt.imshow(overlay, cmap='hot')\n","format_and_render_plot()\n","'''"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"},"text/plain":["\"\\n# Calculate left ventricle distances\\nlv = np.where(labels==1, 1, 0)\\ndists = ndi.distance_transform_edt(lv, sampling=vol.meta['sampling'])\\n\\n# Report on distances\\nprint('Max distance (mm):',ndi.maximum(dists))\\nprint('Max location:',ndi.maximum_position(dists))\\n\\n# Plot overlay of distances\\noverlay = np.where(dists[5] > 0, dists[5], np.nan) \\nplt.imshow(overlay, cmap='hot')\\nformat_and_render_plot()\\n\""]},"metadata":{"tags":[]},"execution_count":49}]},{"cell_type":"markdown","metadata":{"id":"2DqO-Io7vIkg"},"source":["#### Exercise: Pinpoint center of mass\n","\n","The distance transformation reveals the most embedded portions of an object. On the other hand, ndi.center_of_mass() returns the coordinates for the center of an object.\n","\n","The \"mass\" corresponds to intensity values, with higher values pulling the center closer to it.\n","\n","For this exercise, calculate the center of mass for the two labeled areas. Then, plot them on top of the image."]},{"cell_type":"code","metadata":{"id":"S8T7EMrQwdxW","colab":{"base_uri":"https://localhost:8080/","height":83},"executionInfo":{"status":"ok","timestamp":1599149467115,"user_tz":-120,"elapsed":22094,"user":{"displayName":"Elena _","photoUrl":"","userId":"11361710794877359035"}},"outputId":"061a76de-2502-483c-ac3b-8e09b6ac6cc5"},"source":["'''\n","# Extract centers of mass for objects 1 and 2\n","coms = ndi.center_of_mass(vol, labels, index=[1,2])\n","print('Label 1 center:', coms[0])\n","print('Label 2 center:', coms[1])\n","\n","# Add marks to plot\n","for c0, c1, c2 in coms:\n"," plt.scatter(c2, c1, s=100, marker='o')\n","plt.show()\n","'''"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"},"text/plain":["\"\\n# Extract centers of mass for objects 1 and 2\\ncoms = ndi.center_of_mass(vol, labels, index=[1,2])\\nprint('Label 1 center:', coms[0])\\nprint('Label 2 center:', coms[1])\\n\\n# Add marks to plot\\nfor c0, c1, c2 in coms:\\n plt.scatter(c2, c1, s=100, marker='o')\\nplt.show()\\n\""]},"metadata":{"tags":[]},"execution_count":50}]},{"cell_type":"markdown","metadata":{"id":"m8t6yvCQw16x"},"source":["## Measuring in Time##\n","\n","To cap off this chapter, let's solve our original problem: how to measure the ejection fraction of a person's heart."]},{"cell_type":"markdown","metadata":{"id":"-nFYpZfmxpW2"},"source":["### Ejection fraction\n","To calculate the ejection fraction, we have to find the left ventricle's volume when it's totally relaxed -- its maximum -- and when it's fully squeezed -- its minimum. Taking the difference between these two volumes and dividing by the maximum yields the fraction of blood that is pumped out and into the rest of the circulatory system.\n","\n","One way to accomplish this is to: First, segment the left ventricle at each time point. Second, calculate the volume at each time point sequentially, using a for loop. This results in a 1D time series from which we can extract our minimum and maximum values. Values in hand, we plug them into the ejection fraction equation."]},{"cell_type":"markdown","metadata":{"id":"2By0UV1uw8ou"},"source":["### Calculate volume for each time point\n","Let's assume that we have access to both the volumetric time series and the segmented left ventricle. The data are 4-dimensional, with time as the first dimension. First, we calculate the volume of each individual voxel. We extract the sampling rate along each dimension, then multiply the spatial dimensions together to get the space occupied by each element. Next, we instantiate an empty 1D array to record the volume at each time point. We then loop through each time point, counting the number of voxels in the left ventricle. Finally, we multiply the number of voxels by their volume and store the value in the time series array. The plot of the data lines up with our expectations: in the first few time points, there is a squeezing action on the ventricle, followed by relaxation, where it fills up again."]},{"cell_type":"markdown","metadata":{"id":"urT26gCiw8-i"},"source":["### Calculate ejection fraction\n","Now, it's simply a matter of selecting the lowest and highest values from the time series and calculating the ejection fraction. Since \"ts\" is a NumPy array, we can call the min() and max() methods to retrieve these values. Then, we find the difference and divide by the maximum volume. And that's it! We've put together an estimate of the ejection fraction using SciPy - a process that would normally be done by hand by a radiologist. And we've done a pretty good job, even with the simple segmentation method: the expert's estimate was 0.60, quite close to our value.\n","\n"]},{"cell_type":"markdown","metadata":{"id":"Xc0QdSv-A8ps"},"source":["####Exercise: Summarize the time series###\n","\n","The ejection fraction** is the proportion of blood squeezed out of the left ventricle each heartbeat. To calculate it, radiologists have to identify the maximum volume (systolic volume) and the minimum volume (diastolic volume) of the ventricle.\n","\n","For this exercise, create a time series of volume calculations. There are 20 time points in both vol_ts and labels. The data is ordered by (time, plane, row, col)."]},{"cell_type":"code","metadata":{"id":"tfvJWKQ8yPvA","colab":{"base_uri":"https://localhost:8080/","height":70},"executionInfo":{"status":"ok","timestamp":1612458640612,"user_tz":-60,"elapsed":1981,"user":{"displayName":"Elena Gaetje","photoUrl":"","userId":"11361710794877359035"}},"outputId":"eb7192d6-133a-4a51-adb9-88520d095b8e"},"source":["'''\n","# Create an empty time series\n","ts = np.zeros(20)\n","\n","# Calculate volume at each voxel\n","d0, d1, d2, d3 = vol_ts.meta['sampling']\n","dvoxel = d1 * d2 * d3\n","\n","# Loop over the labeled arrays\n","for t in range(20):\n"," nvoxels = ndi.sum(1, labels[t], index=1)\n"," ts[t] = nvoxels * dvoxel\n","\n","# Plot the data\n","plt.plot(ts)\n","plt.show()\n","format_and_render_plot()\n","'''"],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"},"text/plain":["\"\\n# Create an empty time series\\nts = np.zeros(20)\\n\\n# Calculate volume at each voxel\\nd0, d1, d2, d3 = vol_ts.meta['sampling']\\ndvoxel = d1 * d2 * d3\\n\\n# Loop over the labeled arrays\\nfor t in range(20):\\n nvoxels = ndi.sum(1, labels[t], index=1)\\n ts[t] = nvoxels * dvoxel\\n\\n# Plot the data\\nplt.plot(ts)\\nplt.show()\\nformat_and_render_plot()\\n\""]},"metadata":{"tags":[]},"execution_count":137}]},{"cell_type":"markdown","metadata":{"id":"KQx54cfIzanM"},"source":["#### Exercise: Measure Ejection Fraction###\n","\n","The ejection fraction is defined as: **(V(max)-V(min))/V(max)**\n","\n","…where V\n"," is left ventricle volume for one 3D timepoint.\n","\n","To close our investigation, plot slices from the maximum and minimum volumes by analyzing the volume time series (ts). Then, calculate the ejection fraction.\n","\n"]},{"cell_type":"code","metadata":{"id":"MI2LIy6s1oy7","colab":{"base_uri":"https://localhost:8080/","height":116},"executionInfo":{"status":"ok","timestamp":1599149467118,"user_tz":-120,"elapsed":22044,"user":{"displayName":"Elena _","photoUrl":"","userId":"11361710794877359035"}},"outputId":"a2d0cb06-60a3-4f56-d7a1-86b8dcaa0350"},"source":["'''\n","# Get index of max and min volumes\n","tmax = np.argmax(ts)\n","tmin = np.argmin(ts)\n","\n","# Plot the largest and smallest volumes\n","fig, axes = plt.subplots(2,1)\n","axes[0].imshow(vol_ts[tmax, 4], vmax=160)\n","axes[1].imshow(vol_ts[tmin, 4], vmax=160)\n","format_and_render_plots()\n","\n","# Calculate ejection fraction\n","ej_vol = ts.max() - ts.min()\n","ej_frac = ej_vol / ts.max()\n","print('Est. ejection volume (mm^3):', ej_vol)\n","print('Est. ejection fraction:', ej_frac)\n","'''\n","\n","# This case study illustrates a typical image analysis workflow: \n","# a single, useful metric is the result of a lot of sophisticated preprocessing,\n","# segmentation and measurement techniques."],"execution_count":null,"outputs":[{"output_type":"execute_result","data":{"application/vnd.google.colaboratory.intrinsic+json":{"type":"string"},"text/plain":["\"\\n# Get index of max and min volumes\\ntmax = np.argmax(ts)\\ntmin = np.argmin(ts)\\n\\n# Plot the largest and smallest volumes\\nfig, axes = plt.subplots(2,1)\\naxes[0].imshow(vol_ts[tmax, 4], vmax=160)\\naxes[1].imshow(vol_ts[tmin, 4], vmax=160)\\nformat_and_render_plots()\\n\\n# Calculate ejection fraction\\nej_vol = ts.max() - ts.min()\\nej_frac = ej_vol / ts.max()\\nprint('Est. ejection volume (mm^3):', ej_vol)\\nprint('Est. ejection fraction:', ej_frac)\\n\""]},"metadata":{"tags":[]},"execution_count":52}]},{"cell_type":"markdown","metadata":{"id":"jPofXtIkrkC4"},"source":["## REFERENCES:\n","\n","\n","* [Datacamp course \"BIOMEDICAL IMAGE ANALYSIS\":](https://campus.datacamp.com/courses/biomedical-image-analysis-in-python/exploration?ex=3)\n","* [\"Decode DICOM files for medical imaging\" Colab Notebook](https://colab.research.google.com/github/tensorflow/io/blob/master/docs/tutorials/dicom.ipynb#scrollTo=qFdPvlXBOdUN) \n","* [Imageio documentation](https://imageio.readthedocs.io/en/stable/examples.html)"]}]} -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/1.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/1.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/10.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/10.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/11.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/11.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/12.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/12.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/13.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/13.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/14.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/14.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/15.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/15.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/16.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/16.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/17.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/17.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/18.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/18.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/19.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/19.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/2.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/2.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/20.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/20.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/21.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/21.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/22.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/22.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/23.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/23.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/24.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/24.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/25.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/25.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/26.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/26.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/27.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/27.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/28.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/28.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/29.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/29.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/3.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/3.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/30.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/30.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/4.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/4.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/5.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/5.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/6.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/6.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/7.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/7.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/8.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/8.dcm -------------------------------------------------------------------------------- /Data/ID00007637202177411956430/9.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/ID00007637202177411956430/9.dcm -------------------------------------------------------------------------------- /Data/dicom_00000001_000.dcm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/dicom_00000001_000.dcm -------------------------------------------------------------------------------- /Data/oasis_all_volumes.csv: -------------------------------------------------------------------------------- 1 | ID,age,sex,alzheimers,brain_vol,skull_vol,gray_matter_vol,white_matter_vol,csf_vol 2 | OAS1_0001_MR1,74,F,False,807.935,1347.49787851,470.69800000000004,337.23699999999997,57.058 3 | OAS1_0002_MR1,55,F,False,808.76,1151.26928737,450.57099999999997,358.189,9.478 4 | OAS1_0003_MR1,73,F,True,860.255,1403.41505438,492.974,367.281,46.159 5 | OAS1_0004_MR1,28,M,False,1058.202,1593.28491038,585.27,472.93199999999996,32.609 6 | OAS1_0005_MR1,18,M,False,1263.3909999999998,1733.7792806799996,732.7339999999999,530.6569999999999,14.887 7 | OAS1_0006_MR1,24,F,False,878.204,1193.63127765,516.9169999999999,361.287,9.656 8 | OAS1_0007_MR1,21,M,False,1056.135,1524.71663978,600.842,455.293,15.119000000000002 9 | OAS1_0009_MR1,20,F,False,1152.993,1408.06365658,680.1339999999999,472.85900000000004,21.37 10 | OAS1_0010_MR1,74,M,False,896.9670000000001,1672.59304076,470.29900000000004,426.668,56.982 11 | OAS1_0011_MR1,52,F,False,920.874,1330.60343142,482.54699999999997,438.327,20.456 12 | OAS1_0012_MR1,30,M,False,1116.5610000000001,1623.3398655100002,633.45,483.111,19.124000000000002 13 | OAS1_0013_MR1,81,F,False,889.076,1669.12073729,482.809,406.267,86.51299999999999 14 | OAS1_0014_MR1,19,F,False,1085.746,1415.6183484100004,615.761,469.985,14.058 15 | OAS1_0015_MR1,76,M,True,1024.159,1587.48105485,541.3,482.85900000000004,60.369 16 | OAS1_0016_MR1,82,M,True,911.812,1611.40400582,528.563,383.249,50.992 17 | OAS1_0017_MR1,21,M,False,1200.208,1643.21081014,679.293,520.915,25.013 18 | OAS1_0018_MR1,39,M,False,1145.588,1695.44730442,606.953,538.635,20.359 19 | OAS1_0019_MR1,89,F,False,865.269,1517.25284596,477.355,387.914,58.858000000000004 20 | OAS1_0020_MR1,48,F,False,868.192,1330.60244975,469.36400000000003,398.82800000000003,28.217 21 | OAS1_0021_MR1,80,F,True,934.232,1848.56077166,561.335,372.897,159.858 22 | OAS1_0022_MR1,69,F,True,918.5440000000001,1515.42685521,478.68300000000005,439.861,22.1 23 | OAS1_0023_MR1,82,M,True,833.137,1337.34621322,460.795,372.342,38.132 24 | OAS1_0025_MR1,24,F,False,979.137,1328.9924877,584.045,395.092,10.191 25 | OAS1_0026_MR1,58,F,False,871.647,1333.21214146,470.17800000000005,401.469,20.363 26 | OAS1_0027_MR1,43,F,False,879.2579999999999,1282.63778296,484.43199999999996,394.82599999999996,19.952 27 | OAS1_0028_MR1,86,F,True,859.2570000000001,1402.53922839,483.772,375.485,48.683 28 | OAS1_0029_MR1,21,M,False,1212.728,1711.61134542,703.5210000000001,509.207,15.786 29 | OAS1_0030_MR1,65,F,False,876.432,1426.7615441,546.567,329.865,23.932 30 | OAS1_0031_MR1,88,M,True,672.68,1324.02520239,414.474,258.20599999999996,87.115 31 | OAS1_0032_MR1,89,M,False,868.338,1540.10248332,499.37199999999996,368.966,64.388 32 | OAS1_0033_MR1,80,F,False,798.0419999999999,1318.8325453700004,414.595,383.44699999999995,27.459 33 | OAS1_0034_MR1,51,M,False,1073.906,1579.1992515999998,584.197,489.709,12.71 34 | OAS1_0035_MR1,84,F,True,799.9080000000001,1411.11355049,451.42800000000005,348.48,55.052 35 | OAS1_0037_MR1,27,M,False,970.3109999999999,1265.38953502,533.5169999999999,436.79400000000004,20.226 36 | OAS1_0038_MR1,23,F,False,1019.4110000000001,1455.09726771,596.089,423.32199999999995,14.224 37 | OAS1_0039_MR1,70,M,True,912.1419999999999,1402.36201352,500.13,412.01199999999994,67.678 38 | OAS1_0040_MR1,38,F,False,895.888,1324.11171562,492.583,403.305,12.264000000000001 39 | OAS1_0041_MR1,62,F,True,840.415,1322.11003561,462.75800000000004,377.657,42.633 40 | OAS1_0042_MR1,80,M,True,1060.42,1913.16249543,549.721,510.699,51.523999999999994 41 | OAS1_0043_MR1,21,M,False,1094.108,1414.36677047,657.552,436.556,15.834000000000001 42 | OAS1_0044_MR1,47,F,False,953.187,1412.33150384,526.98,426.207,8.681000000000001 43 | OAS1_0045_MR1,29,M,False,1114.857,1565.15099052,616.474,498.38300000000004,14.727 44 | OAS1_0046_MR1,64,M,True,898.0820000000001,1442.96778804,472.634,425.44800000000004,19.559 45 | OAS1_0047_MR1,57,F,False,895.8489999999999,1226.35539399,511.17199999999997,384.67699999999996,24.459 46 | OAS1_0049_MR1,20,F,False,1055.58,1412.92223036,626.175,429.405,8.147 47 | OAS1_0050_MR1,48,F,False,967.671,1337.95189102,543.624,424.04699999999997,13.347999999999999 48 | OAS1_0051_MR1,24,F,False,1056.6419999999998,1488.23078142,606.112,450.53,15.113 49 | OAS1_0052_MR1,78,F,True,861.175,1426.7619955799996,489.74800000000005,371.42699999999996,39.652 50 | OAS1_0054_MR1,21,F,False,1139.183,1513.39937113,665.102,474.08099999999996,12.343 51 | OAS1_0055_MR1,20,F,False,1030.852,1354.58645117,597.023,433.829,18.003 52 | OAS1_0056_MR1,72,F,True,726.302,1260.26832654,411.642,314.66,41.358000000000004 53 | OAS1_0057_MR1,21,F,False,979.833,1246.43562609,584.803,395.03,17.68 54 | OAS1_0058_MR1,46,F,False,1081.759,1592.43915085,564.887,516.872,19.793 55 | OAS1_0059_MR1,20,F,False,990.265,1342.83573169,577.746,412.519,18.892 56 | OAS1_0060_MR1,79,M,True,962.693,1498.91947027,534.629,428.064,35.828 57 | OAS1_0061_MR1,20,F,False,1288.17,1914.26613017,750.699,537.471,12.44 58 | OAS1_0062_MR1,73,F,False,919.223,1419.93498007,519.8969999999999,399.32599999999996,32.554 59 | OAS1_0063_MR1,48,M,False,1174.371,1730.78953932,611.543,562.828,18.85 60 | OAS1_0064_MR1,77,F,False,1003.965,1509.89273826,526.758,477.207,38.361 61 | OAS1_0065_MR1,90,M,False,670.1869999999999,1245.05880192,404.82099999999997,265.366,53.111999999999995 62 | OAS1_0066_MR1,66,F,True,826.924,1343.36503963,422.56,404.36400000000003,20.75 63 | OAS1_0067_MR1,71,F,True,909.025,1500.8680990000007,497.57099999999997,411.454,41.626000000000005 64 | OAS1_0068_MR1,67,F,False,1025.767,1433.10725547,541.735,484.032,13.603 65 | OAS1_0069_MR1,33,M,False,1144.315,1680.34810132,645.538,498.777,27.997 66 | OAS1_0070_MR1,63,F,False,923.3599999999999,1400.21337611,517.887,405.473,22.63 67 | OAS1_0071_MR1,49,F,False,971.821,1426.7630114,515.835,455.986,24.086 68 | OAS1_0072_MR1,60,F,False,1008.582,1412.96639702,542.207,466.375,15.27 69 | OAS1_0073_MR1,69,F,True,734.046,1504.24732116,406.923,327.123,76.09100000000001 70 | OAS1_0074_MR1,43,M,False,1131.642,1526.17123473,616.065,515.577,15.118 71 | OAS1_0075_MR1,83,F,False,799.874,1282.63924245,452.72900000000004,347.145,41.246 72 | OAS1_0076_MR1,18,F,False,1096.091,1475.92031908,657.2869999999999,438.80400000000003,14.997 73 | OAS1_0077_MR1,20,F,False,1095.5639999999999,1483.29355104,610.433,485.131,20.459 74 | OAS1_0078_MR1,64,F,False,965.259,1317.4861916200002,534.447,430.81199999999995,24.705 75 | OAS1_0079_MR1,25,F,False,1025.429,1509.81904781,596.861,428.56800000000004,22.395 76 | OAS1_0080_MR1,25,F,False,1215.4120000000003,1609.75576492,655.8560000000001,559.556,13.115 77 | OAS1_0081_MR1,18,F,False,933.558,1307.9478349799995,562.238,371.32,10.614 78 | OAS1_0082_MR1,75,F,True,928.6379999999999,1253.97786609,536.121,392.517,30.335 79 | OAS1_0083_MR1,90,F,False,726.396,1253.5578529999998,433.343,293.053,31.695999999999998 80 | OAS1_0084_MR1,81,F,True,862.23,1421.30697933,469.305,392.925,51.681999999999995 81 | OAS1_0085_MR1,70,F,False,844.04,1252.3464569899998,441.01199999999994,403.028,18.422 82 | OAS1_0086_MR1,47,F,False,965.7929999999999,1357.56272143,530.881,434.912,12.355 83 | OAS1_0087_MR1,21,F,False,1055.8780000000002,1426.76380148,609.97,445.908,17.435 84 | OAS1_0088_MR1,40,F,False,1149.219,1581.4277993100004,636.79,512.429,11.832 85 | OAS1_0090_MR1,20,M,False,1287.757,1686.1559875299995,744.3960000000001,543.361,11.95 86 | OAS1_0091_MR1,18,F,False,1203.606,1576.9178248299993,694.4110000000001,509.195,25.428 87 | OAS1_0092_MR1,22,M,False,1068.224,1581.86333085,616.515,451.709,19.165 88 | OAS1_0094_MR1,66,F,True,949.739,1425.87460736,503.251,446.48800000000006,27.758000000000003 89 | OAS1_0095_MR1,28,M,False,1169.199,1591.19072419,657.206,511.99300000000005,18.098 90 | OAS1_0096_MR1,47,F,False,877.25,1335.7948893,507.14,370.11,38.053000000000004 91 | OAS1_0097_MR1,23,M,False,1102.2359999999999,1607.06772698,619.872,482.36400000000003,15.402000000000001 92 | OAS1_0098_MR1,67,F,True,890.837,1666.9054767799996,463.87,426.967,101.39399999999999 93 | OAS1_0099_MR1,19,F,False,1122.4779999999998,1421.09218126,667.0269999999999,455.45099999999996,15.892999999999999 94 | OAS1_0101_MR1,29,M,False,1065.873,1612.41648257,599.481,466.392,9.089 95 | OAS1_0102_MR1,18,M,False,1098.093,1499.52826259,664.2810000000001,433.81199999999995,27.455 96 | OAS1_0103_MR1,19,F,False,1084.051,1510.69115422,634.521,449.53,21.953000000000003 97 | OAS1_0104_MR1,24,F,False,1003.1899999999999,1384.5321668,568.54,434.65,15.762 98 | OAS1_0105_MR1,20,M,False,1101.741,1490.57548067,695.7389999999999,406.00199999999995,15.343 99 | OAS1_0106_MR1,81,F,False,772.4870000000001,1160.0580508,468.925,303.562,38.838 100 | OAS1_0107_MR1,20,M,False,1276.601,1709.26800938,794.096,482.505,18.082 101 | OAS1_0108_MR1,25,M,False,1348.453,1711.55660628,766.918,581.535,16.307000000000002 102 | OAS1_0109_MR1,61,F,False,918.3919999999999,1266.0688079000001,525.92,392.472,17.845 103 | OAS1_0111_MR1,23,M,False,1229.178,1681.46273728,694.59,534.5880000000001,15.357999999999999 104 | OAS1_0112_MR1,69,F,False,894.8009999999999,1434.14689227,490.80199999999996,403.999,42.581 105 | OAS1_0113_MR1,83,F,False,1015.355,1532.36449725,552.586,462.769,67.717 106 | OAS1_0114_MR1,62,M,False,923.6840000000001,1342.42903227,515.4490000000001,408.235,18.245 107 | OAS1_0115_MR1,72,M,True,1055.728,1903.06664207,588.729,466.999,134.797 108 | OAS1_0116_MR1,52,F,False,900.4010000000001,1348.16861658,497.009,403.392,22.266 109 | OAS1_0117_MR1,25,M,False,1101.599,1671.75987103,646.6619999999999,454.93699999999995,57.702 110 | OAS1_0119_MR1,19,M,False,1079.1019999999999,1401.69935432,645.7909999999999,433.311,17.291 111 | OAS1_0120_MR1,70,M,True,1071.372,1872.03558501,565.768,505.60400000000004,73.786 112 | OAS1_0121_MR1,26,M,False,1133.623,1684.91753011,647.8,485.82300000000004,26.068 113 | OAS1_0122_MR1,83,F,True,795.088,1332.883942,433.056,362.032,39.042 114 | OAS1_0123_MR1,83,F,True,903.0,1425.96163919,508.18800000000005,394.81199999999995,34.888000000000005 115 | OAS1_0124_MR1,73,M,True,953.9839999999999,1578.12613314,506.352,447.63199999999995,82.965 116 | OAS1_0125_MR1,22,F,False,1097.9769999999999,1529.54250961,611.4019999999999,486.575,20.877 117 | OAS1_0126_MR1,21,M,False,1228.8600000000001,1498.85506816,718.45,510.41,19.573 118 | OAS1_0127_MR1,30,M,False,1112.813,1435.5441072499998,627.504,485.309,20.596999999999998 119 | OAS1_0129_MR1,18,M,False,1098.3490000000002,1521.50365383,623.086,475.26300000000003,19.655 120 | OAS1_0130_MR1,68,M,False,975.896,1564.41855013,527.344,448.55199999999996,25.68 121 | OAS1_0131_MR1,24,M,False,1160.4180000000001,1651.42205095,665.663,494.755,17.102 122 | OAS1_0132_MR1,22,M,False,1165.57,1560.9382953000004,661.674,503.89599999999996,14.450999999999999 123 | OAS1_0133_MR1,65,F,False,921.2520000000001,1289.93867546,509.50300000000004,411.749,11.357000000000001 124 | OAS1_0134_MR1,80,M,True,775.875,1440.17624994,436.99699999999996,338.87800000000004,80.60300000000001 125 | OAS1_0135_MR1,64,M,False,1064.121,1500.15826287,566.705,497.416,28.373 126 | OAS1_0136_MR1,24,F,False,912.194,1189.50118465,514.234,397.96,13.436 127 | OAS1_0137_MR1,87,F,True,779.159,1440.9179303899996,431.556,347.603,70.29 128 | OAS1_0138_MR1,80,M,False,924.8529999999998,1691.8435360299998,513.2919999999999,411.561,63.973 129 | OAS1_0139_MR1,72,F,False,992.745,1426.76368862,524.238,468.50699999999995,24.698 130 | OAS1_0140_MR1,23,F,False,1038.899,1424.3469689,611.281,427.61800000000005,12.017999999999999 131 | OAS1_0141_MR1,24,M,False,1108.071,1454.30597528,638.2719999999999,469.79900000000004,10.345999999999998 132 | OAS1_0142_MR1,70,M,True,897.2429999999999,1605.45320665,527.571,369.67199999999997,54.592 133 | OAS1_0143_MR1,66,M,True,964.2629999999999,1418.87498297,550.406,413.85699999999997,20.322 134 | OAS1_0144_MR1,22,M,False,1325.939,1797.0246452999997,765.551,560.388,21.279 135 | OAS1_0145_MR1,34,M,False,1140.987,1605.10814974,609.207,531.78,32.67 136 | OAS1_0146_MR1,82,F,False,926.796,1466.74046654,537.33,389.466,45.321000000000005 137 | OAS1_0147_MR1,25,F,False,1215.7440000000001,1599.50463311,709.811,505.93300000000005,20.044 138 | OAS1_0148_MR1,23,M,False,1122.96,1551.34019207,609.905,513.055,9.993 139 | OAS1_0150_MR1,20,F,False,1139.521,1433.8648117,662.579,476.94199999999995,11.335 140 | OAS1_0151_MR1,25,F,False,1067.6219999999998,1416.66791952,593.737,473.885,12.751 141 | OAS1_0152_MR1,23,F,False,1014.988,1488.88291023,595.42,419.56800000000004,17.805999999999997 142 | OAS1_0153_MR1,23,M,False,1262.8029999999999,1706.6833012000004,740.8589999999999,521.944,12.767000000000001 143 | OAS1_0155_MR1,71,M,True,879.1569999999999,1408.59690902,514.305,364.852,35.766999999999996 144 | OAS1_0156_MR1,20,F,False,1088.716,1593.07282342,613.589,475.12699999999995,17.535 145 | OAS1_0157_MR1,86,F,False,870.1009999999999,1257.63246381,479.26599999999996,390.835,25.726999999999997 146 | OAS1_0158_MR1,81,M,True,877.962,1587.97543272,483.409,394.55300000000005,46.507 147 | OAS1_0159_MR1,40,F,False,1016.5980000000001,1511.62406636,575.09,441.50800000000004,22.55 148 | OAS1_0160_MR1,57,M,False,1195.655,1725.56914434,643.393,552.262,23.055 149 | OAS1_0161_MR1,84,F,True,811.4839999999999,1352.6313208,467.45,344.034,40.977 150 | OAS1_0162_MR1,20,F,False,917.5,1258.20564202,555.124,362.376,11.285 151 | OAS1_0163_MR1,18,F,False,1203.978,1345.84388456,694.6560000000001,509.32199999999995,21.384 152 | OAS1_0164_MR1,81,F,True,839.106,1503.17889851,476.94199999999995,362.164,56.43600000000001 153 | OAS1_0165_MR1,74,F,False,909.005,1273.66693688,507.959,401.046,18.147000000000002 154 | OAS1_0166_MR1,80,F,True,886.533,1414.5288378899993,477.603,408.93,53.018 155 | OAS1_0167_MR1,41,F,False,980.231,1392.5835717799996,528.941,451.29,11.099 156 | OAS1_0168_MR1,50,F,False,999.432,1332.01264811,526.623,472.809,19.6 157 | OAS1_0169_MR1,88,F,False,837.9680000000001,1512.5347911,480.994,356.974,60.31399999999999 158 | OAS1_0170_MR1,71,M,False,826.789,1413.81772573,459.392,367.397,58.798 159 | OAS1_0173_MR1,35,M,False,1013.577,1477.4060869999996,582.881,430.69599999999997,16.633 160 | OAS1_0174_MR1,23,M,False,1087.143,1475.8352943799996,634.239,452.904,11.052999999999999 161 | OAS1_0176_MR1,88,F,False,821.0819999999999,1417.83105699,493.441,327.64099999999996,61.466 162 | OAS1_0177_MR1,54,F,False,1065.115,1554.1512509000004,575.053,490.06199999999995,15.458 163 | OAS1_0178_MR1,44,F,False,954.918,1325.18464075,543.076,411.842,16.232 164 | OAS1_0179_MR1,87,F,True,642.037,1175.8593572200002,363.491,278.546,44.559 165 | OAS1_0180_MR1,80,F,False,956.3399999999999,1552.30623098,577.6419999999999,378.69800000000004,45.898999999999994 166 | OAS1_0181_MR1,49,F,False,925.491,1358.08683138,521.18,404.311,18.17 167 | OAS1_0182_MR1,48,M,False,1087.23,1575.1665363200002,607.279,479.95099999999996,15.706 168 | OAS1_0183_MR1,44,M,False,1259.9699999999998,1780.73575543,656.7869999999999,603.183,50.531000000000006 169 | OAS1_0184_MR1,65,F,True,824.46,1530.54028971,438.30400000000003,386.156,53.706 170 | OAS1_0186_MR1,84,M,False,1051.2469999999998,1681.52199613,564.011,487.236,73.05199999999999 171 | OAS1_0188_MR1,48,M,False,977.963,1424.7585660999996,556.684,421.279,25.070999999999998 172 | OAS1_0189_MR1,22,M,False,1155.676,1607.0819038,659.454,496.222,27.361 173 | OAS1_0190_MR1,43,M,False,1043.476,1479.37449852,564.4540000000001,479.022,23.276999999999997 174 | OAS1_0191_MR1,21,F,False,1000.454,1336.6201233099996,545.53,454.92400000000004,11.735999999999999 175 | OAS1_0192_MR1,31,F,False,912.9549999999999,1328.76043363,506.825,406.13,13.513 176 | OAS1_0193_MR1,23,F,False,1070.927,1427.15748531,636.805,434.12199999999996,21.62 177 | OAS1_0195_MR1,76,F,False,867.179,1320.56376639,515.563,351.616,31.213 178 | OAS1_0197_MR1,89,F,False,723.7169999999999,1118.14253818,418.82599999999996,304.89099999999996,25.576 179 | OAS1_0198_MR1,21,F,False,995.032,1182.86594554,609.639,385.39300000000003,11.288 180 | OAS1_0199_MR1,69,M,False,1056.063,1557.60463639,559.236,496.827,33.72 181 | OAS1_0200_MR1,60,F,False,909.6789999999999,1331.1334539099996,496.86699999999996,412.81199999999995,19.235 182 | OAS1_0201_MR1,85,F,False,904.104,1420.6314468100004,496.204,407.9,42.924 183 | OAS1_0202_MR1,23,F,False,1213.242,1434.51214278,647.6419999999999,565.6,10.998 184 | OAS1_0203_MR1,71,F,False,862.915,1350.75880777,466.272,396.64300000000003,29.112 185 | OAS1_0204_MR1,48,M,False,977.932,1441.13277601,523.252,454.68,21.226999999999997 186 | OAS1_0205_MR1,75,M,True,1054.239,2001.08125249,592.15,462.089,122.711 187 | OAS1_0206_MR1,78,F,False,806.9300000000001,1259.24778905,459.842,347.088,32.992 188 | OAS1_0207_MR1,51,M,False,1178.8290000000002,1752.39021344,605.618,573.211,23.051 189 | OAS1_0208_MR1,55,F,False,971.158,1410.68640576,550.125,421.033,12.382 190 | OAS1_0209_MR1,22,F,False,985.2439999999999,1329.03401141,561.685,423.559,13.014000000000001 191 | OAS1_0210_MR1,73,F,True,966.6569999999999,1698.9862701999998,493.647,473.01,74.914 192 | OAS1_0211_MR1,20,M,False,1187.028,1505.8677679000002,720.301,466.727,24.898000000000003 193 | OAS1_0212_MR1,74,F,False,948.803,1704.25438345,548.842,399.961,90.97399999999999 194 | OAS1_0213_MR1,48,F,False,925.8589999999999,1412.78100411,482.465,443.394,13.13 195 | OAS1_0214_MR1,18,M,False,1373.306,1726.5011186799998,796.4939999999999,576.812,22.733 196 | OAS1_0216_MR1,71,F,False,1007.8970000000002,1506.13323464,524.8530000000001,483.04400000000004,22.619 197 | OAS1_0217_MR1,78,F,True,798.576,1274.39844044,480.625,317.95099999999996,44.088 198 | OAS1_0218_MR1,26,F,False,964.1469999999999,1318.50598867,541.191,422.95599999999996,13.54 199 | OAS1_0220_MR1,75,F,False,814.627,1282.6373268799996,430.84,383.787,35.813 200 | OAS1_0221_MR1,94,F,False,828.461,1560.73540719,490.086,338.375,67.502 201 | OAS1_0222_MR1,49,F,False,805.0260000000001,1118.6812845999998,472.384,332.642,12.593 202 | OAS1_0223_MR1,84,M,True,855.091,1585.7253388200004,494.10699999999997,360.98400000000004,88.64299999999999 203 | OAS1_0224_MR1,22,F,False,985.605,1422.3370750200004,570.323,415.282,21.189 204 | OAS1_0226_MR1,90,M,True,847.193,1605.10800689,488.751,358.44199999999995,48.803999999999995 205 | OAS1_0227_MR1,26,F,False,854.6880000000001,1273.92810459,503.629,351.059,17.554000000000002 206 | OAS1_0228_MR1,81,F,False,904.787,1431.26712106,495.231,409.556,34.083 207 | OAS1_0229_MR1,55,F,False,934.183,1261.41834408,526.877,407.306,17.338 208 | OAS1_0230_MR1,19,F,False,1123.7540000000001,1522.7332745299998,634.835,488.91900000000004,19.839000000000002 209 | OAS1_0231_MR1,20,F,False,1054.0320000000002,1473.1911420499996,652.509,401.523,20.209 210 | OAS1_0232_MR1,22,M,False,1157.533,1512.5555944,669.638,487.895,22.62 211 | OAS1_0233_MR1,77,F,True,776.733,1354.96889219,460.4,316.33299999999997,55.025 212 | OAS1_0234_MR1,75,M,False,981.537,1626.86107989,532.927,448.61,40.457 213 | OAS1_0235_MR1,37,M,False,1026.749,1401.04047732,580.0840000000001,446.665,22.092 214 | OAS1_0236_MR1,20,F,False,963.017,1190.62834494,587.464,375.55300000000005,8.22 215 | OAS1_0237_MR1,72,F,False,888.252,1351.85763702,462.931,425.32099999999997,25.309 216 | OAS1_0238_MR1,77,F,True,933.7660000000001,1428.11194341,507.36800000000005,426.398,38.486 217 | OAS1_0239_MR1,29,F,False,1001.946,1382.78818688,554.837,447.10900000000004,22.991999999999997 218 | OAS1_0240_MR1,74,F,True,751.125,1181.13877568,415.204,335.921,21.831 219 | OAS1_0241_MR1,74,F,False,887.06,1364.75466397,486.728,400.332,25.377 220 | OAS1_0243_MR1,64,M,True,987.6279999999999,1658.200645,517.366,470.26199999999994,28.936 221 | OAS1_0244_MR1,80,F,False,823.442,1258.90929519,471.024,352.418,43.006 222 | OAS1_0246_MR1,22,F,False,1095.336,1426.12423229,615.016,480.32,14.958 223 | OAS1_0247_MR1,90,M,True,701.568,1346.72009888,405.939,295.629,53.608999999999995 224 | OAS1_0249_MR1,28,F,False,928.1220000000001,1246.84958626,535.649,392.473,16.051 225 | OAS1_0250_MR1,21,M,False,1037.685,1522.6944492,582.83,454.855,16.701 226 | OAS1_0253_MR1,20,F,False,1284.217,1629.70311774,711.035,573.182,21.718000000000004 227 | OAS1_0254_MR1,85,F,False,762.1959999999999,1264.20462001,444.131,318.065,45.184 228 | OAS1_0255_MR1,71,F,False,876.6339999999999,1423.40079282,465.51199999999994,411.12199999999996,41.217 229 | OAS1_0256_MR1,70,M,False,999.7339999999999,1619.11534779,557.555,442.17900000000003,54.082 230 | OAS1_0258_MR1,21,F,False,1127.689,1496.25732148,660.97,466.719,12.039000000000001 231 | OAS1_0259_MR1,78,F,False,851.269,1263.8454775700004,470.355,380.914,22.5 232 | OAS1_0260_MR1,87,M,False,1013.2339999999999,1801.79361087,558.1619999999999,455.07199999999995,106.478 233 | OAS1_0261_MR1,28,M,False,1105.161,1442.96767259,664.57,440.591,10.729000000000001 234 | OAS1_0262_MR1,46,M,False,1026.9499999999998,1579.3054543899998,581.4259999999999,445.524,33.501 235 | OAS1_0263_MR1,79,M,True,964.2860000000001,1595.5251886,516.494,447.792,64.655 236 | OAS1_0264_MR1,24,M,False,1164.955,1631.30055273,667.0889999999999,497.866,15.985999999999999 237 | OAS1_0265_MR1,54,F,False,980.867,1406.32254229,510.279,470.588,14.538 238 | OAS1_0266_MR1,51,M,False,1228.8829999999998,1745.5538215,663.082,565.8009999999999,39.376 239 | OAS1_0267_MR1,80,M,True,827.037,1455.0944502,477.995,349.042,56.842 240 | OAS1_0268_MR1,78,M,True,888.4159999999999,1444.22992519,533.844,354.57199999999995,38.978 241 | OAS1_0269_MR1,72,F,True,838.703,1446.89930217,437.149,401.55400000000003,36.504 242 | OAS1_0270_MR1,93,F,False,756.5699999999999,1235.01670701,429.454,327.116,35.611999999999995 243 | OAS1_0271_MR1,89,F,False,838.2239999999999,1369.04894727,467.38199999999995,370.842,21.671 244 | OAS1_0272_MR1,75,F,True,851.451,1411.12569533,479.666,371.785,42.869 245 | OAS1_0273_MR1,89,F,True,816.844,1425.3127637799996,461.534,355.31,43.717 246 | OAS1_0274_MR1,58,F,False,964.485,1502.12350231,540.196,424.289,17.91 247 | OAS1_0275_MR1,50,M,False,1085.6950000000002,1599.37456325,602.5740000000001,483.121,37.87 248 | OAS1_0277_MR1,22,M,False,1357.6599999999999,1942.46702638,752.352,605.308,20.053 249 | OAS1_0278_MR1,96,F,True,816.899,1423.22916131,476.57099999999997,340.32800000000003,48.928999999999995 250 | OAS1_0279_MR1,73,F,False,908.5640000000001,1444.71454413,549.595,358.969,40.624 251 | OAS1_0280_MR1,78,F,False,768.418,1449.77059543,437.539,330.879,65.048 252 | OAS1_0281_MR1,28,M,False,1101.094,1555.66499293,609.893,491.20099999999996,23.439 253 | OAS1_0282_MR1,45,F,False,1000.831,1419.73635446,557.835,442.996,16.939 254 | OAS1_0283_MR1,18,F,False,1106.397,1504.49439524,628.998,477.399,12.300999999999998 255 | OAS1_0284_MR1,91,F,False,1031.333,1665.1167437000001,543.399,487.934,53.371 256 | OAS1_0285_MR1,20,M,False,1073.623,1529.2433125200002,659.707,413.916,13.46 257 | OAS1_0286_MR1,83,F,True,905.4590000000001,1515.03807943,478.608,426.851,59.781000000000006 258 | OAS1_0287_MR1,78,F,True,670.107,1178.63594061,365.14,304.967,21.129 259 | OAS1_0288_MR1,71,M,True,898.357,1414.9086936899996,515.951,382.406,38.132 260 | OAS1_0289_MR1,59,F,False,847.095,1257.90402884,470.89099999999996,376.204,21.316999999999997 261 | OAS1_0290_MR1,83,M,True,1149.2710000000002,2001.7635446,611.638,537.633,61.257 262 | OAS1_0291_MR1,73,F,True,787.485,1273.2063085399998,452.561,334.92400000000004,29.031999999999996 263 | OAS1_0292_MR1,64,F,False,905.0920000000001,1419.53566157,472.349,432.74300000000005,24.921999999999997 264 | OAS1_0293_MR1,69,F,False,899.146,1364.15037983,505.401,393.745,26.278000000000002 265 | OAS1_0294_MR1,20,F,False,1016.6659999999999,1393.91838955,592.24,424.426,14.513 266 | OAS1_0295_MR1,20,F,False,966.3760000000001,1340.7610372299996,558.133,408.24300000000005,14.350999999999999 267 | OAS1_0296_MR1,28,F,False,1049.586,1436.38603173,581.899,467.68699999999995,23.531999999999996 268 | OAS1_0298_MR1,72,F,True,830.8320000000001,1338.4948379,449.598,381.23400000000004,27.912 269 | OAS1_0299_MR1,90,F,False,786.489,1435.4131740700002,456.043,330.44599999999997,67.382 270 | OAS1_0300_MR1,68,M,True,897.856,1496.17862585,486.39,411.466,52.216 271 | OAS1_0301_MR1,90,F,False,929.4390000000001,1424.81709568,504.06,425.379,46.113 272 | OAS1_0302_MR1,22,M,False,1139.367,1623.34001163,670.438,468.92900000000003,20.864 273 | OAS1_0303_MR1,67,F,False,879.28,1231.56542826,501.477,377.80300000000005,18.364 274 | OAS1_0304_MR1,84,M,True,832.1320000000001,1487.61922374,477.60400000000004,354.528,49.102 275 | OAS1_0305_MR1,48,M,False,1055.358,1521.87970274,595.15,460.208,14.192 276 | OAS1_0307_MR1,67,M,True,866.434,1339.84129475,460.33,406.10400000000004,42.143 277 | OAS1_0308_MR1,78,F,True,825.8760000000001,1387.28790803,433.38300000000004,392.49300000000005,38.364000000000004 278 | OAS1_0309_MR1,54,F,False,928.904,1458.23864279,490.49699999999996,438.407,21.081 279 | OAS1_0310_MR1,20,F,False,1045.7359999999999,1342.83593166,595.475,450.26099999999997,19.724 280 | OAS1_0311_MR1,22,F,False,980.163,1363.4137620299996,571.9630000000001,408.2,10.981 281 | OAS1_0312_MR1,73,F,True,869.794,1263.2788304700002,477.344,392.45,22.625999999999998 282 | OAS1_0313_MR1,20,F,False,1047.505,1551.36461196,589.464,458.041,24.183000000000003 283 | OAS1_0314_MR1,27,M,False,1229.996,1812.45877363,680.51,549.486,16.66 284 | OAS1_0315_MR1,77,M,True,1026.9450000000002,1600.44852118,547.436,479.509,40.025 285 | OAS1_0316_MR1,72,F,True,824.41,1492.63462838,459.889,364.52099999999996,59.449 286 | OAS1_0318_MR1,33,M,False,1146.395,1584.4023641600004,658.132,488.26300000000003,22.963 287 | OAS1_0319_MR1,31,M,False,1087.585,1584.5621684,586.805,500.78,10.699000000000002 288 | OAS1_0321_MR1,19,M,False,1047.033,1414.96097728,622.6669999999999,424.366,22.69 289 | OAS1_0322_MR1,65,F,False,880.634,1280.14236685,478.796,401.838,26.868000000000002 290 | OAS1_0323_MR1,50,F,False,1004.4720000000001,1379.33679283,541.9680000000001,462.504,12.651 291 | OAS1_0325_MR1,27,F,False,1078.164,1399.47976666,607.359,470.805,8.611 292 | OAS1_0326_MR1,73,F,False,751.867,1239.912695,442.3,309.567,22.418000000000003 293 | OAS1_0327_MR1,50,M,False,1118.9299999999998,1703.53386201,580.42,538.51,24.26 294 | OAS1_0328_MR1,19,M,False,1144.412,1439.6321542,706.2180000000001,438.194,9.809 295 | OAS1_0329_MR1,80,F,True,763.646,1198.809161,449.435,314.211,23.691999999999997 296 | OAS1_0330_MR1,80,F,False,911.4390000000001,1386.14822261,510.944,400.495,21.243000000000002 297 | OAS1_0331_MR1,54,F,False,1013.32,1618.60487991,537.854,475.466,18.465999999999998 298 | OAS1_0332_MR1,72,M,False,1061.154,1692.81823173,577.5319999999999,483.62199999999996,43.011 299 | OAS1_0333_MR1,26,M,False,1139.651,1598.84627448,638.873,500.778,16.558 300 | OAS1_0335_MR1,80,F,True,940.504,1522.5596044,516.508,423.996,50.622 301 | OAS1_0336_MR1,41,F,False,1133.344,1596.8840607999998,621.5790000000001,511.765,17.003 302 | OAS1_0337_MR1,81,M,False,942.2919999999999,1713.66667512,504.031,438.26099999999997,63.496 303 | OAS1_0338_MR1,77,M,False,1096.432,1769.1155926400004,579.332,517.1,61.571999999999996 304 | OAS1_0339_MR1,79,F,True,656.96,1251.64794753,363.724,293.236,61.258 305 | OAS1_0340_MR1,19,M,False,1209.885,1720.02755781,662.173,547.712,17.259 306 | OAS1_0341_MR1,71,F,False,982.658,1498.78058287,554.696,427.962,17.243 307 | OAS1_0342_MR1,88,F,False,909.6889999999999,1327.70360629,525.5219999999999,384.167,28.374000000000002 308 | OAS1_0343_MR1,68,M,False,993.839,1448.6287169000002,546.721,447.11800000000005,18.024 309 | OAS1_0344_MR1,20,M,False,1119.82,1492.89038296,664.607,455.213,10.29 310 | OAS1_0345_MR1,54,F,False,984.721,1439.90995607,550.778,433.94300000000004,14.003 311 | OAS1_0346_MR1,23,M,False,1127.7269999999999,1487.94789499,666.617,461.11,15.588 312 | OAS1_0348_MR1,22,F,False,1074.8509999999999,1450.15970606,621.539,453.31199999999995,13.770999999999999 313 | OAS1_0349_MR1,43,F,False,933.5229999999999,1400.2559908100004,519.198,414.325,16.909000000000002 314 | OAS1_0350_MR1,21,M,False,1198.931,1615.90663252,680.4169999999999,518.514,27.813000000000002 315 | OAS1_0351_MR1,86,M,True,784.2929999999999,1508.08289632,461.772,322.52099999999996,68.211 316 | OAS1_0353_MR1,22,M,False,1128.3339999999998,1679.3010803,631.362,496.972,24.518 317 | OAS1_0354_MR1,74,M,False,891.242,1416.43972592,497.93199999999996,393.31,41.488 318 | OAS1_0355_MR1,73,F,False,785.367,1107.2835969200003,447.52099999999996,337.846,15.618 319 | OAS1_0356_MR1,68,F,False,895.845,1432.35709711,464.815,431.03,50.934 320 | OAS1_0357_MR1,55,F,False,1003.6469999999999,1468.03439507,547.351,456.296,21.833000000000002 321 | OAS1_0358_MR1,65,M,False,992.406,1347.17730035,571.727,420.67900000000003,25.372 322 | OAS1_0359_MR1,21,M,False,1285.485,1702.51721915,774.288,511.19699999999995,8.187999999999999 323 | OAS1_0361_MR1,20,M,False,1079.17,1456.2948766000004,609.7959999999999,469.374,15.29 324 | OAS1_0362_MR1,63,F,True,862.471,1369.92880065,475.273,387.19800000000004,39.467 325 | OAS1_0363_MR1,87,M,False,812.251,1345.4304432,486.655,325.596,41.963 326 | OAS1_0365_MR1,74,M,False,1087.187,1684.39147687,621.413,465.774,72.958 327 | OAS1_0366_MR1,45,F,False,1074.132,1567.29672512,566.2,507.93199999999996,20.182000000000002 328 | OAS1_0367_MR1,46,F,False,817.534,1153.0286657200004,463.39099999999996,354.14300000000003,8.966000000000001 329 | OAS1_0369_MR1,73,F,False,863.0819999999999,1259.37625515,491.76,371.32199999999995,25.891 330 | OAS1_0370_MR1,23,M,False,1229.639,1878.6859464000001,700.1289999999999,529.51,22.053 331 | OAS1_0371_MR1,70,F,False,902.739,1357.75496054,497.295,405.444,18.886 332 | OAS1_0372_MR1,59,M,False,1096.816,1497.67115571,587.616,509.2,14.159 333 | OAS1_0374_MR1,73,F,True,791.675,1252.37071936,459.667,332.00800000000004,16.229 334 | OAS1_0375_MR1,46,M,False,1066.271,1561.32679352,585.785,480.486,32.692 335 | OAS1_0376_MR1,31,M,False,1069.723,1560.7743057500004,548.068,521.655,30.840999999999998 336 | OAS1_0377_MR1,25,M,False,1149.3220000000001,1499.22835345,658.471,490.851,15.772 337 | OAS1_0378_MR1,58,F,False,1011.5740000000001,1400.92577345,544.855,466.719,13.395999999999999 338 | OAS1_0379_MR1,20,F,False,963.145,1307.02499475,547.753,415.392,12.337 339 | OAS1_0380_MR1,83,F,True,761.0409999999999,1376.37866375,420.626,340.415,59.262 340 | OAS1_0381_MR1,59,M,False,1196.6019999999999,1822.56794066,627.857,568.745,40.278 341 | OAS1_0382_MR1,67,F,True,779.9680000000001,1443.51094248,436.684,343.284,69.501 342 | OAS1_0383_MR1,58,M,False,974.599,1561.56525826,518.941,455.658,34.184 343 | OAS1_0384_MR1,38,F,False,1114.312,1426.7623341899996,627.39,486.92199999999997,15.133 344 | OAS1_0385_MR1,22,M,False,1209.4850000000001,1632.60534851,664.388,545.097,12.243 345 | OAS1_0386_MR1,26,F,False,1061.3890000000001,1464.54014002,604.0740000000001,457.315,14.290999999999999 346 | OAS1_0387_MR1,26,F,False,853.933,1203.2236815,509.38300000000004,344.55,11.527000000000001 347 | OAS1_0388_MR1,77,F,True,792.1770000000001,1340.58165113,439.63300000000004,352.54400000000004,47.226000000000006 348 | OAS1_0389_MR1,55,M,False,1072.731,1613.86739761,555.617,517.114,36.705 349 | OAS1_0390_MR1,69,M,True,1022.492,1494.63617634,606.087,416.405,25.846 350 | OAS1_0392_MR1,24,F,False,1033.5140000000001,1487.2891032200002,591.172,442.342,9.681000000000001 351 | OAS1_0394_MR1,22,F,False,991.169,1358.0887744200004,575.135,416.034,10.658 352 | OAS1_0395_MR1,26,F,False,954.692,1315.36421072,554.751,399.941,9.368 353 | OAS1_0396_MR1,25,M,False,1157.623,1584.55882721,650.271,507.352,13.485999999999999 354 | OAS1_0397_MR1,20,F,False,909.101,1327.09447477,518.101,391.0,11.0 355 | OAS1_0398_MR1,71,M,False,1013.1770000000001,1803.00080475,561.494,451.68300000000005,67.54899999999999 356 | OAS1_0399_MR1,78,M,True,921.7629999999999,1611.40271006,519.563,402.2,59.641000000000005 357 | OAS1_0400_MR1,92,F,True,904.748,1676.90592176,479.314,425.434,65.866 358 | OAS1_0401_MR1,54,F,False,956.203,1238.1075987200004,528.047,428.156,12.030999999999999 359 | OAS1_0403_MR1,19,M,False,1134.384,1604.8103627500002,647.229,487.155,12.774000000000001 360 | OAS1_0404_MR1,73,F,False,942.95,1338.22013195,517.86,425.09,38.946999999999996 361 | OAS1_0406_MR1,25,F,False,988.549,1431.6818188399998,577.4730000000001,411.07599999999996,12.57 362 | OAS1_0407_MR1,55,F,False,955.168,1419.1350043,508.709,446.459,21.551 363 | OAS1_0408_MR1,22,F,False,1119.456,1424.60854975,628.654,490.80199999999996,11.887 364 | OAS1_0409_MR1,34,M,False,1054.439,1546.25510717,565.389,489.05,15.717 365 | OAS1_0410_MR1,23,F,False,1063.623,1348.10099882,628.387,435.236,13.987 366 | OAS1_0411_MR1,71,F,True,827.401,1336.05622849,448.575,378.82599999999996,36.187 367 | OAS1_0413_MR1,25,F,False,1085.295,1401.5104804200002,621.336,463.959,16.031 368 | OAS1_0416_MR1,23,F,False,1151.607,1611.7484624299998,666.329,485.278,14.717 369 | OAS1_0417_MR1,30,F,False,1155.484,1610.68115474,642.715,512.769,15.415 370 | OAS1_0418_MR1,74,M,True,1021.481,1684.28419795,535.419,486.06199999999995,25.406 371 | OAS1_0419_MR1,21,F,False,1091.365,1277.62722642,659.222,432.14300000000003,15.687999999999999 372 | OAS1_0420_MR1,22,F,False,1226.507,1582.09534236,718.135,508.37199999999996,29.768 373 | OAS1_0421_MR1,22,F,False,1184.033,1610.60909228,676.9069999999999,507.126,16.764 374 | OAS1_0422_MR1,69,F,False,942.362,1317.99155866,493.64599999999996,448.716,35.333 375 | OAS1_0423_MR1,75,M,False,934.8309999999999,1462.5563029799996,492.64599999999996,442.185,51.601000000000006 376 | OAS1_0424_MR1,75,M,True,943.162,1678.42732014,507.48,435.68199999999996,57.798 377 | OAS1_0425_MR1,78,F,True,878.01,1572.9764403799998,477.91900000000004,400.091,68.535 378 | OAS1_0426_MR1,82,F,False,863.7249999999999,1332.65801085,467.38199999999995,396.343,24.419 379 | OAS1_0428_MR1,84,F,False,925.7510000000001,1604.02365155,460.93300000000005,464.81800000000004,65.97800000000001 380 | OAS1_0429_MR1,45,F,False,934.5899999999999,1411.9911670600004,518.053,416.537,21.478 381 | OAS1_0431_MR1,22,F,False,959.011,1265.2444834700002,565.55,393.461,18.2 382 | OAS1_0432_MR1,72,F,True,932.8879999999999,1340.13030887,490.07099999999997,442.81699999999995,27.456999999999997 383 | OAS1_0433_MR1,58,M,False,1071.721,1598.25827978,598.207,473.514,25.581 384 | OAS1_0434_MR1,50,F,False,939.451,1334.04888909,521.905,417.546,15.72 385 | OAS1_0435_MR1,23,M,False,1249.524,1712.11374457,753.533,495.991,21.21 386 | OAS1_0437_MR1,22,F,False,1075.409,1391.07167663,610.394,465.015,10.54 387 | OAS1_0438_MR1,66,F,False,836.204,1210.52495504,485.495,350.709,18.266 388 | OAS1_0439_MR1,21,M,False,1027.911,1442.96824983,610.7919999999999,417.119,11.556 389 | OAS1_0440_MR1,86,M,True,765.693,1330.7916456500004,443.913,321.78,26.811 390 | OAS1_0441_MR1,81,M,True,971.0160000000001,1583.68976254,541.936,429.08,48.162 391 | OAS1_0442_MR1,23,F,False,1055.3719999999998,1392.20400036,640.641,414.731,12.607000000000001 392 | OAS1_0443_MR1,52,F,False,969.3050000000001,1422.42861163,526.622,442.68300000000005,20.92 393 | OAS1_0444_MR1,30,F,False,912.4580000000001,1274.84380157,522.394,390.064,16.27 394 | OAS1_0445_MR1,90,F,False,743.364,1346.3247115499996,428.995,314.369,60.345 395 | OAS1_0446_MR1,80,F,False,845.5110000000001,1254.38699341,441.99800000000005,403.51300000000003,35.135999999999996 396 | OAS1_0447_MR1,92,F,True,848.5840000000001,1375.81840776,491.80300000000005,356.781,32.717 397 | OAS1_0448_MR1,22,F,False,1171.396,1587.55944708,679.02,492.376,9.876 398 | OAS1_0449_MR1,71,F,False,908.309,1228.20104558,493.147,415.162,25.954 399 | OAS1_0450_MR1,19,M,False,1157.903,1501.79304134,695.5,462.403,11.299000000000001 400 | OAS1_0451_MR1,73,M,True,1019.517,1699.83430969,569.2230000000001,450.29400000000004,51.66 401 | OAS1_0452_MR1,75,M,True,1041.141,1678.27035538,571.014,470.12699999999995,40.574 402 | OAS1_0453_MR1,70,F,True,800.251,1328.18123969,433.586,366.665,25.969 403 | OAS1_0454_MR1,73,F,True,930.0310000000001,1522.42876736,495.43800000000005,434.593,31.596 404 | OAS1_0455_MR1,61,F,False,956.194,1402.22692408,537.553,418.64099999999996,12.517999999999999 405 | OAS1_0456_MR1,61,M,False,1038.9650000000001,1587.33044052,560.462,478.50300000000004,38.161 406 | OAS1_0457_MR1,62,F,False,855.391,1356.85453326,484.39099999999996,371.0,23.962 407 | OAS1_0061_MR2,20,F,False,1306.942,1919.35398288,754.7260000000001,552.216,12.07 408 | OAS1_0080_MR2,25,F,False,1178.1640000000002,1509.60673821,634.4490000000001,543.715,14.344000000000001 409 | OAS1_0092_MR2,22,M,False,1070.161,1600.49482163,618.205,451.95599999999996,18.988 410 | OAS1_0101_MR2,29,M,False,1058.487,1581.09091241,587.064,471.423,9.352 411 | OAS1_0111_MR2,23,M,False,1243.929,1751.49540094,702.7660000000001,541.163,14.970999999999998 412 | OAS1_0117_MR2,25,M,False,1110.123,1644.3111851899996,648.153,461.97,57.122 413 | OAS1_0145_MR2,34,M,False,1137.143,1713.4571434,614.337,522.806,33.084 414 | OAS1_0150_MR2,20,F,False,1133.714,1439.45095689,648.754,484.96,11.362 415 | OAS1_0156_MR2,20,F,False,1092.4959999999999,1586.38577125,618.569,473.92699999999996,17.069000000000003 416 | OAS1_0191_MR2,21,F,False,1036.266,1348.80320359,571.906,464.36,11.085 417 | OAS1_0202_MR2,23,F,False,1175.9830000000002,1544.10508763,623.139,552.844,10.925999999999998 418 | OAS1_0230_MR2,19,F,False,1135.805,1610.7579709299996,644.057,491.74800000000005,19.73 419 | OAS1_0236_MR2,20,F,False,951.835,1205.25316555,581.815,370.02,9.431000000000001 420 | OAS1_0239_MR2,29,F,False,1002.1899999999999,1499.7678023899996,549.419,452.77099999999996,23.678 421 | OAS1_0249_MR2,28,F,False,919.16,1294.51309123,529.6519999999999,389.50800000000004,16.604 422 | OAS1_0285_MR2,20,M,False,1091.8300000000002,1415.80659849,672.8560000000001,418.974,13.205 423 | OAS1_0353_MR2,22,M,False,1143.4189999999999,1626.77406291,636.923,506.496,25.213 424 | OAS1_0368_MR2,22,M,False,1144.9759999999999,1720.0216524900004,656.775,488.20099999999996,15.812000000000001 425 | OAS1_0379_MR2,20,F,False,956.22,1346.9322138399998,540.561,415.659,13.807 426 | OAS1_0395_MR2,26,F,False,959.715,1284.06620113,554.701,405.014,9.144 427 | -------------------------------------------------------------------------------- /Data/sunnybrook-cardiac-mr.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/sunnybrook-cardiac-mr.zip -------------------------------------------------------------------------------- /Data/tcia-chest-ct-sample.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Data/tcia-chest-ct-sample.zip -------------------------------------------------------------------------------- /Images/ConvolutionGif.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Images/ConvolutionGif.gif -------------------------------------------------------------------------------- /Images/Plot_other_views.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Images/Plot_other_views.png -------------------------------------------------------------------------------- /Images/affine_transform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Images/affine_transform.png -------------------------------------------------------------------------------- /Images/creating_mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Images/creating_mask.png -------------------------------------------------------------------------------- /Images/generate_subplots.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Images/generate_subplots.png -------------------------------------------------------------------------------- /Images/hand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Images/hand.png -------------------------------------------------------------------------------- /Images/hand_xray.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Images/hand_xray.jpg -------------------------------------------------------------------------------- /Images/plotting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Images/plotting.png -------------------------------------------------------------------------------- /Images/rotations.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Images/rotations.png -------------------------------------------------------------------------------- /Images/smoothing.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Images/smoothing.png -------------------------------------------------------------------------------- /Images/stacked_images.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Images/stacked_images.png -------------------------------------------------------------------------------- /Images/testing_group_differences.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Artsplendr/Biomedical-Image-Analysis-in-Python/50af2741653a6bf0b1d7d36f056968c1a6d25f3d/Images/testing_group_differences.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Biomedical-Image-Analysis-in-Python by Datacamp.com 2 | 3 | This repo contains material from Datacamp course "Biomedical Image Analysis in Python". 4 | Instructor: Stephen Bailey (thank you :)!) 5 | 6 | Reference: https://learn.datacamp.com/courses/biomedical-image-analysis-in-python 7 | 8 | First chapter introduces how to load 2D and 3D images, some advanced plotting methods, slicing 3D images. 9 | 10 | Second chapter is devoted to the masks and filters. Here we learn how to explore patterns to select sub-areas of an image and how to use filters to detect features. 11 | 12 | Third chapter is about image segmentation, object labeling, and morphological measurement. 13 | 14 | Final chapter discusses basics of registration, resampling, and image comparison. 15 | 16 | Not all images from the course are available in this repository. 17 | 18 | Please use your examples of images to experiment with the code. 19 | --------------------------------------------------------------------------------