{
  "cells": [
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "82defec5-61da-1391-ec58-024a13bc20d6"
      },
      "outputs": [],
      "source": [
        "import pandas as pd\n",
        "import numpy as np\n",
        "import glob\n",
        "\n",
        "train = pd.read_csv('../input/Train/train.csv')\n",
        "train1 = glob.glob('../input/Train/*.jpg')\n",
        "train2 = glob.glob('../input/TrainDotted/*.jpg')\n",
        "submission = pd.read_csv('../input/sample_submission.csv')\n",
        "print(len(train),len(train1), len(train2), len(submission))"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "7292837c-2341-9ddd-8fb3-f2679cb04fce"
      },
      "outputs": [],
      "source": [
        "from PIL import Image, ImageDraw, ImageFilter\n",
        "import matplotlib.pyplot as plt\n",
        "%matplotlib inline\n",
        "\n",
        "plt.rcParams['figure.figsize'] = (12.0, 6.0)\n",
        "im1 = Image.open(train1[1])\n",
        "im2 = Image.open(train1[1].replace('Train','TrainDotted'))\n",
        "imx = np.concatenate((im1.resize((400, 400), Image.ANTIALIAS), im2.resize((400, 400), Image.ANTIALIAS)), axis=1)\n",
        "plt.imshow(imx); plt.axis('off')"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "ad52bdb0-86c5-039b-fb18-14f6bfb69ae8"
      },
      "outputs": [],
      "source": [
        "train[train.train_id == int(train1[1].split('/')[3].split('.')[0])].T"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "631779e4-b5a5-bf51-a73a-06ff968c94c3"
      },
      "outputs": [],
      "source": [
        "plt.rcParams['figure.figsize'] = (10.0, 10.0)\n",
        "im3 = im2.crop((2400,100,2900,600))\n",
        "plt.imshow(im3); plt.axis('off')"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "79e5874f-6620-e429-885b-26960ab8fab1"
      },
      "outputs": [],
      "source": [
        "from PIL import ImageChops\n",
        "im_diff = ImageChops.difference(im1, im2)\n",
        "plt.imshow(im_diff); plt.axis('off')"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "4dba3cdb-6558-ba55-0dc6-b2cb02e66703"
      },
      "outputs": [],
      "source": [
        "w, h = im2.size\n",
        "p2 = im2.load() #get pixels\n",
        "for x in range(w):\n",
        "    for y in range(h):\n",
        "        if p2[x,y] == (0, 0, 0):\n",
        "            im_diff.putpixel((x, y), p2[x,y])\n",
        "plt.imshow(im_diff); plt.axis('off')"
      ]
    },
    {
      "cell_type": "markdown",
      "metadata": {
        "_cell_guid": "3e3133e1-c77d-1bc8-304b-75ec12117479"
      },
      "source": [
        "It's never that easy...\n",
        "-----------------------"
      ]
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "_cell_guid": "7c64650f-2921-3133-4acc-59eb6462a4c0"
      },
      "outputs": [],
      "source": [
        "d_mean = train.mean(axis=0)\n",
        "print(d_mean)\n",
        "for c in submission.columns:\n",
        "    if c != 'test_id':\n",
        "        submission[c] = int(d_mean[c])\n",
        "submission.to_csv('submission.csv', index=False)\n",
        "submission.head()"
      ]
    }
  ],
  "metadata": {
    "_change_revision": 0,
    "_is_fork": false,
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    },
    "language_info": {
      "codemirror_mode": {
        "name": "ipython",
        "version": 3
      },
      "file_extension": ".py",
      "mimetype": "text/x-python",
      "name": "python",
      "nbconvert_exporter": "python",
      "pygments_lexer": "ipython3",
      "version": "3.6.0"
    }
  },
  "nbformat": 4,
  "nbformat_minor": 0
}