{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "a02f413e",
   "metadata": {},
   "source": [
    "# Reconstruction of the ball position from the trasformed points\n",
    "\n",
    "IDEA:\n",
    "- take the coordinates of the lower point of the ball (obtained applying the inverse of the homography to the transformed points)\n",
    "- calculate the center of the ball from the radius"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "36adcbe8",
   "metadata": {},
   "source": [
    "### Points acquisition"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 637,
   "id": "2ae1ca37",
   "metadata": {},
   "outputs": [],
   "source": [
    "from pathlib import Path\n",
    "import cv2\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.linear_model import RANSACRegressor, LinearRegression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "6495f198",
   "metadata": {},
   "outputs": [],
   "source": [
    "VIDEO_NUMBER = \"7\"\n",
    "PROJECT_ROOT = Path().resolve().parent.parent\n",
    "INPUT_VIDEO_PATH = str(\n",
    "    PROJECT_ROOT\n",
    "    / \"data\"\n",
    "    / f\"recording_{VIDEO_NUMBER}\"\n",
    "    / f\"Recording_{VIDEO_NUMBER}.mp4\"\n",
    ")\n",
    "ORIGINAL_CSV_PATH = str(\n",
    "    PROJECT_ROOT\n",
    "    / \"notebook\"\n",
    "    / \"ball_detection\"\n",
    "    / \"intermediate_data\"\n",
    "    / f\"Circle_positions_cleaned_{VIDEO_NUMBER}.csv\"\n",
    ")\n",
    "TRASFORMED_CSV_PATH = str(\n",
    "    PROJECT_ROOT\n",
    "    / \"data\"\n",
    "    / \"auxiliary_data\"\n",
    "    / \"circle_positions\"\n",
    "    / f\"Ball_lower_point_raw_{VIDEO_NUMBER}.csv\"\n",
    ")\n",
    "\n",
    "OUTPUT_CSV_PATH = str(\n",
    "    PROJECT_ROOT\n",
    "    / \"data\"\n",
    "    / \"auxiliary_data\"\n",
    "    / \"circle_positions\"\n",
    "    / f\"Adjusted_positions_{VIDEO_NUMBER}.csv\"\n",
    ")\n",
    "OUTPUT_VIDEO_PATH = str(\n",
    "    PROJECT_ROOT\n",
    "    / \"data\"\n",
    "    / f\"recording_{VIDEO_NUMBER}\"\n",
    "    / f\"Ball_detected_processed_{VIDEO_NUMBER}.mp4\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8eeea17b",
   "metadata": {},
   "source": [
    "Here I save the new file"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 639,
   "id": "0e50c622",
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_radius(df):\n",
    "    plt.figure(figsize=(8, 6))\n",
    "    plt.plot(df[\"frame\"], df[\"radius\"], \"o-\", label=\"Radius\")\n",
    "    plt.xlabel(\"Frame\")\n",
    "    plt.ylabel(\"Radius\")\n",
    "    plt.title(\"Radius over frames\")\n",
    "    plt.legend()\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 640,
   "id": "1bfb6538",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq4AAAIjCAYAAADC0ZkAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZWNJREFUeJzt3Xl4lNXd//HPzGTfJgQSJuwREI2AAgpGRKuiQC2VihsVFUV9RNCCSy2tithWRH8u1QrWPoo8pRY3FMGKoiAWDYtEqjGKLGEREgIJ2QjZZu7fH2HGTDJJJskkM5O8X9c1l97bmTN3WD6cOff3mAzDMAQAAAAEOLO/OwAAAAB4g+AKAACAoEBwBQAAQFAguAIAACAoEFwBAAAQFAiuAAAACAoEVwAAAAQFgisAAACCAsEVAAAAQYHgCqDD27t3r0wmk1599VXXvkceeUQmk8l/nQpwpaWluvXWW2Wz2WQymTR79mx/dwkACK4A/OPVV1+VyWRyvUJCQtSzZ09NmzZNBw8e9Hf3Or3HHntMr776qmbMmKF//OMfuuGGG/zdJQBQiL87AKBze/TRR5WSkqLy8nJt2rRJr776qjZu3KjMzExFRES02fs++OCD+t3vftdm7Qe7devW6dxzz9W8efP83RUAcCG4AvCrCRMm6Oyzz5Yk3XrrrerWrZsWLlyo9957T9dcc02bvW9ISIhCQjrvH4Hl5eUKCwuT2ez5i7e8vDylpqa2uh0A8CX+pAEQUMaMGSNJ2r17t2tfZWWlHn74YY0YMUJWq1XR0dEaM2aM1q9fX+/6wsJCTZs2TVarVfHx8brppptUWFhY77y6c1w9zYN1MplMeuSRR1zbJSUlmj17tvr166fw8HAlJSXp0ksvVUZGRpOf76uvvtKECRMUFxenmJgYXXLJJdq0aZPr+JdffimTyaSlS5fWu/bDDz+UyWTS6tWrXfsOHjyoW265Rd27d1d4eLjOOOMMvfLKK27XffrppzKZTFq+fLkefPBB9ezZU1FRUSouLq73Hs5zs7Oz9f7777umcuzdu7fRdgoKCnTfffdpyJAhiomJUVxcnCZMmKD//ve/Htt/4403NH/+fPXs2VOxsbG66qqrVFRUpIqKCs2ePVtJSUmKiYnRzTffrIqKinr9XLZsmUaMGKHIyEglJCTouuuu04EDB9zO2blzpyZPniybzaaIiAj16tVL1113nYqKipr8OQEITJ13uAFAQNq7d68kqUuXLq59xcXF+t///V9NmTJFt912m0pKSvTyyy9r3Lhx2rJli8466yxJkmEYuuKKK7Rx40bdcccdOv300/XOO+/opptu8mkf77jjDr311luaNWuWUlNTlZ+fr40bN+q7777T8OHDG7zu22+/1ZgxYxQXF6ff/va3Cg0N1d/+9jf97Gc/04YNGzRq1CidffbZOuWUU/TGG2/U6/frr7+uLl26aNy4cZKkw4cP69xzz5XJZNKsWbOUmJioDz74QNOnT1dxcXG9B6r++Mc/KiwsTPfdd58qKioUFhZWr4+nn366/vGPf2jOnDnq1auX7r33XklSYmKi62fjqZ2srCy9++67uvrqq5WSkqLDhw/rb3/7my688EJlZWWpR48ebu+zYMECRUZG6ne/+5127dql559/XqGhoTKbzTp27JgeeeQR19SRlJQUPfzww65r//znP+uhhx7SNddco1tvvVVHjhzR888/rwsuuEBfffWV4uPjVVlZqXHjxqmiokJ33XWXbDabDh48qNWrV6uwsFBWq9XrnzeAAGIAgB8sWbLEkGR8/PHHxpEjR4wDBw4Yb731lpGYmGiEh4cbBw4ccJ1bXV1tVFRUuF1/7Ngxo3v37sYtt9zi2vfuu+8akownnnjC7doxY8YYkowlS5a49s+bN8+o/UdgdnZ2vXOcJBnz5s1zbVutVmPmzJnN/syTJk0ywsLCjN27d7v2HTp0yIiNjTUuuOAC1765c+caoaGhRkFBgWtfRUWFER8f7/Z5p0+fbiQnJxtHjx51e5/rrrvOsFqtRllZmWEYhrF+/XpDknHKKae49jWlb9++xuWXX+62r7F2ysvLDbvd7rYvOzvbCA8PNx599NF6bQwePNiorKx07Z8yZYphMpmMCRMmuLWRlpZm9O3b17W9d+9ew2KxGH/+85/dzvvmm2+MkJAQ1/6vvvrKkGS8+eabXn1eAMGBqQIA/Grs2LFKTExU7969ddVVVyk6OlrvvfeeevXq5TrHYrG4RgcdDocKCgpUXV2ts88+2+3r+X//+98KCQnRjBkz3K696667fNrn+Ph4bd68WYcOHfL6Grvdro8++kiTJk3SKaec4tqfnJysX//619q4caPrq/trr71WVVVVWrFiheu8jz76SIWFhbr22msl1Ywuv/3225o4caIMw9DRo0ddr3HjxqmoqKje1IWbbrpJkZGRrfnoDbYTHh7umudqt9uVn5+vmJgYDRo0yOMUihtvvFGhoaGu7VGjRskwDN1yyy1u540aNUoHDhxQdXW1JGnFihVyOBy65ppr3D6zzWbTwIEDXdNHnCOqH374ocrKylr9mQEEBoIrAL964YUXtHbtWr311lv6+c9/rqNHjyo8PLzeeUuXLtXQoUMVERGhrl27KjExUe+//77bfMV9+/YpOTlZMTExbtcOGjTIp31+4oknlJmZqd69e2vkyJF65JFHtGfPnkavOXLkiMrKyjz25fTTT5fD4XDN0TzzzDN12mmn6fXXX3ed8/rrr6tbt266+OKLXe0VFhbqpZdeUmJiotvr5ptvllTzgFVtKSkprfrcjbXjcDj0zDPPaODAgQoPD1e3bt2UmJior7/+2uOc0j59+rhtO4Nm79696+13OByuNnbu3CnDMDRw4MB6n/u7775zfeaUlBTdc889+t///V9169ZN48aN0wsvvMD8ViDIMccVgF+NHDnSVVVg0qRJOv/88/XrX/9aO3bscAXQZcuWadq0aZo0aZLuv/9+JSUlyWKxaMGCBW4PcbVGQ4sR2O32evuuueYajRkzRu+8844++ugjPfnkk1q4cKFWrFihCRMm+KQ/1157rf785z/r6NGjio2N1XvvvacpU6a4KiE4HA5J0tSpUxucwzt06FC3bV+MtjbUzmOPPaaHHnpIt9xyi/74xz8qISFBZrNZs2fPdvW1NovF4rHthvYbhiGp5nObTCZ98MEHHs+t/Y+Wp556StOmTdPKlSv10Ucf6e6779aCBQu0adMmtxF9AMGD4AogYDjD6EUXXaS//vWvrjqrb731lk455RStWLHCLWDWrTHat29fffLJJyotLXULMDt27GjyvZ0Pg9WtQLBv3z6P5ycnJ+vOO+/UnXfeqby8PA0fPlx//vOfGwyuiYmJioqK8tiX77//Xmaz2W208dprr9X8+fP19ttvq3v37iouLtZ1113n1l5sbKzsdrvGjh3b5Odra2+99ZYuuugivfzyy277CwsL1a1bN5+9T//+/WUYhlJSUnTqqac2ef6QIUM0ZMgQPfjgg/riiy80evRovfjii/rTn/7ksz4BaD9MFQAQUH72s59p5MiRevbZZ1VeXi7pp1E456ibJG3evFnp6elu1/785z9XdXW1Fi9e7Npnt9v1/PPPN/m+cXFx6tatmz777DO3/YsWLXLbttvt9b5uTkpKUo8ePTyWbXKyWCy67LLLtHLlStfT+VJNZYDXXntN559/vuLi4lz7Tz/9dA0ZMkSvv/66Xn/9dSUnJ+uCCy5wa2/y5Ml6++23lZmZWe/9jhw50uRn9iWLxeL285GkN9980+eroF155ZWyWCyaP39+vfczDEP5+fmSaipROOfFOg0ZMkRms7nRnxOAwMaIK4CAc//99+vqq6/Wq6++qjvuuEO/+MUvtGLFCv3qV7/S5ZdfruzsbL344otKTU1VaWmp67qJEydq9OjR+t3vfqe9e/cqNTVVK1as8Hpe46233qrHH39ct956q84++2x99tln+uGHH9zOKSkpUa9evXTVVVfpzDPPVExMjD7++GNt3bpVTz31VKPt/+lPf9LatWt1/vnn684771RISIj+9re/qaKiQk888US986+99lo9/PDDioiI0PTp0+sV+X/88ce1fv16jRo1SrfddptSU1NVUFCgjIwMffzxxyooKPDqc/vCL37xCz366KO6+eabdd555+mbb77RP//5T7cH0Xyhf//++tOf/qS5c+dq7969mjRpkmJjY5Wdna133nlHt99+u+677z6tW7dOs2bN0tVXX61TTz1V1dXV+sc//uEK/ACClL/KGQDo3JzlsLZu3VrvmN1uN/r372/079/fqK6uNhwOh/HYY48Zffv2NcLDw41hw4YZq1evNm666Sa3UkmGYRj5+fnGDTfcYMTFxRlWq9W44YYbXKWRGiuHZRiGUVZWZkyfPt2wWq1GbGyscc011xh5eXlu5bAqKiqM+++/3zjzzDON2NhYIzo62jjzzDONRYsWefW5MzIyjHHjxhkxMTFGVFSUcdFFFxlffPGFx3N37txpSDIkGRs3bvR4zuHDh42ZM2cavXv3NkJDQw2bzWZccsklxksvveQ6x1mCqjmloRorh+WpnfLycuPee+81kpOTjcjISGP06NFGenq6ceGFFxoXXnhhk2009OvB+XM6cuSI2/63337bOP/8843o6GgjOjraOO2004yZM2caO3bsMAzDMPbs2WPccsstRv/+/Y2IiAgjISHBuOiii4yPP/7Y63sAIPCYDKPOdy0AAABAAGKOKwAAAIICwRUAAABBgeAKAACAoEBwBQAAQFAguAIAACAoEFwBAAAQFDr8AgQOh0OHDh1SbGxsg2uRAwAAwH8Mw1BJSYl69OhRb7GV2jp8cD106JDb+t8AAAAITAcOHFCvXr0aPN7hg2tsbKykmhtRex1wAAAABIbi4mL17t3bldsa0uGDq3N6QFxcHMEVAAAggDU1rZOHswAAABAUCK4AAAAICgRXAAAABIUOP8cVAADAyTAMVVdXy263+7srnYrFYlFISEirS5MSXAEAQKdQWVmpnJwclZWV+bsrnVJUVJSSk5MVFhbW4jYIrgAAoMNzOBzKzs6WxWJRjx49FBYWxsJE7cQwDFVWVurIkSPKzs7WwIEDG11koDEEVwAA0OFVVlbK4XCod+/eioqK8nd3Op3IyEiFhoZq3759qqysVERERIva4eEsAADQabR0pA+t54t7z08PAAAAQYHgCgAAgKBAcAUAAGgGu8NQ+u58rdx+UOm782V3GP7uUov87Gc/0+zZs13b/fr107PPPuu3/niDh7MAAAC8tCYzR/NXZSmnqNy1L9kaoXkTUzV+cHKbvOe0adO0dOlSSVJISIh69eqlq6++Wo8++miLH3LyZOvWrYqOjvZZe22BEVcAAAAvrMnM0YxlGW6hVZJyi8o1Y1mG1mTmtNl7jx8/Xjk5OdqzZ4+eeeYZ/e1vf9O8efN8+h6JiYkBX3GB4OpDHeWrAwAAOgPDMFRWWe3Vq6S8SvPe+1ae/mZ37nvkvSyVlFd51Z5hNC8jhIeHy2azqXfv3po0aZLGjh2rtWvXSpLy8/M1ZcoU9ezZU1FRURoyZIj+9a9/uV1//Phx3XjjjYqJiVFycrKeeuqpeu9Re6rA3r17ZTKZtH37dtfxwsJCmUwmffrpp5KkY8eO6frrr1diYqIiIyM1cOBALVmypFmfq7mYKuAj/vjqAAAAtNyJKrtSH/7QJ20ZknKLyzXkkY+8Oj/r0XGKCmtZDMvMzNQXX3yhvn37SpLKy8s1YsQIPfDAA4qLi9P777+vG264Qf3799fIkSMlSffff782bNiglStXKikpSb///e+VkZGhs846q0V9kKSHHnpIWVlZ+uCDD9StWzft2rVLJ06caHF73iC4+oDzq4O6/3ZyfnWweOpwwisAAGix1atXKyYmRtXV1aqoqJDZbNZf//pXSVLPnj113333uc6966679OGHH+qNN97QyJEjVVpaqpdfflnLli3TJZdcIklaunSpevXq1ao+7d+/X8OGDdPZZ58tqWbEtq0RXFvJ7jA0f1VWg18dmCTNX5WlS1NtsphZWg4AgEARGWpR1qPjvDp3S3aBpi3Z2uR5r958jkamJHj13s1x0UUXafHixTp+/LieeeYZhYSEaPLkyZIku92uxx57TG+88YYOHjyoyspKVVRUuOar7t69W5WVlRo1apSrvYSEBA0aNKhZfahrxowZmjx5sjIyMnTZZZdp0qRJOu+881rVZlOY49pKW7IL6k3Srs2QlFNUri3ZBe3XKQAA0CSTyaSosBCvXmMGJirZGqGGhqBMqpkiOGZgolftmUzNG8yKjo7WgAEDdOaZZ+qVV17R5s2b9fLLL0uSnnzySf3lL3/RAw88oPXr12v79u0aN26cKisrW3xvnKtc1Z6LW1VV5XbOhAkTtG/fPs2ZM0eHDh3SJZdc4jby2xYIrq2UV9JwaG3JeQAAIPBYzCbNm5gqSfXCq3N73sTUdvl21Ww26/e//70efPBBnThxQp9//rmuuOIKTZ06VWeeeaZOOeUU/fDDD67z+/fvr9DQUG3evNm179ixY27n1JWYmChJysn5qVJC7Qe1ap930003admyZXr22Wf10ksv+eATNozg2kpJsd7VT/P2PAAAEJjGD07W4qnDZbO6/51us0a0+/MsV199tSwWi1544QUNHDhQa9eu1RdffKHvvvtO//M//6PDhw+7zo2JidH06dN1//33a926dcrMzNS0adNco6qeREZG6txzz9Xjjz+u7777Ths2bNCDDz7ods7DDz+slStXateuXfr222+1evVqnX766W32mSXmuLbayJQEJVsjlFtU7nGeq0k1v6C9me8CAAAC2/jBybo01aYt2QXKKylXUmzN3/Ht/RxLSEiIZs2apSeeeEJfffWV9uzZo3HjxikqKkq33367Jk2apKKiItf5Tz75pEpLSzVx4kTFxsbq3nvvdTvuySuvvKLp06drxIgRGjRokJ544glddtllruNhYWGaO3eu9u7dq8jISI0ZM0bLly9vs88sSSajuYXEgkxxcbGsVquKiooUFxfXJu/hrCogyWN4nT66n8am2jSibxdt23fMr7/QAQDojMrLy5Wdna2UlBSfrjYF7zX2M/A2rzHi6gPOrw7q1nF1evnzvXr5870ym6TaaxJQ5xUAAMB7zHH1kfGD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AAC0jNcPZ9UWFRWlRYsW6cknn9Tu3TVLZvbv31/R0dHNamf58uXKyMjQ1q1b6x3Lzc1VWFiY4uPj3fZ3795dubm5Dba5YMECzZ8/v1n9ACRpVEqCVmQc1JbsAg3sHtMm70FdWAAAWq5VCxBER0dr6NChGjp0aLND64EDB/Sb3/xG//znPxUR4btamXPnzlVRUZHrdeDAAZ+1jY7tnH41I67bDxQqPiq0Td6DurAAALRci0ZcJenLL7/UG2+8of3796uystLt2IoVK5q8ftu2bcrLy9Pw4cNd++x2uz777DP99a9/1YcffqjKykoVFha6jboePnxYNputwXbDw8MVHh7e/A+ETi+lW7S6xYTraGmFwsxmJVsjfDZdgLqwAAC0XotGXJcvX67zzjtP3333nd555x1VVVXp22+/1bp162S1Wr1q45JLLtE333yj7du3u15nn322rr/+etf/h4aG6pNPPnFds2PHDu3fv19paWkt6TbQKJPJpFEng+W2/cd0588G+Kbdk/911oUFAAAt06IR18cee0zPPPOMZs6cqdjYWP3lL39RSkqK/ud//kfJyd7VqoyNjdXgwYPd9kVHR6tr166u/dOnT9c999yjhIQExcXF6a677lJaWprOPffclnQbaNLIlAS9/02OPvw2V7ERNdMFwixmVdodrnOaW8fVRh1XAAB8okXBdffu3br88sslSWFhYTp+/LhMJpPmzJmjiy++2GcPRz3zzDMym82aPHmy2wIEQFupOhlQvzn4UzWKmHCLbjqvv/p1i/Z65awv9xZo+tIvdaLKrr/+erhG9O3S0FsCAAAvtSi4dunSxbXQQM+ePZWZmakhQ4aosLBQZWVlLe7Mp59+6rYdERGhF154QS+88EKL2wS8tSYzR39+/7t6+4+VVenZj3dq8dThSuvfVZJc/3Wqu33egG4aPaCbPv7usLbtKyC4AgDgAy2a43rBBRdo7dq1kqSrr75av/nNb3TbbbdpypQpuvjii33aQaA9NLbgQEsXEBhVqy4sAABovRaNuP71r39VeXnN09Z/+MMfFBoaqi+++EKTJ0/Wfffd59MOAu2hqQUHai8gUHd0tSHOCgJb9x6Tw2HIzINZAAC0SotGXBMSEtSjR4+aBsxm/e53v9Mbb7yhHj16aNiwYT7tINAevF0YoDkLCJzRI05RYRYVnajSD3klLe0a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laSaklbnL1ynKX/fpKXp+zy2W3vBgv/sPOIKo298+aPH8+MiQhpd4AAAEJhC/PnmvXr10uOPP66BAwfKMAwtXbpUV1xxhb766iudccYZmjNnjt5//329+eabslqtmjVrlq688kp9/vnn/uw2gFYYPzhZl6batCW7QHkl5UqKrfm63hk2bXERyi0u1668Uh0pqam32lDBqumj+2lsqs11vbNua0Pnn923i77cd0znnpJAaAWAIBRwK2clJCToySef1FVXXaXExES99tpruuqqqyRJ33//vU4//XSlp6fr3HPP9ao9Vs4CgsvU/92sjbuO6vErh+gvn+xssKSVSTUjrRsfuFgWs0l2h6HzF65r9PyEmDDll1aqS1SoMh66tMElZwEA7SvoVs6y2+1avny5jh8/rrS0NG3btk1VVVUaO3as65zTTjtNffr0UXp6eoPtVFRUqLi42O0FIHgMSIqRJP1n55Fm1WH1qs5raaVCLSYdK6vyWLkAABDY/B5cv/nmG8XExCg8PFx33HGH3nnnHaWmpio3N1dhYWGKj493O7979+7Kzc1tsL0FCxbIarW6Xr17927jTwDAl5zBNfvoca/Od9Zh9bYea7+u0ZJqVtcCAAQXvwfXQYMGafv27dq8ebNmzJihm266SVlZDS8L2ZS5c+eqqKjI9Tpw4IAPewugrTmD65HS+su+euKsw9rcOq9b9xJcASDY+PXhLEkKCwvTgAEDJEkjRozQ1q1b9Ze//EXXXnutKisrVVhY6DbqevjwYdlstgbbCw8PV3h4eFt3G0AbcQXXkkrZ4sKVW+w5wDrnuDrrsDrrvOYWlXt8OMt5/q/O6qm3Mw5q854CGYbBPFcACCJ+H3Gty+FwqKKiQiNGjFBoaKg++eQT17EdO3Zo//79SktL82MPAbSlrtFhio+qWYjgltEpHs+pXbfVWY3Amzqx8yamakS/BIWYTcotLtePXq6uBQAIDH4dcZ07d64mTJigPn36qKSkRK+99po+/fRTffjhh7JarZo+fbruueceJSQkKC4uTnfddZfS0tK8rigAIPiYTCb17xatbfsL9fF3eR7PsVkjNG9iar2SVs46sfNXZbk9qFX3/CE94/TVgSK9uGG3fjG0h0b07aJt+465ynPV3a5drgsA4D9+Da55eXm68cYblZOTI6vVqqFDh+rDDz/UpZdeKkl65pln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UOPNN9907fvuu+8MSUZ6enpbdTVgebqHZ5xxhvHoo4+67Rs+fLjxhz/8wTAM7qEneXl5hiRjw4YNhmF4d4/+/e9/G2az2cjNzXWds3jxYiMuLs6oqKho3w8QIBhx7aDOO+88ffLJJ/rhhx8kSf/973+1ceNGTZgwQZKUnZ2t3NxcjR071nWN1WrVqFGjlJ6e7pc+BzJv7ld6erri4+N19tlnu84ZO3aszGazNm/e3O59DgZFRUUymUyKj4+XxD30hsPh0A033KD7779fZ5xxRr3j3MPGORwOvf/++zr11FM1btw4JSUladSoUW5fhW/btk1VVVVuv99PO+009enThz8fTzrvvPP03nvv6eDBgzIMQ+vXr9cPP/ygyy67TBL30JOioiJJUkJCgiTv7lF6erqGDBmi7t27u84ZN26ciouL9e2337Zj7wMHwbWD+t3vfqfrrrtOp512mkJDQzVs2DDNnj1b119/vSQpNzdXktx+Mzi3ncfwE2/uV25urpKSktyOh4SEKCEhgXvqQXl5uR544AFNmTJFcXFxkriH3li4cKFCQkJ09913ezzOPWxcXl6eSktL9fjjj2v8+PH66KOP9Ktf/UpXXnmlNmzYIKnmHoaFhbn+QeXEn48/ef7555WamqpevXopLCxM48eP1wsvvKALLrhAEvewLofDodmzZ2v06NEaPHiwJO/uUW5urse/d5zHOqMQf3cAbeONN97QP//5T7322ms644wztH37ds2ePVs9evTQTTfd5O/uoZOrqqrSNddcI8MwtHjxYn93J2hs27ZNf/nLX5SRkSGTyeTv7gQlh8MhSbriiis0Z84cSdJZZ52lL774Qi+++KIuvPBCf3YvaDz//PPatGmT3nvvPfXt21efffaZZs6cqR49eriNIKLGzJkzlZmZqY0bN/q7K0GPEdcO6v7773eNug4ZMkQ33HCD5syZowULFkiSbDabJNV7evHw4cOuY/iJN/fLZrMpLy/P7Xh1dbUKCgq4p7U4Q+u+ffu0du1a12irxD1syn/+8x/l5eWpT58+CgkJUUhIiPbt26d7771X/fr1k8Q9bEq3bt0UEhKi1NRUt/2nn366q6qAzWZTZWWlCgsL3c7hz8caJ06c0O9//3s9/fTTmjhxooYOHapZs2bp2muv1f/7f/9PEvewtlmzZmn16tVav369evXq5drvzT2y2Wwe/95xHuuMCK4dVFlZmcxm9x+vxWJxjTakpKTIZrPpk08+cR0vLi7W5s2blZaW1q59DQbe3K+0tDQVFhZq27ZtrnPWrVsnh8OhUaNGtXufA5EztO7cuVMff/yxunbt6nace9i4G264QV9//bW2b9/uevXo0UP333+/PvzwQ0ncw6aEhYXpnHPOqVeW6IcfflDfvn0lSSNGjFBoaKjb7/cdO3Zo//79/Pmomt/HVVVVjf4dwz2sKaE4a9YsvfPOO1q3bp1SUlLcjntzj9LS0vTNN9+4/WPU+Q/+uv/46jT8/HAY2shNN91k9OzZ01i9erWRnZ1trFixwujWrZvx29/+1nXO448/bsTHxxsrV640vv76a+OKK64wUlJSjBMnTvix5/5TUlJifPXVV8ZXX31lSDKefvpp46uvvnI98e7N/Ro/frwxbNgwY/PmzcbGjRuNgQMHGlOmTPHXR2p3jd3DyspK45e//KXRq1cvY/v27UZOTo7rVfvpWO5h478O66pbVcAwuIdN3cMVK1YYoaGhxksvvWTs3LnTeP755w2LxWL85z//cbVxxx13GH369DHWrVtnfPnll0ZaWpqRlpbmr4/U7pq6hxdeeKFxxhlnGOvXrzf27NljLFmyxIiIiDAWLVrkaqOz38MZM2YYVqvV+PTTT93+vCsrK3Od09Q9qq6uNgYPHmxcdtllxvbt2401a9YYiYmJxty5c/3xkQICwbWDKi4uNn7zm98Yffr0MSIiIoxTTjnF+MMf/uAWEBwOh/HQQw8Z3bt3N8LDw41LLrnE2LFjhx977V/r1683JNV73XTTTYZheHe/8vPzjSlTphgxMTFGXFyccfPNNxslJSV++DT+0dg9zM7O9nhMkrF+/XpXG9zDxn8d1uUpuHIPm76HL7/8sjFgwAAjIiLCOPPMM413333XrY0TJ04Yd955p9GlSxcjKirK+NWvfmXk5OS08yfxn6buYU5OjjFt2jSjR48eRkREhDFo0CDjqaeeMhwOh6uNzn4PG/rzbsmSJa5zvLlHe/fuNSZMmGBERkYa3bp1M+69916jqqqqnT9N4DAZRq2llAAAAIAAxRxXAAAABAWCKwAAAIICwRUAAABBgeAKAACAoEBwBQAAQFAguAIAACAoEFwBAAAQFAiuAAAACAoEVwAAAAQFgisAtINp06bJZDLVe+3atcvfXQOAoBHi7w4AQGcxfvx4LVmyxG1fYmKi23ZlZaXCwsLas1sAEDQYcQWAdhIeHi6bzeb2uuSSSzRr1izNnj1b3bp107hx4yRJTz/9tIYMGaLo6Gj17t1bd955p0pLS11tvfrqq4qPj9fq1as1aNAgRUVF6aqrrlJZWZmWLl2qfv36qUuXLrr77rtlt9td11VUVOi+++5Tz549FR0drVGjRunTTz9t71sBAC3CiCsA+NnSpUs1Y8YMff755659ZrNZzz33nFJSUrRnzx7deeed+u1vf6tFixa5zikrK9Nzzz2n5cuXq6SkRFdeeaV+9atfKT4+Xv/+97+1Z88eTZ48WaNHj9a1114rSZo1a5aysrK0fPly9ejRQ++8847Gjx+vb775RgMHDmz3zw4AzWEyDMPwdycAoKObNm2ali1bpoiICNe+CRMm6MiRIyouLlZGRkaj17/11lu64447dPToUUk1I64333yzdu3apf79+0uS7rjjDv3jH//Q4cOHFRMTI6lmekK/fv304osvav/+/TrllFO0f/9+9ejRw9X22LFjNXLkSD322GO+/tgA4FOMuAJAO7nooou0ePFi13Z0dLSmTJmiESNG1Dv3448/1oIFC/T999+ruLhY1dXVKi8vV1lZmaKioiRJUVFRrtAqSd27d1e/fv1codW5Ly8vT5L0zTffyG6369RTT3V7r4qKCnXt2tWnnxUA2gLBFQDaSXR0tAYMGOBxf2179+7VL37xC82YMUN//vOflZCQoI0bN2r69OmqrKx0BdfQ0FC360wmk8d9DodDklRaWiqLxaJt27bJYrG4nVc77AJAoCK4AkCA2bZtmxwOh5566imZzTXP0L7xxhutbnfYsGGy2+3Ky8vTmDFjWt0eALQ3qgoAQIAZMGCAqqqq9Pzzz2vPnj36xz/+oRdffLHV7Z566qm6/vrrdeONN2rFihXKzs7Wli1btGDBAr3//vs+6DkAtC2CKwAEmDPPPFNPP/20Fi5cqMGDB+uf//ynFixY4JO2lyxZohtvvFH33nuvBg0apEmTJmnr1q3q06ePT9oHgLZEVQEAAAAEBUZcAQAAEBQIrgAAAAgKBFcAAAAEBYIrAAAAggLBFQAAAEGB4AoAAICgQHAFAABAUCC4AgAAICgQXAEAABAUCK4AAAAICgRXAAAABIX/DzEg1kFN2ElTAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 800x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_transformed = pd.read_csv(TRASFORMED_CSV_PATH)\n",
    "df_original = pd.read_csv(ORIGINAL_CSV_PATH)\n",
    "\n",
    "# Merge dataframes on 'frame'\n",
    "df_merged = pd.merge(\n",
    "    df_transformed, df_original[[\"frame\", \"radius\"]], on=\"frame\", how=\"left\"\n",
    ")\n",
    "\n",
    "plot_radius(df_merged)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 641,
   "id": "676f2366",
   "metadata": {},
   "outputs": [],
   "source": [
    "def decreasing_func(x, a, b, c):\n",
    "    return a * np.exp(-b * x) + c  # Pure exponential decay function"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 642,
   "id": "07532457",
   "metadata": {},
   "outputs": [],
   "source": [
    "def process_radius(df, median_window=25, quantile_baseline=0.05, ransac_threshold=0.5):\n",
    "    # Ensure all frames are present\n",
    "    all_frames = pd.DataFrame(\n",
    "        {\"frame\": np.arange(int(df[\"frame\"].min()), int(df[\"frame\"].max()) + 1)}\n",
    "    )\n",
    "    df = pd.merge(all_frames, df, on=\"frame\", how=\"left\")\n",
    "\n",
    "    # Smooth using rolling median\n",
    "    df[\"median\"] = (\n",
    "        df[\"radius\"].rolling(window=median_window, center=True, min_periods=1).median()\n",
    "    )\n",
    "\n",
    "    # Estimate baseline c using a low quantile\n",
    "    c_est = df[\"radius\"].quantile(quantile_baseline)\n",
    "\n",
    "    # Prepare log-transformed target: log(radius - c)\n",
    "    eps = 1e-6\n",
    "    valid = df[\"radius\"] > (c_est + eps)\n",
    "\n",
    "    if valid.sum() < 10:\n",
    "        raise ValueError(\n",
    "            \"Too few valid points for robust fitting. Consider adjusting parameters.\"\n",
    "        )\n",
    "\n",
    "    x = df.loc[valid, \"frame\"].values.reshape(-1, 1)\n",
    "    y = np.log(df.loc[valid, \"radius\"].values - c_est)\n",
    "\n",
    "    # Robust regression in log-space\n",
    "    ransac = RANSACRegressor(\n",
    "        estimator=LinearRegression(),\n",
    "        residual_threshold=ransac_threshold,\n",
    "        max_trials=1000,\n",
    "    )\n",
    "    ransac.fit(x, y)\n",
    "\n",
    "    slope = -ransac.estimator_.coef_[0]\n",
    "    intercept = ransac.estimator_.intercept_\n",
    "    a_est = np.exp(intercept)\n",
    "\n",
    "    # Predict over full frame range\n",
    "    full_x = df[\"frame\"].values\n",
    "    fitted = decreasing_func(full_x, a_est, slope, c_est)\n",
    "    df[\"radius\"] = np.round(fitted).astype(int)\n",
    "\n",
    "    return df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 643,
   "id": "bfaa67e9",
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_fit(df, smoothed_df):\n",
    "    plt.figure(figsize=(8, 6))\n",
    "    plt.plot(df[\"frame\"], df[\"radius\"], \"o-\", label=\"Original Radius\", alpha=0.5)\n",
    "    plt.plot(\n",
    "        smoothed_df[\"frame\"],\n",
    "        smoothed_df[\"radius\"],\n",
    "        \"-\",\n",
    "        label=\"Exponential Fit\",\n",
    "        linewidth=2,\n",
    "    )\n",
    "    plt.xlabel(\"frame\")\n",
    "    plt.ylabel(\"Radius\")\n",
    "    plt.title(\"Radius over frames\")\n",
    "    plt.legend()\n",
    "    plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 644,
   "id": "95d3d687",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq4AAAIjCAYAAADC0ZkAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAqgtJREFUeJzs3Wd4HNX59/HvbN/VSqteLMtVBhsXejGmN1P/EAgtEDqEBEILKTxJgCSUhISS0BOIIQkkdEIgwfTQCRhTTHGXLUuyJKvsanuZeV6stbZcZVuyJPv3ua692Jk5c+aMJORbZ8/ct2FZloWIiIiIyCBnG+gBiIiIiIj0hgJXERERERkSFLiKiIiIyJCgwFVEREREhgQFriIiIiIyJChwFREREZEhQYGriIiIiAwJClxFREREZEhQ4CoiIiIiQ4ICVxHZ5tXV1WEYBg899FBu3/XXX49hGAM3qEEuHA5zwQUXUFlZiWEYXHHFFQM9JBERBa4iMjAeeughDMPIvRwOB9XV1Zxzzjk0NDQM9PC2ezfddBMPPfQQ3/3ud/nrX//Kt7/97YEekogIjoEegIhs3375y18yevRo4vE477//Pg899BBvv/02c+bMwePx9Nt1f/azn/GTn/yk3/of6l577TX22WcfrrvuuoEeiohIjgJXERlQRx11FHvssQcAF1xwAaWlpfzmN7/hueee45RTTum36zocDhyO7fdXYDwex+VyYbOt+4O3lpYWdtpppy3uR0SkL+k3jYgMKvvvvz8ACxcuzO1LJpNce+217L777gQCAfLy8th///15/fXX1zq/s7OTc845h0AgQGFhIWeffTadnZ1rtVtzjeu61sF2MwyD66+/Prfd1dXFFVdcwahRo3C73ZSXl3P44Yfz8ccfb/T+Zs+ezVFHHUVBQQF+v59DDz2U999/P3f8o48+wjAMHn744bXOnTlzJoZh8Pzzz+f2NTQ0cN5551FRUYHb7WbixIn8+c9/7nHeG2+8gWEY/OMf/+BnP/sZ1dXV+Hw+QqHQWtfobrt48WJeeOGF3FKOurq6DfbT3t7O1VdfzeTJk/H7/RQUFHDUUUfx6aefrrP/xx9/nF/84hdUV1eTn5/PN7/5TYLBIIlEgiuuuILy8nL8fj/nnnsuiURirXH+7W9/Y/fdd8fr9VJcXMxpp51GfX19jzbz58/npJNOorKyEo/Hw/DhwznttNMIBoMb/T6JyOC0/U43iMigVFdXB0BRUVFuXygU4oEHHuD000/nwgsvpKuriwcffJDp06fzv//9j1122QUAy7I4/vjjefvtt7n44ouZMGECzzzzDGeffXafjvHiiy/mySef5NJLL2WnnXaira2Nt99+m6+++orddtttved98cUX7L///hQUFPCjH/0Ip9PJ/fffz0EHHcR///tf9t57b/bYYw/GjBnD448/vta4H3vsMYqKipg+fToAzc3N7LPPPhiGwaWXXkpZWRn/+c9/OP/88wmFQms9UPWrX/0Kl8vF1VdfTSKRwOVyrTXGCRMm8Ne//pUrr7yS4cOH84Mf/ACAsrKy3PdmXf18+eWXPPvss5x88smMHj2a5uZm7r//fg488EC+/PJLhg0b1uM6N998M16vl5/85CcsWLCAO++8E6fTic1mo6Ojg+uvvz63dGT06NFce+21uXNvvPFGfv7zn3PKKadwwQUX0Nrayp133skBBxzA7NmzKSwsJJlMMn36dBKJBN///veprKykoaGB559/ns7OTgKBQK+/3yIyiFgiIgNgxowZFmC98sorVmtrq1VfX289+eSTVllZmeV2u636+vpc23Q6bSUSiR7nd3R0WBUVFdZ5552X2/fss89agHXLLbf0OHf//fe3AGvGjBm5/dddd521+q/AxYsXr9WmG2Bdd911ue1AIGBdcsklm3zPJ5xwguVyuayFCxfm9jU2Nlr5+fnWAQcckNt3zTXXWE6n02pvb8/tSyQSVmFhYY/7Pf/8862qqiprxYoVPa5z2mmnWYFAwIpGo5ZlWdbrr79uAdaYMWNy+zZm5MiR1jHHHNNj34b6icfjViaT6bFv8eLFltvttn75y1+u1cekSZOsZDKZ23/66adbhmFYRx11VI8+pk6dao0cOTK3XVdXZ9ntduvGG2/s0e7zzz+3HA5Hbv/s2bMtwHriiSd6db8iMjRoqYCIDKjDDjuMsrIyampq+OY3v0leXh7PPfccw4cPz7Wx2+252UHTNGlvbyedTrPHHnv0+Hj+3//+Nw6Hg+9+97s9zv3+97/fp2MuLCzkgw8+oLGxsdfnZDIZXnrpJU444QTGjBmT219VVcW3vvUt3n777dxH96eeeiqpVIqnn3461+6ll16is7OTU089FcjOLj/11FMcd9xxWJbFihUrcq/p06cTDAbXWrpw9tln4/V6t+TW19uP2+3OrXPNZDK0tbXh9/vZcccd17mE4qyzzsLpdOa29957byzL4rzzzuvRbu+996a+vp50Og3A008/jWmanHLKKT3uubKyknHjxuWWj3TPqM6cOZNoNLrF9ywig4MCVxEZUHfffTcvv/wyTz75JEcffTQrVqzA7Xav1e7hhx9mypQpeDweSkpKKCsr44UXXuixXnHJkiVUVVXh9/t7nLvjjjv26ZhvueUW5syZQ01NDXvttRfXX389ixYt2uA5ra2tRKPRdY5lwoQJmKaZW6O58847M378eB577LFcm8cee4zS0lIOOeSQXH+dnZ388Y9/pKysrMfr3HPPBbIPWK1u9OjRW3TfG+rHNE1uv/12xo0bh9vtprS0lLKyMj777LN1rikdMWJEj+3uQLOmpmat/aZp5vqYP38+lmUxbty4te77q6++yt3z6NGjueqqq3jggQcoLS1l+vTp3H333VrfKjLEaY2riAyovfbaK5dV4IQTTmC//fbjW9/6FnPnzs0FoH/7298455xzOOGEE/jhD39IeXk5drudm2++ucdDXFtifcUIMpnMWvtOOeUU9t9/f5555hleeuklfvvb3/Kb3/yGp59+mqOOOqpPxnPqqady4403smLFCvLz83nuuec4/fTTc5kQTNME4Mwzz1zvGt4pU6b02O6L2db19XPTTTfx85//nPPOO49f/epXFBcXY7PZuOKKK3JjXZ3dbl9n3+vbb1kWkL1vwzD4z3/+s862q//Rcuutt3LOOefwz3/+k5deeonLLruMm2++mffff7/HjL6IDB0KXEVk0OgORg8++GDuuuuuXJ7VJ598kjFjxvD000/3CDDXzDE6cuRIXn31VcLhcI8AZu7cuRu9dvfDYGtmIFiyZMk621dVVfG9732P733ve7S0tLDbbrtx4403rjdwLSsrw+fzrXMsX3/9NTabrcds46mnnsovfvELnnrqKSoqKgiFQpx22mk9+svPzyeTyXDYYYdt9P7625NPPsnBBx/Mgw8+2GN/Z2cnpaWlfXadsWPHYlkWo0ePZocddtho+8mTJzN58mR+9rOf8e677zJt2jTuu+8+brjhhj4bk4hsPVoqICKDykEHHcRee+3FHXfcQTweB1bNwnXPugF88MEHvPfeez3OPfroo0mn09x77725fZlMhjvvvHOj1y0oKKC0tJQ333yzx/577rmnx3Ymk1nr4+by8nKGDRu2zrRN3ex2O0cccQT//Oc/c0/nQzYzwKOPPsp+++1HQUFBbv+ECROYPHkyjz32GI899hhVVVUccMABPfo76aSTeOqpp5gzZ85a12ttbd3oPfclu93e4/sD8MQTT/R5FbQTTzwRu93OL37xi7WuZ1kWbW1tQDYTRfe62G6TJ0/GZrNt8PskIoObZlxFZND54Q9/yMknn8xDDz3ExRdfzLHHHsvTTz/NN77xDY455hgWL17Mfffdx0477UQ4HM6dd9xxxzFt2jR+8pOfUFdXx0477cTTTz/d63WNF1xwAb/+9a+54IIL2GOPPXjzzTeZN29ejzZdXV0MHz6cb37zm+y88874/X5eeeUVPvzwQ2699dYN9n/DDTfw8ssvs99++/G9730Ph8PB/fffTyKR4JZbblmr/amnnsq1116Lx+Ph/PPPXyvJ/69//Wtef/119t57by688EJ22mkn2tvb+fjjj3nllVdob2/v1X33hWOPPZZf/vKXnHvuuey77758/vnnPPLIIz0eROsLY8eO5YYbbuCaa66hrq6OE044gfz8fBYvXswzzzzDRRddxNVXX81rr73GpZdeysknn8wOO+xAOp3mr3/9ay7gF5EhaqDSGYjI9q07HdaHH3641rFMJmONHTvWGjt2rJVOpy3TNK2bbrrJGjlypOV2u61dd93Vev75562zzz67R6oky7KstrY269vf/rZVUFBgBQIB69vf/nYuNdKG0mFZlmVFo1Hr/PPPtwKBgJWfn2+dcsopVktLS490WIlEwvrhD39o7bzzzlZ+fr6Vl5dn7bzzztY999zTq/v++OOPrenTp1t+v9/y+XzWwQcfbL377rvrbDt//nwLsADr7bffXmeb5uZm65JLLrFqamosp9NpVVZWWoceeqj1xz/+MdemOwXVpqSG2lA6rHX1E4/HrR/84AdWVVWV5fV6rWnTplnvvfeedeCBB1oHHnjgRvtY389D9/eptbW1x/6nnnrK2m+//ay8vDwrLy/PGj9+vHXJJZdYc+fOtSzLshYtWmSdd9551tixYy2Px2MVFxdbBx98sPXKK6/0+msgIoOPYVlrfNYiIiIiIjIIaY2riIiIiAwJClxFREREZEhQ4CoiIiIiQ4ICVxEREREZEhS4ioiIiMiQoMBVRERERIaEbb4AgWmaNDY2kp+fv95a5CIiIiIycCzLoquri2HDhq1VbGV123zg2tjY2KP+t4iIiIgMTvX19QwfPny9x7f5wDU/Px/IfiFWrwMuIiIiIoNDKBSipqYmF7etzzYfuHYvDygoKFDgKiIiIjKIbWxZpx7OEhEREZEhQYGriIiIiAwJClxFREREZEjY5te4ioiIyIZZlkU6nSaTyQz0UGQbZbfbcTgcW5yaVIGriIjIdiyZTNLU1EQ0Gh3oocg2zufzUVVVhcvl2uw+FLiKiIhsp0zTZPHixdjtdoYNG4bL5VKxHulzlmWRTCZpbW1l8eLFjBs3boNFBjZEgauIiMh2KplMYpomNTU1+Hy+gR6ObMO8Xi9Op5MlS5aQTCbxeDyb1Y8ezhIREdnObe7sl8im6IufM/2kioiIiMiQoMBVRERERIYEBa4iIiKyxUzTor49ytfLQ9S3RzFNa6CHtEF1dXUYhsEnn3zS63MeeughCgsLB3wcfWnUqFHccccduW3DMHj22WcHZCy9ocBVREREtsiCli7ufWMht788jz+8Op/bX57HvW8sZEFLV79et76+nvPOOy+XEWHkyJFcfvnltLW1bfTcmpoampqamDRpUq+vd+qppzJv3rwtGfJmOeiggzAMA8Mw8Hg87LDDDtx8881YVt//cdDU1MRRRx3V5/32FQWuIiIistkWtHQx45065jQGKfQ5GVPqp9DnZE5jkBnv1PVb8Lpo0SL22GMP5s+fz9///ncWLFjAfffdx6uvvsrUqVNpb29f77nJZBK73U5lZSUOR+8TLHm9XsrLy/ti+JvswgsvpKmpiblz53LNNddw7bXXct999/X5dSorK3G73X3eb19R4NqHhtrHJCIiImuyLItk2uzVK57M8MLny1nRlWBMaR4+VzYI9LkcjCnNY0VXgn9/vpx4MtOr/jZlBvGSSy7B5XLx0ksvceCBBzJixAiOOuooXnnlFRoaGvjpT3+aaztq1Ch+9atfcdZZZ1FQUMBFF120zo/on3vuOcaNG4fH4+Hggw/m4YcfxjAMOjs7gbWXClx//fXssssu/PWvf2XUqFEEAgFOO+00urpWBesvvvgi++23H4WFhZSUlHDssceycOHCTf6++Hw+KisrGTlyJOeeey5Tpkzh5Zdfzh1fuHAhxx9/PBUVFfj9fvbcc09eeeWVHn20tLRw3HHH4fV6GT16NI888sha11l9qcAbb7zR4/4BPvnkEwzDoK6uDoAlS5Zw3HHHUVRURF5eHhMnTuTf//73Jt9fbymPax9Z0NLFzDnNLGwNE09n8DjsjC3zM31SBbXl+QM9PBERkV5JZSzufn1Br9qGYineW9SGx2mnM5Za63ginWHJ51E6IkkKvM6N9nfJwbW4HBsvgNDe3s7MmTO58cYb8Xq9PY5VVlZyxhln8Nhjj3HPPffkCir87ne/49prr+W6665bZ5+LFy/mm9/8JpdffjkXXHABs2fP5uqrr97oWBYuXMizzz7L888/T0dHB6eccgq//vWvufHGGwGIRCJcddVVTJkyhXA4zLXXXss3vvENPvnkk81KD2VZFm+//TZff/0148aNy+0Ph8McffTR3Hjjjbjdbv7yl79w3HHHMXfuXEaMGAHAOeecQ2NjI6+//jpOp5PLLruMlpaWTR7D6i655BKSySRvvvkmeXl5fPnll/j9/i3qc0MUuPaB7o9J2iNJqgIefC4v0WSaOY1BGoMxzp02SsGriIhsc5IZk3TGxOlZdzjhtNsIJ9IkM2afXnf+/PlYlsWECRPWeXzChAl0dHTQ2tqa+2j/kEMO4Qc/+EGuTfeMYbf777+fHXfckd/+9rcA7LjjjsyZMycXgK6PaZo89NBD5Odn/53/9re/zauvvpo776STTurR/s9//jNlZWV8+eWXm7S+9p577uGBBx4gmUySSqXweDxcdtllueM777wzO++8c277V7/6Fc888wzPPfccl156KfPmzeM///kP//vf/9hzzz0BePDBB9f7NeytpUuXctJJJzF58mQAxowZs0X9bYwC1y1kmhYz5zTTHkkyrtxPPJVhRThBRYEHv9vB/JYwL33RzJhSPzabyuiJiMjg5rQbXHJwba/aLuuIEk6kKfK68K8jeO2Kp+iMpTh/v9EML9p4ZS6nfdP+ndyUpQV77LHHBo/PnTs3F9B122uvvTba76hRo3JBK0BVVVWPWcz58+dz7bXX8sEHH7BixQpMMxvEL126dJMC1zPOOIOf/vSndHR0cN1117Hvvvuy77775o6Hw2Guv/56XnjhBZqamkin08RiMZYuXQrAV199hcPhYPfdd8+dM378+C3OknDZZZfx3e9+l5deeonDDjuMk046iSlTpmxRnxuiNa5bqKEzxsLWMFUBD8mMyafLgixeESGeymAYBlUBDwtawjR0xgZ6qCIiIhtlGAYuh61Xr1EleexQnk9zVxybAXabkXvZDGjpSrBjRT6jSvJ61V/3x/obU1tbi2EYfPXVV+s8/tVXX1FUVERZWVluX15eXp98fdbkdPZcAmEYRi44BTjuuONob2/nT3/6Ex988AEffPABkH1AbFMEAgFqa2vZc889efzxx7nrrrt6rGG9+uqreeaZZ7jpppt46623+OSTT5g8efImX2d13UsZVv8DIZXquSTkggsuYNGiRXz729/m888/Z4899uDOO+/c7GtudEz91vN2IpJME09n8LkcuB12inzZH+DuQNXrspNIZ4gk0wM5TBERkT5nsxlMn1RBcZ6L+S1huuIp0qZJVzzF/JYwxXkujphY0eefOJaUlHD44Ydzzz33EIv1nBhavnw5jzzyCKeeemqvA2HILg346KOPeuz78MMPt2icbW1tzJ07l5/97GcceuihuSUMW8rv93P55Zdz9dVX54LKd955h3POOYdvfOMbTJ48mcrKyh7LIcaPH086nWbWrFm5fXPnzu3x4NWaugP/pqam3L515Zutqanh4osv5umnn+YHP/gBf/rTn7bsBjdAgesWynM58DjsRFcGptVF2UXiK7oSJNIZYskMboedPJdWZYiIyLantjyfc6eNYtKwAJ3RFHUrInRGU0yuDvTrMx533XUXiUSC6dOn8+abb1JfX8+LL77I4YcfTnV19UbXpq7pO9/5Dl9//TU//vGPmTdvHo8//jgPPfQQwCYFwKsrKiqipKSEP/7xjyxYsIDXXnuNq666arP6Wtd4582bx1NPPQXAuHHjePrpp/nkk0/49NNP+da3vtVj5nfHHXfkyCOP5Dvf+Q4ffPABs2bN4oILLljr4bbV1dbWUlNTw/XXX8/8+fN54YUXuPXWW3u0ueKKK5g5cyaLFy/m448/5vXXX9/idbMbosB1C1UXehlb5qcpGMeyLPxuJwGvEwto6IjSFIxTW+6nunD9PxgiIiJDWW15Pt89aCxXHr4D3z90HFcevgMXHzi2Xx9MHjduHB999BFjxozhlFNOYezYsVx00UUcfPDBvPfeexQXF29Sf6NHj+bJJ5/k6aefZsqUKdx77725lFqbm9fUZrPxj3/8g1mzZjFp0iSuvPLK3MNfW6q4uJizzjqL66+/HtM0ue22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NPPSSy+Z999/3yxZssT4/X5z33335Y8x3GN44403msrKSvPyyy/3+H4Xi8Xy+/QVo0wmY6ZPn27mzp1r1q5da5599lkzcuRI893vfrcQl1QUlLieoCKRiPn6179uxo8fb/x+vznppJPMbbfd1iNBcBzH3H777aa+vt74fD7zqU99ymzatKmAsy6sl156yQAf+nfttdcaY/oXr/3795srr7zSlJWVmYqKCnP99debzs7OAlxNYRwphlu3bu11G2Beeuml/DEUwyN/Hh6qt8RVMew7hv/5n/9pJk+ebPx+vzn99NPNk08+2eMY8Xjc3HTTTaa6utoEg0Fz+eWXmz179gzxlRROXzHcs2ePue6668yYMWOM3+83U6dONT//+c+N4zj5Ywz3GB7u+92SJUvy+/QnRtu2bTOf+cxnTCAQMLW1teaWW24x6XR6iK+meFjGHNRKSURERESkSGmNq4iIiIiUBCWuIiIiIlISlLiKiIiISElQ4ioiIiIiJUGJq4iIiIiUBCWuIiIiIlISlLiKiIiISElQ4ioiIiIiJUGJq4jIEDHG8JWvfIWamhosy2Lt2rWFnpKISElR5ywRkSHyxz/+kUsvvZSXX36Zk046idraWmzbLvS0RERKhr5jiogMkffee4/Ro0dz7rnn9ro9lUrh9XqHeFYiIqVDSwVERIbAddddx1e/+lV27NiBZVk0NjZy4YUXsnDhQhYtWkRtbS3z5s0D4M4772TGjBmEQiHGjRvHTTfdRDQazR/rwQcfpKqqiqeffpqpU6cSDAb5/Oc/TywW46GHHqKxsZHq6mq+9rWvkc1m8+9LJpN885vfpKGhgVAoxDnnnMPLL7881KEQETlmSlxFRIbA3XffzQ9/+EPGjh3Lnj17WLVqFQAPPfQQXq+XV199lQceeAAAl8vFPffcw/r163nooYd48cUX+da3vtXjeLFYjHvuuYdHH32UZ599lpdffpnLL7+cZ555hmeeeYaHH36Yf//3f+e3v/1t/j0LFy5kxYoVPProo7z11lt84QtfYP78+WzevHnoAiEichy0xlVEZIjcdddd3HXXXWzbtg2ACy+8kEgkwpo1a474vt/+9rfccMMN7Nu3D8jdcb3++uvZsmULkyZNAuCGG27g4YcfpqWlhbKyMgDmz59PY2MjDzzwADt27OCkk05ix44djBkzJn/sOXPm8LGPfYx/+Zd/GYQrFhEZWFrjKiJSQGefffaHXnv++edZvHgxGzduJBKJkMlkSCQSxGIxgsEgAMFgMJ+0AtTX19PY2JhPWrtfa21tBeDtt98mm80yZcqUHudKJpOMGDFiMC5NRGTAKXEVESmgUCjUY7xt2zY++9nPcuONN/LP//zP1NTUsHz5cr785S+TSqXyiavH4+nxPsuyen3NcRwAotEobreb1atX43a7e+x3cLIrIlLMlLiKiBSR1atX4zgOP//5z3G5co8h/OY3vznu45555plks1laW1s577zzjvt4IiKFoIezRESKyOTJk0mn09x77728//77PPzww/mHto7HlClTuOqqq7jmmmt4/PHH2bp1K3/5y19YvHgxf/jDHwZg5iIig0+Jq4hIETn99NO58847ueOOO5g+fTq/+tWvWLx48YAce8mSJVxzzTXccsstTJ06lcsuu4xVq1Yxfvz4ATm+iMhgU1UBERERESkJuuMqIiIiIiVBiauIiIiIlAQlriIiIiJSEpS4ioiIiEhJUOIqIiIiIiVBiauIiIiIlAQlriIiIiJSEpS4ioiIiEhJUOIqIiIiIiVBiauIiIiIlAQlriIiIiJSEv4vBetKiomt+yAAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 800x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "processed_df = process_radius(\n",
    "    df_merged, median_window=5, quantile_baseline=0.001, ransac_threshold=0.1\n",
    ")\n",
    "# processed_df = process_radius(df_merged, median_window=5, quantile_baseline=0.01, ransac_threshold=0.1)\n",
    "\n",
    "plot_fit(df_merged, processed_df)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 645,
   "id": "736a140f",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adjusted positions saved to: /home/davic/projects/IACV_project/bowling-analysis/data/auxiliary_data/circle_positions/Adjusted_positions_7.csv\n"
     ]
    }
   ],
   "source": [
    "# Compute the new y coordinate\n",
    "processed_df[\"y\"] = processed_df.apply(\n",
    "    lambda row: row[\"y\"] - row[\"radius\"]\n",
    "    if pd.notna(row[\"y\"]) and pd.notna(row[\"radius\"])\n",
    "    else row[\"y\"],\n",
    "    axis=1,\n",
    ")\n",
    "\n",
    "# Convert x, y, radius to integers if possible\n",
    "for col in [\"x\", \"y\", \"radius\"]:\n",
    "    processed_df[col] = (\n",
    "        pd.to_numeric(processed_df[col], errors=\"coerce\").dropna().astype(int)\n",
    "    )\n",
    "\n",
    "# Keep only required columns\n",
    "df_output = processed_df[[\"frame\", \"x\", \"y\", \"radius\"]]\n",
    "\n",
    "# Save to CSV\n",
    "df_output.to_csv(OUTPUT_CSV_PATH, index=False)\n",
    "\n",
    "print(f\"Adjusted positions saved to: {OUTPUT_CSV_PATH}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bc755483",
   "metadata": {},
   "source": [
    "### Post-processing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 646,
   "id": "b30839c0",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Output video saved at: /home/davic/projects/IACV_project/bowling-analysis/data/recording_7/Ball_detected_processed_7.mp4\n"
     ]
    }
   ],
   "source": [
    "df_adjusted = pd.read_csv(OUTPUT_CSV_PATH).set_index(\"frame\")\n",
    "\n",
    "# Open the input video\n",
    "cap = cv2.VideoCapture(INPUT_VIDEO_PATH)\n",
    "fps = cap.get(cv2.CAP_PROP_FPS)\n",
    "width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))\n",
    "height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))\n",
    "total_frames = int(cap.get(cv2.CAP_PROP_FRAME_COUNT))\n",
    "\n",
    "# Set up the video writer\n",
    "fourcc = cv2.VideoWriter_fourcc(*\"mp4v\")\n",
    "out = cv2.VideoWriter(OUTPUT_VIDEO_PATH, fourcc, fps, (width, height))\n",
    "\n",
    "frame_number = 0\n",
    "while cap.isOpened():\n",
    "    ret, frame = cap.read()\n",
    "    if not ret:\n",
    "        break\n",
    "\n",
    "    if frame_number in df_adjusted.index:\n",
    "        row = df_adjusted.loc[frame_number]\n",
    "        x, y, radius = int(row[\"x\"]), int(row[\"y\"]), int(row[\"radius\"])\n",
    "\n",
    "        # Draw the circle on the frame\n",
    "        cv2.circle(frame, (x, y), radius, color=(0, 255, 0), thickness=2)\n",
    "        # Optional: draw a dot at the center\n",
    "        cv2.circle(frame, (x, y), 5, color=(0, 0, 255), thickness=-1)\n",
    "\n",
    "    out.write(frame)\n",
    "    frame_number += 1\n",
    "\n",
    "# Release resources\n",
    "cap.release()\n",
    "out.release()\n",
    "\n",
    "print(f\"Output video saved at: {OUTPUT_VIDEO_PATH}\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "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.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
