diff --git a/crop/SimData.ipynb b/crop/SimData.ipynb
index 25d8be86fc3e1ed7a98de283fb136c3019f73424..c475a8013d724c6a2cd2fb9558d8e144741063a1 100644
--- a/crop/SimData.ipynb
+++ b/crop/SimData.ipynb
@@ -2,7 +2,7 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": 35,
+   "execution_count": 57,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -12,16 +12,21 @@
     "import pandas as pd\n",
     "import numpy as np\n",
     "from torchvision.utils import save_image\n",
-    "import torchvision.transforms.functional as fn"
+    "import torchvision.transforms.functional as fn\n",
+    "import torchvision.transforms as transforms\n",
+    "import matplotlib.pyplot as plt"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 44,
+   "execution_count": 58,
    "metadata": {},
    "outputs": [],
    "source": [
-    "# TODO: overlap?\n",
+    "# generates new dataset by pasting beetles and non-beetles in the same picture. \n",
+    "#returns array of new images and coordinates\n",
+    "#TODO: make sure that the beetles and non-beetles don't overlap with each other\n",
+    "\n",
     "def generate_data(bg: list[Image], beetle_set: list[Image], num_beetles_arr: list[int]):\n",
     "    set_size = len(beetle_set)\n",
     "    set_bg_size = len(bg)\n",
@@ -39,14 +44,18 @@
     "            beetle_width, beetle_height = beetle_img.size\n",
     "\n",
     "            # get random x,y coords to paste beetle\n",
-    "            x = randint(0, width - beetle_width)\n",
-    "            y = randint(0, height - beetle_height)\n",
+    "            x = np.random.randint(0, width - beetle_width)\n",
+    "            y = np.random.randint(0, height - beetle_height)\n",
     "\n",
     "            # get random beetle rotation\n",
-    "            angle = randint(0, 359)\n",
+    "            angle = np.random.randint(0, 360)\n",
     "            beetle_img = beetle_img.rotate(angle, resample=Image.BICUBIC)\n",
     "\n",
     "            bg_temp.paste(beetle_img, box=(x,y), mask=beetle_img)\n",
+    "            \n",
+    "            #centers x and y for YOLOv5 PyTorch label\n",
+    "            x += beetle_width/2\n",
+    "            y += beetle_height/2\n",
     "            beetle_coords.append((beetle_id, x, y, beetle_width, beetle_height, angle))\n",
     "        sim_arr.append(bg_temp)\n",
     "        coords_arr.append(beetle_coords)\n",
@@ -56,10 +65,11 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 45,
+   "execution_count": 59,
    "metadata": {},
    "outputs": [],
    "source": [
+    "#???\n",
     "def find_coeffs(source_coords, target_coords):\n",
     "    matrix = []\n",
     "    for s, t in zip(source_coords, target_coords):\n",
@@ -73,11 +83,11 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 46,
+   "execution_count": 60,
    "metadata": {},
    "outputs": [],
    "source": [
-    "bg = Image.open(\"bg.png\")\n",
+    "bg = Image.open(\"imgs/bg.png\")\n",
     "beetles = []\n",
     "for file in glob.glob(r\"/raid/projects/akhot2/group-01-phys371-sp2023/crop/beetles/*\"):\n",
     "    b0 = Image.open(file)\n",
@@ -91,58 +101,1298 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 47,
+   "execution_count": 61,
    "metadata": {},
    "outputs": [],
    "source": [
-    "beetle_counts = np.random.randint(0, 6, size=1)\n",
+    "beetle_counts = np.random.randint(0, 6, size=1250)\n",
     "sim_img_arr, coords_arr = generate_data([bg_flat], beetles, beetle_counts)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 50,
+   "execution_count": 62,
    "metadata": {},
    "outputs": [],
    "source": [
+    "#exports images and coordinates in YOLOv5 PyTorch format\n",
     "def export(img_arr, coords_arr):\n",
-    "    transform = transforms.Compose([transforms.ToTensor()])\n",
     "    s = \"\"\n",
     "    image_set = \"train\"\n",
     "    change = len(img_arr)*0.8\n",
     "    for i in range(len(img_arr)):\n",
     "        s = \"\"\n",
+    "        img = img_arr[i]\n",
     "        for coord in coords_arr[i]:\n",
     "            c, x, y, w, h, a = coord\n",
-    "            img = img_arr[i]\n",
-    "            \n",
     "            s += f\"{0} {x/img.size[0]} {y/img.size[1]} {w/img.size[0]} {h/img.size[1]}\\n\"\n",
+    "        print(i)\n",
     "        if i > change:\n",
     "            image_set = \"test\"\n",
     "        with open(\"data/\" +image_set+ f\"/labels/sim{i}.txt\", \"w\") as f:\n",
     "            f.write(s)\n",
-    "        save_image(img, \"data/\" +image_set+ f\"/images/sim{i}.png\")"
+    "        img.save(\"data/\" +image_set+ f\"/images/sim{i}.png\")"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 51,
+   "execution_count": 63,
    "metadata": {},
    "outputs": [
     {
-     "ename": "TypeError",
-     "evalue": "tensor or list of tensors expected, got <class 'PIL.Image.Image'>",
-     "output_type": "error",
-     "traceback": [
-      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
-      "\u001b[0;31mTypeError\u001b[0m                                 Traceback (most recent call last)",
-      "Input \u001b[0;32mIn [51]\u001b[0m, in \u001b[0;36m<cell line: 1>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mexport\u001b[49m\u001b[43m(\u001b[49m\u001b[43msim_img_arr\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcoords_arr\u001b[49m\u001b[43m)\u001b[49m\n",
-      "Input \u001b[0;32mIn [50]\u001b[0m, in \u001b[0;36mexport\u001b[0;34m(img_arr, coords_arr)\u001b[0m\n\u001b[1;32m     13\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mopen\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdata/\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;241m+\u001b[39mimage_set\u001b[38;5;241m+\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m/labels/sim\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mi\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m.txt\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mw\u001b[39m\u001b[38;5;124m\"\u001b[39m) \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[1;32m     14\u001b[0m     f\u001b[38;5;241m.\u001b[39mwrite(s)\n\u001b[0;32m---> 15\u001b[0m \u001b[43msave_image\u001b[49m\u001b[43m(\u001b[49m\u001b[43mimg\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdata/\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43mimage_set\u001b[49m\u001b[38;5;241;43m+\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;124;43mf\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43m/images/sim\u001b[39;49m\u001b[38;5;132;43;01m{\u001b[39;49;00m\u001b[43mi\u001b[49m\u001b[38;5;132;43;01m}\u001b[39;49;00m\u001b[38;5;124;43m.png\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n",
-      "File \u001b[0;32m/raid/projects/akhot2/conda/envs/akhot2/lib/python3.9/site-packages/torch/autograd/grad_mode.py:27\u001b[0m, in \u001b[0;36m_DecoratorContextManager.__call__.<locals>.decorate_context\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m     24\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m     25\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdecorate_context\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m     26\u001b[0m     \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclone():\n\u001b[0;32m---> 27\u001b[0m         \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
-      "File \u001b[0;32m/raid/projects/akhot2/conda/envs/akhot2/lib/python3.9/site-packages/torchvision/utils.py:152\u001b[0m, in \u001b[0;36msave_image\u001b[0;34m(tensor, fp, format, **kwargs)\u001b[0m\n\u001b[1;32m    150\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m torch\u001b[38;5;241m.\u001b[39mjit\u001b[38;5;241m.\u001b[39mis_scripting() \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m torch\u001b[38;5;241m.\u001b[39mjit\u001b[38;5;241m.\u001b[39mis_tracing():\n\u001b[1;32m    151\u001b[0m     _log_api_usage_once(save_image)\n\u001b[0;32m--> 152\u001b[0m grid \u001b[38;5;241m=\u001b[39m \u001b[43mmake_grid\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtensor\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    153\u001b[0m \u001b[38;5;66;03m# Add 0.5 after unnormalizing to [0, 255] to round to nearest integer\u001b[39;00m\n\u001b[1;32m    154\u001b[0m ndarr \u001b[38;5;241m=\u001b[39m grid\u001b[38;5;241m.\u001b[39mmul(\u001b[38;5;241m255\u001b[39m)\u001b[38;5;241m.\u001b[39madd_(\u001b[38;5;241m0.5\u001b[39m)\u001b[38;5;241m.\u001b[39mclamp_(\u001b[38;5;241m0\u001b[39m, \u001b[38;5;241m255\u001b[39m)\u001b[38;5;241m.\u001b[39mpermute(\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m2\u001b[39m, \u001b[38;5;241m0\u001b[39m)\u001b[38;5;241m.\u001b[39mto(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcpu\u001b[39m\u001b[38;5;124m\"\u001b[39m, torch\u001b[38;5;241m.\u001b[39muint8)\u001b[38;5;241m.\u001b[39mnumpy()\n",
-      "File \u001b[0;32m/raid/projects/akhot2/conda/envs/akhot2/lib/python3.9/site-packages/torch/autograd/grad_mode.py:27\u001b[0m, in \u001b[0;36m_DecoratorContextManager.__call__.<locals>.decorate_context\u001b[0;34m(*args, **kwargs)\u001b[0m\n\u001b[1;32m     24\u001b[0m \u001b[38;5;129m@functools\u001b[39m\u001b[38;5;241m.\u001b[39mwraps(func)\n\u001b[1;32m     25\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdecorate_context\u001b[39m(\u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m     26\u001b[0m     \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mclone():\n\u001b[0;32m---> 27\u001b[0m         \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mfunc\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n",
-      "File \u001b[0;32m/raid/projects/akhot2/conda/envs/akhot2/lib/python3.9/site-packages/torchvision/utils.py:60\u001b[0m, in \u001b[0;36mmake_grid\u001b[0;34m(tensor, nrow, padding, normalize, value_range, scale_each, pad_value, **kwargs)\u001b[0m\n\u001b[1;32m     58\u001b[0m     _log_api_usage_once(make_grid)\n\u001b[1;32m     59\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m (torch\u001b[38;5;241m.\u001b[39mis_tensor(tensor) \u001b[38;5;129;01mor\u001b[39;00m (\u001b[38;5;28misinstance\u001b[39m(tensor, \u001b[38;5;28mlist\u001b[39m) \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mall\u001b[39m(torch\u001b[38;5;241m.\u001b[39mis_tensor(t) \u001b[38;5;28;01mfor\u001b[39;00m t \u001b[38;5;129;01min\u001b[39;00m tensor))):\n\u001b[0;32m---> 60\u001b[0m     \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtensor or list of tensors expected, got \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mtype\u001b[39m(tensor)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m     62\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mrange\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01min\u001b[39;00m kwargs\u001b[38;5;241m.\u001b[39mkeys():\n\u001b[1;32m     63\u001b[0m     warnings\u001b[38;5;241m.\u001b[39mwarn(\n\u001b[1;32m     64\u001b[0m         \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe parameter \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mrange\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m is deprecated since 0.12 and will be removed in 0.14. \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m     65\u001b[0m         \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mPlease use \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mvalue_range\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m instead.\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m     66\u001b[0m     )\n",
-      "\u001b[0;31mTypeError\u001b[0m: tensor or list of tensors expected, got <class 'PIL.Image.Image'>"
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "0\n",
+      "1\n",
+      "2\n",
+      "3\n",
+      "4\n",
+      "5\n",
+      "6\n",
+      "7\n",
+      "8\n",
+      "9\n",
+      "10\n",
+      "11\n",
+      "12\n",
+      "13\n",
+      "14\n",
+      "15\n",
+      "16\n",
+      "17\n",
+      "18\n",
+      "19\n",
+      "20\n",
+      "21\n",
+      "22\n",
+      "23\n",
+      "24\n",
+      "25\n",
+      "26\n",
+      "27\n",
+      "28\n",
+      "29\n",
+      "30\n",
+      "31\n",
+      "32\n",
+      "33\n",
+      "34\n",
+      "35\n",
+      "36\n",
+      "37\n",
+      "38\n",
+      "39\n",
+      "40\n",
+      "41\n",
+      "42\n",
+      "43\n",
+      "44\n",
+      "45\n",
+      "46\n",
+      "47\n",
+      "48\n",
+      "49\n",
+      "50\n",
+      "51\n",
+      "52\n",
+      "53\n",
+      "54\n",
+      "55\n",
+      "56\n",
+      "57\n",
+      "58\n",
+      "59\n",
+      "60\n",
+      "61\n",
+      "62\n",
+      "63\n",
+      "64\n",
+      "65\n",
+      "66\n",
+      "67\n",
+      "68\n",
+      "69\n",
+      "70\n",
+      "71\n",
+      "72\n",
+      "73\n",
+      "74\n",
+      "75\n",
+      "76\n",
+      "77\n",
+      "78\n",
+      "79\n",
+      "80\n",
+      "81\n",
+      "82\n",
+      "83\n",
+      "84\n",
+      "85\n",
+      "86\n",
+      "87\n",
+      "88\n",
+      "89\n",
+      "90\n",
+      "91\n",
+      "92\n",
+      "93\n",
+      "94\n",
+      "95\n",
+      "96\n",
+      "97\n",
+      "98\n",
+      "99\n",
+      "100\n",
+      "101\n",
+      "102\n",
+      "103\n",
+      "104\n",
+      "105\n",
+      "106\n",
+      "107\n",
+      "108\n",
+      "109\n",
+      "110\n",
+      "111\n",
+      "112\n",
+      "113\n",
+      "114\n",
+      "115\n",
+      "116\n",
+      "117\n",
+      "118\n",
+      "119\n",
+      "120\n",
+      "121\n",
+      "122\n",
+      "123\n",
+      "124\n",
+      "125\n",
+      "126\n",
+      "127\n",
+      "128\n",
+      "129\n",
+      "130\n",
+      "131\n",
+      "132\n",
+      "133\n",
+      "134\n",
+      "135\n",
+      "136\n",
+      "137\n",
+      "138\n",
+      "139\n",
+      "140\n",
+      "141\n",
+      "142\n",
+      "143\n",
+      "144\n",
+      "145\n",
+      "146\n",
+      "147\n",
+      "148\n",
+      "149\n",
+      "150\n",
+      "151\n",
+      "152\n",
+      "153\n",
+      "154\n",
+      "155\n",
+      "156\n",
+      "157\n",
+      "158\n",
+      "159\n",
+      "160\n",
+      "161\n",
+      "162\n",
+      "163\n",
+      "164\n",
+      "165\n",
+      "166\n",
+      "167\n",
+      "168\n",
+      "169\n",
+      "170\n",
+      "171\n",
+      "172\n",
+      "173\n",
+      "174\n",
+      "175\n",
+      "176\n",
+      "177\n",
+      "178\n",
+      "179\n",
+      "180\n",
+      "181\n",
+      "182\n",
+      "183\n",
+      "184\n",
+      "185\n",
+      "186\n",
+      "187\n",
+      "188\n",
+      "189\n",
+      "190\n",
+      "191\n",
+      "192\n",
+      "193\n",
+      "194\n",
+      "195\n",
+      "196\n",
+      "197\n",
+      "198\n",
+      "199\n",
+      "200\n",
+      "201\n",
+      "202\n",
+      "203\n",
+      "204\n",
+      "205\n",
+      "206\n",
+      "207\n",
+      "208\n",
+      "209\n",
+      "210\n",
+      "211\n",
+      "212\n",
+      "213\n",
+      "214\n",
+      "215\n",
+      "216\n",
+      "217\n",
+      "218\n",
+      "219\n",
+      "220\n",
+      "221\n",
+      "222\n",
+      "223\n",
+      "224\n",
+      "225\n",
+      "226\n",
+      "227\n",
+      "228\n",
+      "229\n",
+      "230\n",
+      "231\n",
+      "232\n",
+      "233\n",
+      "234\n",
+      "235\n",
+      "236\n",
+      "237\n",
+      "238\n",
+      "239\n",
+      "240\n",
+      "241\n",
+      "242\n",
+      "243\n",
+      "244\n",
+      "245\n",
+      "246\n",
+      "247\n",
+      "248\n",
+      "249\n",
+      "250\n",
+      "251\n",
+      "252\n",
+      "253\n",
+      "254\n",
+      "255\n",
+      "256\n",
+      "257\n",
+      "258\n",
+      "259\n",
+      "260\n",
+      "261\n",
+      "262\n",
+      "263\n",
+      "264\n",
+      "265\n",
+      "266\n",
+      "267\n",
+      "268\n",
+      "269\n",
+      "270\n",
+      "271\n",
+      "272\n",
+      "273\n",
+      "274\n",
+      "275\n",
+      "276\n",
+      "277\n",
+      "278\n",
+      "279\n",
+      "280\n",
+      "281\n",
+      "282\n",
+      "283\n",
+      "284\n",
+      "285\n",
+      "286\n",
+      "287\n",
+      "288\n",
+      "289\n",
+      "290\n",
+      "291\n",
+      "292\n",
+      "293\n",
+      "294\n",
+      "295\n",
+      "296\n",
+      "297\n",
+      "298\n",
+      "299\n",
+      "300\n",
+      "301\n",
+      "302\n",
+      "303\n",
+      "304\n",
+      "305\n",
+      "306\n",
+      "307\n",
+      "308\n",
+      "309\n",
+      "310\n",
+      "311\n",
+      "312\n",
+      "313\n",
+      "314\n",
+      "315\n",
+      "316\n",
+      "317\n",
+      "318\n",
+      "319\n",
+      "320\n",
+      "321\n",
+      "322\n",
+      "323\n",
+      "324\n",
+      "325\n",
+      "326\n",
+      "327\n",
+      "328\n",
+      "329\n",
+      "330\n",
+      "331\n",
+      "332\n",
+      "333\n",
+      "334\n",
+      "335\n",
+      "336\n",
+      "337\n",
+      "338\n",
+      "339\n",
+      "340\n",
+      "341\n",
+      "342\n",
+      "343\n",
+      "344\n",
+      "345\n",
+      "346\n",
+      "347\n",
+      "348\n",
+      "349\n",
+      "350\n",
+      "351\n",
+      "352\n",
+      "353\n",
+      "354\n",
+      "355\n",
+      "356\n",
+      "357\n",
+      "358\n",
+      "359\n",
+      "360\n",
+      "361\n",
+      "362\n",
+      "363\n",
+      "364\n",
+      "365\n",
+      "366\n",
+      "367\n",
+      "368\n",
+      "369\n",
+      "370\n",
+      "371\n",
+      "372\n",
+      "373\n",
+      "374\n",
+      "375\n",
+      "376\n",
+      "377\n",
+      "378\n",
+      "379\n",
+      "380\n",
+      "381\n",
+      "382\n",
+      "383\n",
+      "384\n",
+      "385\n",
+      "386\n",
+      "387\n",
+      "388\n",
+      "389\n",
+      "390\n",
+      "391\n",
+      "392\n",
+      "393\n",
+      "394\n",
+      "395\n",
+      "396\n",
+      "397\n",
+      "398\n",
+      "399\n",
+      "400\n",
+      "401\n",
+      "402\n",
+      "403\n",
+      "404\n",
+      "405\n",
+      "406\n",
+      "407\n",
+      "408\n",
+      "409\n",
+      "410\n",
+      "411\n",
+      "412\n",
+      "413\n",
+      "414\n",
+      "415\n",
+      "416\n",
+      "417\n",
+      "418\n",
+      "419\n",
+      "420\n",
+      "421\n",
+      "422\n",
+      "423\n",
+      "424\n",
+      "425\n",
+      "426\n",
+      "427\n",
+      "428\n",
+      "429\n",
+      "430\n",
+      "431\n",
+      "432\n",
+      "433\n",
+      "434\n",
+      "435\n",
+      "436\n",
+      "437\n",
+      "438\n",
+      "439\n",
+      "440\n",
+      "441\n",
+      "442\n",
+      "443\n",
+      "444\n",
+      "445\n",
+      "446\n",
+      "447\n",
+      "448\n",
+      "449\n",
+      "450\n",
+      "451\n",
+      "452\n",
+      "453\n",
+      "454\n",
+      "455\n",
+      "456\n",
+      "457\n",
+      "458\n",
+      "459\n",
+      "460\n",
+      "461\n",
+      "462\n",
+      "463\n",
+      "464\n",
+      "465\n",
+      "466\n",
+      "467\n",
+      "468\n",
+      "469\n",
+      "470\n",
+      "471\n",
+      "472\n",
+      "473\n",
+      "474\n",
+      "475\n",
+      "476\n",
+      "477\n",
+      "478\n",
+      "479\n",
+      "480\n",
+      "481\n",
+      "482\n",
+      "483\n",
+      "484\n",
+      "485\n",
+      "486\n",
+      "487\n",
+      "488\n",
+      "489\n",
+      "490\n",
+      "491\n",
+      "492\n",
+      "493\n",
+      "494\n",
+      "495\n",
+      "496\n",
+      "497\n",
+      "498\n",
+      "499\n",
+      "500\n",
+      "501\n",
+      "502\n",
+      "503\n",
+      "504\n",
+      "505\n",
+      "506\n",
+      "507\n",
+      "508\n",
+      "509\n",
+      "510\n",
+      "511\n",
+      "512\n",
+      "513\n",
+      "514\n",
+      "515\n",
+      "516\n",
+      "517\n",
+      "518\n",
+      "519\n",
+      "520\n",
+      "521\n",
+      "522\n",
+      "523\n",
+      "524\n",
+      "525\n",
+      "526\n",
+      "527\n",
+      "528\n",
+      "529\n",
+      "530\n",
+      "531\n",
+      "532\n",
+      "533\n",
+      "534\n",
+      "535\n",
+      "536\n",
+      "537\n",
+      "538\n",
+      "539\n",
+      "540\n",
+      "541\n",
+      "542\n",
+      "543\n",
+      "544\n",
+      "545\n",
+      "546\n",
+      "547\n",
+      "548\n",
+      "549\n",
+      "550\n",
+      "551\n",
+      "552\n",
+      "553\n",
+      "554\n",
+      "555\n",
+      "556\n",
+      "557\n",
+      "558\n",
+      "559\n",
+      "560\n",
+      "561\n",
+      "562\n",
+      "563\n",
+      "564\n",
+      "565\n",
+      "566\n",
+      "567\n",
+      "568\n",
+      "569\n",
+      "570\n",
+      "571\n",
+      "572\n",
+      "573\n",
+      "574\n",
+      "575\n",
+      "576\n",
+      "577\n",
+      "578\n",
+      "579\n",
+      "580\n",
+      "581\n",
+      "582\n",
+      "583\n",
+      "584\n",
+      "585\n",
+      "586\n",
+      "587\n",
+      "588\n",
+      "589\n",
+      "590\n",
+      "591\n",
+      "592\n",
+      "593\n",
+      "594\n",
+      "595\n",
+      "596\n",
+      "597\n",
+      "598\n",
+      "599\n",
+      "600\n",
+      "601\n",
+      "602\n",
+      "603\n",
+      "604\n",
+      "605\n",
+      "606\n",
+      "607\n",
+      "608\n",
+      "609\n",
+      "610\n",
+      "611\n",
+      "612\n",
+      "613\n",
+      "614\n",
+      "615\n",
+      "616\n",
+      "617\n",
+      "618\n",
+      "619\n",
+      "620\n",
+      "621\n",
+      "622\n",
+      "623\n",
+      "624\n",
+      "625\n",
+      "626\n",
+      "627\n",
+      "628\n",
+      "629\n",
+      "630\n",
+      "631\n",
+      "632\n",
+      "633\n",
+      "634\n",
+      "635\n",
+      "636\n",
+      "637\n",
+      "638\n",
+      "639\n",
+      "640\n",
+      "641\n",
+      "642\n",
+      "643\n",
+      "644\n",
+      "645\n",
+      "646\n",
+      "647\n",
+      "648\n",
+      "649\n",
+      "650\n",
+      "651\n",
+      "652\n",
+      "653\n",
+      "654\n",
+      "655\n",
+      "656\n",
+      "657\n",
+      "658\n",
+      "659\n",
+      "660\n",
+      "661\n",
+      "662\n",
+      "663\n",
+      "664\n",
+      "665\n",
+      "666\n",
+      "667\n",
+      "668\n",
+      "669\n",
+      "670\n",
+      "671\n",
+      "672\n",
+      "673\n",
+      "674\n",
+      "675\n",
+      "676\n",
+      "677\n",
+      "678\n",
+      "679\n",
+      "680\n",
+      "681\n",
+      "682\n",
+      "683\n",
+      "684\n",
+      "685\n",
+      "686\n",
+      "687\n",
+      "688\n",
+      "689\n",
+      "690\n",
+      "691\n",
+      "692\n",
+      "693\n",
+      "694\n",
+      "695\n",
+      "696\n",
+      "697\n",
+      "698\n",
+      "699\n",
+      "700\n",
+      "701\n",
+      "702\n",
+      "703\n",
+      "704\n",
+      "705\n",
+      "706\n",
+      "707\n",
+      "708\n",
+      "709\n",
+      "710\n",
+      "711\n",
+      "712\n",
+      "713\n",
+      "714\n",
+      "715\n",
+      "716\n",
+      "717\n",
+      "718\n",
+      "719\n",
+      "720\n",
+      "721\n",
+      "722\n",
+      "723\n",
+      "724\n",
+      "725\n",
+      "726\n",
+      "727\n",
+      "728\n",
+      "729\n",
+      "730\n",
+      "731\n",
+      "732\n",
+      "733\n",
+      "734\n",
+      "735\n",
+      "736\n",
+      "737\n",
+      "738\n",
+      "739\n",
+      "740\n",
+      "741\n",
+      "742\n",
+      "743\n",
+      "744\n",
+      "745\n",
+      "746\n",
+      "747\n",
+      "748\n",
+      "749\n",
+      "750\n",
+      "751\n",
+      "752\n",
+      "753\n",
+      "754\n",
+      "755\n",
+      "756\n",
+      "757\n",
+      "758\n",
+      "759\n",
+      "760\n",
+      "761\n",
+      "762\n",
+      "763\n",
+      "764\n",
+      "765\n",
+      "766\n",
+      "767\n",
+      "768\n",
+      "769\n",
+      "770\n",
+      "771\n",
+      "772\n",
+      "773\n",
+      "774\n",
+      "775\n",
+      "776\n",
+      "777\n",
+      "778\n",
+      "779\n",
+      "780\n",
+      "781\n",
+      "782\n",
+      "783\n",
+      "784\n",
+      "785\n",
+      "786\n",
+      "787\n",
+      "788\n",
+      "789\n",
+      "790\n",
+      "791\n",
+      "792\n",
+      "793\n",
+      "794\n",
+      "795\n",
+      "796\n",
+      "797\n",
+      "798\n",
+      "799\n",
+      "800\n",
+      "801\n",
+      "802\n",
+      "803\n",
+      "804\n",
+      "805\n",
+      "806\n",
+      "807\n",
+      "808\n",
+      "809\n",
+      "810\n",
+      "811\n",
+      "812\n",
+      "813\n",
+      "814\n",
+      "815\n",
+      "816\n",
+      "817\n",
+      "818\n",
+      "819\n",
+      "820\n",
+      "821\n",
+      "822\n",
+      "823\n",
+      "824\n",
+      "825\n",
+      "826\n",
+      "827\n",
+      "828\n",
+      "829\n",
+      "830\n",
+      "831\n",
+      "832\n",
+      "833\n",
+      "834\n",
+      "835\n",
+      "836\n",
+      "837\n",
+      "838\n",
+      "839\n",
+      "840\n",
+      "841\n",
+      "842\n",
+      "843\n",
+      "844\n",
+      "845\n",
+      "846\n",
+      "847\n",
+      "848\n",
+      "849\n",
+      "850\n",
+      "851\n",
+      "852\n",
+      "853\n",
+      "854\n",
+      "855\n",
+      "856\n",
+      "857\n",
+      "858\n",
+      "859\n",
+      "860\n",
+      "861\n",
+      "862\n",
+      "863\n",
+      "864\n",
+      "865\n",
+      "866\n",
+      "867\n",
+      "868\n",
+      "869\n",
+      "870\n",
+      "871\n",
+      "872\n",
+      "873\n",
+      "874\n",
+      "875\n",
+      "876\n",
+      "877\n",
+      "878\n",
+      "879\n",
+      "880\n",
+      "881\n",
+      "882\n",
+      "883\n",
+      "884\n",
+      "885\n",
+      "886\n",
+      "887\n",
+      "888\n",
+      "889\n",
+      "890\n",
+      "891\n",
+      "892\n",
+      "893\n",
+      "894\n",
+      "895\n",
+      "896\n",
+      "897\n",
+      "898\n",
+      "899\n",
+      "900\n",
+      "901\n",
+      "902\n",
+      "903\n",
+      "904\n",
+      "905\n",
+      "906\n",
+      "907\n",
+      "908\n",
+      "909\n",
+      "910\n",
+      "911\n",
+      "912\n",
+      "913\n",
+      "914\n",
+      "915\n",
+      "916\n",
+      "917\n",
+      "918\n",
+      "919\n",
+      "920\n",
+      "921\n",
+      "922\n",
+      "923\n",
+      "924\n",
+      "925\n",
+      "926\n",
+      "927\n",
+      "928\n",
+      "929\n",
+      "930\n",
+      "931\n",
+      "932\n",
+      "933\n",
+      "934\n",
+      "935\n",
+      "936\n",
+      "937\n",
+      "938\n",
+      "939\n",
+      "940\n",
+      "941\n",
+      "942\n",
+      "943\n",
+      "944\n",
+      "945\n",
+      "946\n",
+      "947\n",
+      "948\n",
+      "949\n",
+      "950\n",
+      "951\n",
+      "952\n",
+      "953\n",
+      "954\n",
+      "955\n",
+      "956\n",
+      "957\n",
+      "958\n",
+      "959\n",
+      "960\n",
+      "961\n",
+      "962\n",
+      "963\n",
+      "964\n",
+      "965\n",
+      "966\n",
+      "967\n",
+      "968\n",
+      "969\n",
+      "970\n",
+      "971\n",
+      "972\n",
+      "973\n",
+      "974\n",
+      "975\n",
+      "976\n",
+      "977\n",
+      "978\n",
+      "979\n",
+      "980\n",
+      "981\n",
+      "982\n",
+      "983\n",
+      "984\n",
+      "985\n",
+      "986\n",
+      "987\n",
+      "988\n",
+      "989\n",
+      "990\n",
+      "991\n",
+      "992\n",
+      "993\n",
+      "994\n",
+      "995\n",
+      "996\n",
+      "997\n",
+      "998\n",
+      "999\n",
+      "1000\n",
+      "1001\n",
+      "1002\n",
+      "1003\n",
+      "1004\n",
+      "1005\n",
+      "1006\n",
+      "1007\n",
+      "1008\n",
+      "1009\n",
+      "1010\n",
+      "1011\n",
+      "1012\n",
+      "1013\n",
+      "1014\n",
+      "1015\n",
+      "1016\n",
+      "1017\n",
+      "1018\n",
+      "1019\n",
+      "1020\n",
+      "1021\n",
+      "1022\n",
+      "1023\n",
+      "1024\n",
+      "1025\n",
+      "1026\n",
+      "1027\n",
+      "1028\n",
+      "1029\n",
+      "1030\n",
+      "1031\n",
+      "1032\n",
+      "1033\n",
+      "1034\n",
+      "1035\n",
+      "1036\n",
+      "1037\n",
+      "1038\n",
+      "1039\n",
+      "1040\n",
+      "1041\n",
+      "1042\n",
+      "1043\n",
+      "1044\n",
+      "1045\n",
+      "1046\n",
+      "1047\n",
+      "1048\n",
+      "1049\n",
+      "1050\n",
+      "1051\n",
+      "1052\n",
+      "1053\n",
+      "1054\n",
+      "1055\n",
+      "1056\n",
+      "1057\n",
+      "1058\n",
+      "1059\n",
+      "1060\n",
+      "1061\n",
+      "1062\n",
+      "1063\n",
+      "1064\n",
+      "1065\n",
+      "1066\n",
+      "1067\n",
+      "1068\n",
+      "1069\n",
+      "1070\n",
+      "1071\n",
+      "1072\n",
+      "1073\n",
+      "1074\n",
+      "1075\n",
+      "1076\n",
+      "1077\n",
+      "1078\n",
+      "1079\n",
+      "1080\n",
+      "1081\n",
+      "1082\n",
+      "1083\n",
+      "1084\n",
+      "1085\n",
+      "1086\n",
+      "1087\n",
+      "1088\n",
+      "1089\n",
+      "1090\n",
+      "1091\n",
+      "1092\n",
+      "1093\n",
+      "1094\n",
+      "1095\n",
+      "1096\n",
+      "1097\n",
+      "1098\n",
+      "1099\n",
+      "1100\n",
+      "1101\n",
+      "1102\n",
+      "1103\n",
+      "1104\n",
+      "1105\n",
+      "1106\n",
+      "1107\n",
+      "1108\n",
+      "1109\n",
+      "1110\n",
+      "1111\n",
+      "1112\n",
+      "1113\n",
+      "1114\n",
+      "1115\n",
+      "1116\n",
+      "1117\n",
+      "1118\n",
+      "1119\n",
+      "1120\n",
+      "1121\n",
+      "1122\n",
+      "1123\n",
+      "1124\n",
+      "1125\n",
+      "1126\n",
+      "1127\n",
+      "1128\n",
+      "1129\n",
+      "1130\n",
+      "1131\n",
+      "1132\n",
+      "1133\n",
+      "1134\n",
+      "1135\n",
+      "1136\n",
+      "1137\n",
+      "1138\n",
+      "1139\n",
+      "1140\n",
+      "1141\n",
+      "1142\n",
+      "1143\n",
+      "1144\n",
+      "1145\n",
+      "1146\n",
+      "1147\n",
+      "1148\n",
+      "1149\n",
+      "1150\n",
+      "1151\n",
+      "1152\n",
+      "1153\n",
+      "1154\n",
+      "1155\n",
+      "1156\n",
+      "1157\n",
+      "1158\n",
+      "1159\n",
+      "1160\n",
+      "1161\n",
+      "1162\n",
+      "1163\n",
+      "1164\n",
+      "1165\n",
+      "1166\n",
+      "1167\n",
+      "1168\n",
+      "1169\n",
+      "1170\n",
+      "1171\n",
+      "1172\n",
+      "1173\n",
+      "1174\n",
+      "1175\n",
+      "1176\n",
+      "1177\n",
+      "1178\n",
+      "1179\n",
+      "1180\n",
+      "1181\n",
+      "1182\n",
+      "1183\n",
+      "1184\n",
+      "1185\n",
+      "1186\n",
+      "1187\n",
+      "1188\n",
+      "1189\n",
+      "1190\n",
+      "1191\n",
+      "1192\n",
+      "1193\n",
+      "1194\n",
+      "1195\n",
+      "1196\n",
+      "1197\n",
+      "1198\n",
+      "1199\n",
+      "1200\n",
+      "1201\n",
+      "1202\n",
+      "1203\n",
+      "1204\n",
+      "1205\n",
+      "1206\n",
+      "1207\n",
+      "1208\n",
+      "1209\n",
+      "1210\n",
+      "1211\n",
+      "1212\n",
+      "1213\n",
+      "1214\n",
+      "1215\n",
+      "1216\n",
+      "1217\n",
+      "1218\n",
+      "1219\n",
+      "1220\n",
+      "1221\n",
+      "1222\n",
+      "1223\n",
+      "1224\n",
+      "1225\n",
+      "1226\n",
+      "1227\n",
+      "1228\n",
+      "1229\n",
+      "1230\n",
+      "1231\n",
+      "1232\n",
+      "1233\n",
+      "1234\n",
+      "1235\n",
+      "1236\n",
+      "1237\n",
+      "1238\n",
+      "1239\n",
+      "1240\n",
+      "1241\n",
+      "1242\n",
+      "1243\n",
+      "1244\n",
+      "1245\n",
+      "1246\n",
+      "1247\n",
+      "1248\n",
+      "1249\n"
      ]
     }
    ],
@@ -164,30 +1414,82 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": 49,
    "metadata": {},
    "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "RGBA\n",
+      "(2, 4)\n"
+     ]
+    },
+    {
+     "data": {
+      "image/png": "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\n",
+      "text/plain": [
+       "<Figure size 432x288 with 1 Axes>"
+      ]
+     },
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
+    },
     {
      "data": {
+      "image/png": "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\n",
       "text/plain": [
-       "100"
+       "<Figure size 432x288 with 1 Axes>"
       ]
      },
-     "execution_count": 30,
-     "metadata": {},
-     "output_type": "execute_result"
+     "metadata": {
+      "needs_background": "light"
+     },
+     "output_type": "display_data"
     }
    ],
    "source": [
-    "len(beetle_counts)"
+    "from torchvision.utils import draw_bounding_boxes\n",
+    "import torch\n",
+    "import torchvision\n",
+    "transform = transforms.Compose([transforms.ToTensor()])\n",
+    "for i in range(len(sim_img_arr)):\n",
+    "    print(sim_img_arr[i].mode)\n",
+    "    \n",
+    "    tensor = transform(sim_img_arr[i].convert(\"RGB\")).type(torch.uint8)\n",
+    "    coords_list = np.zeros((len(coords_arr[i]), 4))\n",
+    "    j=0\n",
+    "    for k in coords_arr[i]:\n",
+    "        c, x, y, w, h, a = k\n",
+    "        coords_list[j, 0] = x\n",
+    "        coords_list[j, 1] = y\n",
+    "        coords_list[j, 2] = int(x+w)\n",
+    "        coords_list[j, 3] = int(y+h)\n",
+    "        j+=1\n",
+    "    print(coords_list.shape)\n",
+    "    draw_bounding_boxes(tensor, torch.Tensor(coords_list))\n",
+    "    plt.imshow(tensor.permute(1,2,0)[:,:,0:3])\n",
+    "    plt.show()\n",
+    "    break\n",
+    "    \n"
    ]
   },
   {
-   "cell_type": "code",
-   "execution_count": null,
+   "cell_type": "markdown",
    "metadata": {},
-   "outputs": [],
-   "source": []
+   "source": [
+    "First:\n",
+    " - created 1000 images on a clean background variable 1 to 5 of the same beetle, model detected well on test set of 100 images (val/exp or exp2 or exp3) (proof of concept)\n",
+    " - created 1000 images on a clean background variable 0 to 5 beetles of 6 different types of beetles, performing\n",
+    " \n",
+    "TODO:\n",
+    " - created 1000 images on a clean background variable 0 to 5 beetles of 6 different images and 0 to 5 non-beetles of _ different images, performing\n",
+    " - created 1000 images on a clean background variable 0 to 10 beetles of 15 different images and 0 to 10 non-beetles of _ different images\n",
+    " - created 1000 images on a clean background variable 0 to 10 beetles of 15 different images and 0 to 10 non-beetles of _ different images on a dirty background\n",
+    " - perform auto cropping on arduino and include "
+   ]
   }
  ],
  "metadata": {