diff --git a/Brain_Tumour_Segmentation.ipynb b/Brain_Tumour_Segmentation.ipynb
new file mode 100644
index 0000000..0a13d17
--- /dev/null
+++ b/Brain_Tumour_Segmentation.ipynb
@@ -0,0 +1,1755 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "id": "view-in-github",
+ "colab_type": "text"
+ },
+ "source": [
+ ""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {
+ "id": "TUxU1SLKkBQP"
+ },
+ "outputs": [],
+ "source": [
+ "# install kaggle\n",
+ "!pip install -q kaggle"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "tLZPeYqJquTb"
+ },
+ "outputs": [],
+ "source": [
+ "# upload the generated api token in .json format from local system\n",
+ "from google.colab import files\n",
+ "files.upload()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {
+ "id": "bQmjPuM3Q3i3"
+ },
+ "outputs": [],
+ "source": [
+ "# make a kaggle directory in my files\n",
+ "!mkdir ~/.kaggle"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {
+ "id": "8TcYfMjrRF4v"
+ },
+ "outputs": [],
+ "source": [
+ "# put the kaggle.json file in that directory\n",
+ "!cp kaggle.json ~/.kaggle/"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {
+ "id": "khvU0fcwrdI5"
+ },
+ "outputs": [],
+ "source": [
+ "# grant permission for the .json file to act\n",
+ "!chmod 600 ~/.kaggle/kaggle.json"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "afOog3SBrqXG",
+ "outputId": "a6002017-ea21-433f-80bc-93de2a8463e9"
+ },
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Warning: Looks like you're using an outdated API Version, please consider updating (server 1.5.12 / client 1.5.4)\n",
+ "ref title size lastUpdated downloadCount \n",
+ "--------------------------------------------------------------- ------------------------------------------------- ----- ------------------- ------------- \n",
+ "yasserh/wine-quality-dataset Wine Quality Dataset 21KB 2022-01-15 19:15:11 7622 \n",
+ "mkoklu42/pistachio-dataset Pistachio Dataset 2MB 2022-02-11 21:06:50 63 \n",
+ "prasertk/netflix-subscription-price-in-different-countries Netflix subscription fee in different countries 3KB 2022-01-15 07:06:09 5860 \n",
+ "majyhain/height-of-male-and-female-by-country-2022 Height of Male and Female by Country 2022 4KB 2022-02-02 00:40:19 3042 \n",
+ "ashishjangra27/ted-talks TED Talks 298KB 2022-02-23 15:16:08 605 \n",
+ "jainilcoder/netflix-stock-price-prediction Netflix Stock Price Prediction 21KB 2022-02-05 05:06:10 1137 \n",
+ "shivavashishtha/shark-tank-india-dataset Shark Tank India Dataset 4KB 2022-02-24 12:57:31 389 \n",
+ "mkoklu42/pumpkin-seeds-dataset Pumpkin Seeds Dataset 393KB 2022-02-08 15:54:27 310 \n",
+ "sanjeetsinghnaik/top-1000-highest-grossing-movies Top 1000 Highest Grossing Movies 106KB 2022-01-15 16:26:14 3876 \n",
+ "mkoklu42/acoustic-extinguisher-fire-dataset Acoustic Extinguisher Fire Dataset 620KB 2022-02-09 17:59:52 31 \n",
+ "georgesaavedra/covid19-dataset COVID-19 dataset 9MB 2022-02-25 19:13:10 3080 \n",
+ "soumyadiptadas/products-sales-timeseries-data Products sales time-series data 1KB 2022-02-24 08:21:51 321 \n",
+ "prasertk/michelinstar-restaurants Michelin \"star\" restaurants 364KB 2022-02-23 00:28:16 337 \n",
+ "soumyadiptadas/students-math-score-for-different-teaching-style Student's math score for different teaching style 2KB 2022-02-23 12:36:06 449 \n",
+ "robikscube/ubiquant-parquet Ubiquant Competition Data in Parquet Format 13GB 2022-01-19 14:18:59 2164 \n",
+ "mkoklu42/dry-bean-dataset Dry Bean Dataset 2MB 2022-02-08 12:36:26 36 \n",
+ "mkoklu42/rice-msc-dataset Rice MSC Dataset 102MB 2022-02-08 12:27:51 28 \n",
+ "prokaggler/global-mobility-data-during-covid-19 Global Mobility Data during Covid 19 67MB 2022-02-23 13:37:41 202 \n",
+ "datasnaek/youtube-new Trending YouTube Video Statistics 201MB 2019-06-03 00:56:47 166999 \n",
+ "zynicide/wine-reviews Wine Reviews 51MB 2017-11-27 17:08:04 155136 \n"
+ ]
+ }
+ ],
+ "source": [
+ "# list available datsets to ensure that the API worked and kaggle's linked\n",
+ "!kaggle datasets list"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/"
+ },
+ "id": "nmX1SKJWr0uX",
+ "outputId": "48c58fbb-6c7d-4ede-fa82-03716934fa48"
+ },
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Downloading lgg-mri-segmentation.zip to /content\n",
+ " 97% 696M/714M [00:04<00:00, 177MB/s]\n",
+ "100% 714M/714M [00:04<00:00, 164MB/s]\n"
+ ]
+ }
+ ],
+ "source": [
+ "# download the mri segmentation datset with its api command\n",
+ "!kaggle datasets download -d mateuszbuda/lgg-mri-segmentation"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "nAAOkz-jsU_4"
+ },
+ "outputs": [],
+ "source": [
+ "# unzip the images from the .zip file so we can directly access these images\n",
+ "!unzip lgg-mri-segmentation.zip"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {
+ "id": "3tW4orEZtPWn"
+ },
+ "outputs": [],
+ "source": [
+ "#visualize the amount of tumours and non-tumours\n",
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np\n",
+ "import glob\n",
+ "import cv2\n",
+ "import pandas as pd\n",
+ "\n",
+ "# path of all the images:\n",
+ "root_path = '/content/lgg-mri-segmentation/kaggle_3m/'\n",
+ "\n",
+ "potential_mask_files = glob.glob(root_path + \"*/*_mask*\") # names of all the files with masks\n",
+ "\n",
+ "mask_files = []\n",
+ "add_count = 0\n",
+ "for mask in potential_mask_files: # took most the files that have tumours in them to decrease the dataset since RAM keeps running out\n",
+ " if np.max(cv2.imread(mask)) > 0:\n",
+ " mask_files.append(mask)\n",
+ " elif np.max(cv2.imread(mask)) == 0 and add_count % 3 == 0:\n",
+ " mask_files.append(mask)\n",
+ " \n",
+ " add_count += 1\n",
+ "\n",
+ "image_files = []\n",
+ "for mask in mask_files:\n",
+ " rmask = mask.replace(\"_mask\", \"\")\n",
+ " image_files.append(rmask)\n",
+ "\n",
+ "print(mask_files) # - e.x.: /content/lgg-mri-segmentation/kaggle_3m/TCGA_FG_A60K_20040224/TCGA_FG_A60K_20040224_23_mask.tif\n",
+ "print(image_files) # - e.x.: /content/lgg-mri-segmentation/kaggle_3m/TCGA_FG_A60K_20040224/TCGA_FG_A60K_20040224_23.tif\n",
+ "\n",
+ "tumour_count = []\n",
+ "\n",
+ "def diagnosis(mask_path):\n",
+ " if np.max(cv2.imread(mask_path)) > 0: # return np.max(cv2.imread(mask_path)) - returns 255 if there is a tumour, otherwise returns 0\n",
+ " tumour_count.append(\"1\")\n",
+ " return 1\n",
+ " else:\n",
+ " tumour_count.append(\"0\")\n",
+ " return 0\n",
+ "\n",
+ "files_df = pd.DataFrame({\"image_path\": image_files, \n",
+ " \"mask_path\": mask_files,\n",
+ " \"diagnosis\": [diagnosis(x) for x in mask_files]})\n",
+ "\n",
+ "print(files_df)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {
+ "colab": {
+ "base_uri": "https://localhost:8080/",
+ "height": 300
+ },
+ "id": "RTTzaCsopOTt",
+ "outputId": "617a7e21-2bf7-4e86-8636-6bd964e7c249"
+ },
+ "outputs": [
+ {
+ "output_type": "stream",
+ "name": "stdout",
+ "text": [
+ "Tumours: 1373 ........... Non-Tumours: 850\n"
+ ]
+ },
+ {
+ "output_type": "execute_result",
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "execution_count": 13
+ },
+ {
+ "output_type": "display_data",
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ "