Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Obtain patch level metadata (e.g. geospatial bounds and cloud cover), save and demo DEP use case (sim search) #172

Merged
merged 33 commits into from
Mar 24, 2024

Conversation

lillythomas
Copy link
Contributor

@lillythomas lillythomas commented Mar 6, 2024

This PR will work towards a demonstration of how to obtain patch level embeddings and write them to GeoParquet files to run similarity search with.

Main tasks that need to be done:

Reference tickets: #168 #140

@lillythomas lillythomas marked this pull request as draft March 6, 2024 08:31
@lillythomas lillythomas force-pushed the patch_level_metadata branch from fbc286f to 674c716 Compare March 8, 2024 07:50
@lillythomas lillythomas force-pushed the patch_level_metadata branch from c7dd579 to 55ec91d Compare March 8, 2024 19:14
@lillythomas lillythomas force-pushed the patch_level_metadata branch from efe5611 to b51bc0e Compare March 11, 2024 20:45
@lillythomas lillythomas marked this pull request as ready for review March 11, 2024 20:48
@lillythomas
Copy link
Contributor Author

The notebook docs/tutorial_digital_earth_pacific_patch_level.ipynb walks through an example of:

  • generating patch level embeddings for an area where known mining extraction events occur
  • saving the patch level embeddings to independent GeoParquet files
  • executing similarity search based on a ground truth point's overlapping patch

@weiji14 @yellowcap ready for when you have time to review.

@lillythomas lillythomas force-pushed the patch_level_metadata branch from 23639a9 to 88eba37 Compare March 11, 2024 20:56
@weiji14
Copy link
Contributor

weiji14 commented Mar 11, 2024

Thanks @lillythomas! I haven't looked too closely yet, but would it be possible to show where the similarity search results are located? Maybe something like showing the bounding boxes of all the patches on a map, and also overlay where the original quarry points are.

@lillythomas lillythomas force-pushed the patch_level_metadata branch from ddfd36a to 874a349 Compare March 12, 2024 07:41
@lillythomas
Copy link
Contributor Author

Thanks @lillythomas! I haven't looked too closely yet, but would it be possible to show where the similarity search results are located? Maybe something like showing the bounding boxes of all the patches on a map, and also overlay where the original quarry points are.

Yes! Great idea. Working on this tomorrow.

Copy link
Member

@yellowcap yellowcap left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks Lilly, this is great to see! I did not yet have time get to the sim search part, but will get back to it on Monday. Left some comments for now.

Could you add some more context on what the purpose is? Do you think we going to apply this to a region for searching certain events / features?

"outputs": [],
"source": [
"mrd = gpd.read_file(\n",
" \"../mineral-resource-detection/training_data/draft_inputs/MRD_dissagregated_25.geojson\"\n",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"outputs": [],
"source": [
"DATA_DIR = \"data/minicubes\"\n",
"CKPT_PATH = \"/home/ubuntu/data/checkpoints/mae_epoch-24_val-loss-0.46.ckpt\"\n",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

" box_emb = shapely.geometry.box(box_[0], box_[1], box_[2], box_[3])\n",
"\n",
" # Create the GeoDataFrame\n",
" gdf = gpd.GeoDataFrame(data, geometry=[box_emb], crs=f\"EPSG:{epsg}\")\n",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why making one pdf file per embedding and not one that contains all? This would make everything downstream much easier. Would it be possible to create one before the loop and add rows to it?

" lambda x: Path(x).stem.rsplit(\"/\")[-1].rsplit(\"_\")[0]\n",
" )\n",
" gdf[\"idx\"] = \"_\".join(emb.split(\"/\")[-1].split(\"_\")[2:]).replace(\".gpq\", \"\")\n",
" gdf[\"box\"] = [gdf.geometry[0].bounds]\n",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This did not work for me, replaced with the following to get it to work

gdf["box"] = [box(*geom.bounds) for geom in gdf.geometry]

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh interesting. It works on my end. Do you have the traceback?

"# Combine patch level geodataframes into one\n",
"embeddings_gdf = pd.concat(gdfs, ignore_index=True)\n",
"# Make a polygon for each patch level bounding box\n",
"embeddings_gdf[\"bbox\"] = embeddings_gdf[\"box\"].apply(lambda bbox: box(*bbox))"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The lambda function is no longer necessary if comment above is applied

},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYYAAAEiCAYAAAD9DXUdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAABDaUlEQVR4nO3deXgUVdY/8G/v2felwxACCILIIgQGGhgRRQIGEURcZlAYASeIyCbbiKPCC9EHwZcZF/QHBmdeEIkoomAwEkCQdhBIZFECQkKQLICYNAlJr/f3h5MaiiR9TyCQbj2f5+kHuvvk1q3q6pxU1al7NUIIAcYYY+w/tM3dAcYYY76FEwNjjDEVTgyMMcZUODEwxhhT4cTAGGNMhRMDY4wxFU4MjDHGVDgxMMYYU+HEwBhjTIUTA/N5O3bsgEajQXl5eXN3hbHfBE4MzKfccccdmDZtmuq1vn37oqSkBOHh4c3Tqat04cIFTJkyBR06dEBgYCBatWqFp59+GhUVFaq4oqIipKamIigoCHFxcZg1axZcLpfy/ocffoi7774bsbGxCAsLg8ViwdatW1VtfPnll7j33nvRokULaDQabNy4kdTHmpoaTJ48GdHR0QgJCcGoUaNQVlaminn66aeRnJwMk8mE2267jbz+O3bsQI8ePWAymdCuXTusXr26SfrMrj9ODMznGY1GmM1maDSa5u5KoxQXF6O4uBivvPIKDh8+jNWrVyMrKwvjx49XYtxuN1JTU+FwOLBnzx68++67WL16Nf72t78pMV9++SXuvvtubNmyBfv378fAgQNx7733Ijc3V4mpqqpCt27d8Prrrzeqj9OnT8cnn3yCzMxM7Ny5E8XFxbj//vvrxD3++ON46KGHyO0WFBQgNTUVAwcORF5eHqZNm4YJEyaoEtrV9pndAIIxHzF27FgBQPUoKCgQ27dvFwDEzz//LIQQIiMjQ4SHh4tPPvlE3HzzzSIwMFCMGjVKVFVVidWrV4ukpCQREREhpkyZIlwul9J+TU2NmDlzpmjRooUICgoSv//978X27dtv6DquX79eGI1G4XQ6hRBCbNmyRWi1WlFaWqrEvPnmmyIsLEzY7fYG2+nUqZN48cUX630PgPjoo4+kfSkvLxcGg0FkZmYqr33//fcCgLBarXXin3/+edGtWzdpu0IIMXv2bHHrrbeqXnvooYdESkrKNfWZ3Rh8xMB8xvLly2GxWDBx4kSUlJSgpKQEiYmJ9cZeunQJf//737Fu3TpkZWVhx44dGDlyJLZs2YItW7bgX//6F9566y188MEHys889dRTsFqtWLduHQ4ePIjRo0djyJAhOH78eIN9Gjp0KEJCQhp83HrrrY1ax4qKCoSFhUGv1wMArFYrunTpgvj4eCUmJSUFNpsNR44cqbcNj8eDixcvIioqqlHLvtL+/fvhdDoxaNAg5bWOHTuiVatWsFqt19S21WpVtQv8sl7X2i67MTgx3CCLFi1C3759ERQUhIiICNLPlJWVYdy4cWjRogWCgoLq/SV24sQJjBw5Ujn//OCDD9Y5R3zs2DHcd999iImJQVhYGPr374/t27c3eh3OnDmDMWPGIDo6GoGBgejSpQv27dvX6HYaEh4eDqPRiKCgIJjNZpjNZuh0unpjnU4n3nzzTXTv3h233347HnjgAezevRurVq1Cp06dMGzYMAwcOFBZz6KiImRkZCAzMxN/+MMfcNNNN+GZZ55B//79kZGR0WCfVq5ciby8vAYfW7ZsIa/f+fPnsXDhQjzxxBPKa6WlpaqkAEB5XlpaWm87r7zyCiorK/Hggw+Sl12f0tJSGI3GOvtjfHx8g8tuTNv1rZfNZkN1dfU1tc2uP04MN4jD4cDo0aMxadIkUrwQAiNGjMDJkyfx8ccfIzc3F0lJSRg0aBCqqqoA/HKOdvDgwdBoNMjJycFXX30Fh8OBe++9Fx6PR2lr2LBhcLlcyMnJwf79+9GtWzcMGzasUV/+n3/+Gf369YPBYMBnn32G7777DkuXLkVkZGTjNkQTCQoKwk033aQ8j4+PR+vWrRESEqJ67ezZswCAQ4cOwe124+abb1b9xb9z506cOHGiweX87ne/Q7t27Rp8JCUlkfprs9mQmpqKTp064YUXXri6lQawdu1avPjii1i/fj3i4uLIP7d48WLVehcVFV11H650ebtpaWlN1i5rPvrm7sBvxYsvvggAdSozGnL8+HF8/fXXOHz4sHK64s0334TZbMZ7772HCRMm4KuvvkJhYSFyc3MRFhYGAHj33XcRGRmJnJwcDBo0COfPn8fx48exatUqdO3aFQDw0ksv4Y033sDhw4dhNpsBAIcPH8asWbOwa9cuBAcHY/DgwXj11VcRExMDAHj55ZeRmJio+uu6TZs2TbJtrobBYFA912g09b5WmyArKyuh0+mwf//+OkchlyeTKw0dOhS7du1q8P2kpKQGT/nUunjxIoYMGYLQ0FB89NFHqn6azWbs3btXFV97xFf72dRat24dJkyYgMzMzDqnaWTS0tJURxgtWrSA2WyGw+FAeXm56qihrKyszrK9ycvLU/5fux+azeY6R65lZWUICwtDYGBgo/rObjw+YvBRdrsdABAQEKC8ptVqYTKZsHv3biVGo9HAZDIpMQEBAdBqtUpMdHQ0OnTogH/+85+oqqqCy+XCW2+9hbi4OCQnJwMAysvLceedd6J79+7Yt28fsrKyUFZWpvpFsmnTJvTs2ROjR49GXFwcunfvjv/3//5fk6+30WiE2+1u8na7d+8Ot9uNs2fP1vmr39svwWs9lWSz2TB48GAYjUZs2rRJ9XkCgMViwaFDh5QjGwDIzs5GWFgYOnXqpLz23nvv4c9//jPee+89pKamNnr9o6KiVOus1+uRnJwMg8GAbdu2KXH5+fkoKiqCxWIht315u7VHMRaLRdVu7Xo1pl3WjJr76vdvTW1FjYzD4RCtWrUSo0ePFhcuXBB2u1289NJLAoAYPHiwEEKIs2fPirCwMDF16lRRVVUlKisrxVNPPSUAiCeeeEJp6/Tp0yI5OVloNBqh0+lEQkKCOHDggPL+woULlTYv/xkAIj8/XwghhMlkEiaTScybN08cOHBAvPXWWyIgIECsXr26CbbKf02cOFH06tVLFBQUiHPnzgm3291gVdLl6quYGTt2rLjvvvuU53/6059E69atxYYNG8TJkyfFv//9b7F48WLx6aefNuk61KqoqBC9e/cWXbp0ET/88IMoKSlRHrXVUi6XS3Tu3FkMHjxY5OXliaysLBEbGyvmzZuntLNmzRqh1+vF66+/rmqjvLxcibl48aLIzc0Vubm5AoBYtmyZyM3NFadOnfLax7S0NNGqVSuRk5Mj9u3bJywWi7BYLKqY48ePi9zcXPGXv/xF3HzzzcpyvFVNnTx5UgQFBYlZs2aJ77//Xrz++utCp9OJrKysa+4zu/44MVyDOXPm1CmvvPLx/fffq36GmhiEEGLfvn2iW7duAoDQ6XQiJSVFDB06VAwZMkSJ2bp1q2jbtq3yS3/MmDGiR48eIi0tTQghhMfjEcOHDxdDhw4Vu3fvFvv37xeTJk0Sv/vd70RxcbEQQogHHnhAGAwGERwcrHoAEFu2bBFCCGEwGOr8wpgyZYro06fP1W6+euXn54s+ffqIwMBAabnq5SiJweFwiL/97W+idevWwmAwiISEBDFy5Ehx8ODBJl2HWrX9ru9RUFCgxBUWFoqhQ4eKwMBAERMTI2bOnKmUswohxIABA+ptY+zYsdJlXR5Tn+rqavHkk0+KyMhIERQUJEaOHClKSkpUMQ0t//J1aGj9b7vtNmE0GkXbtm1FRkYGafvI+syuP40QQlyfY5Ffv3PnzuGnn37yGtO2bVsYjUbl+erVqzFt2rRGDe9QUVEBh8OB2NhY9O7dGz179qxzU9D58+eh1+sREREBs9mMmTNnYtasWdi2bRsGDx6Mn3/+WTn/CwDt27fH+PHjMXfuXAwdOhRBQUF4+eWX6yw7ISEBwcHBSEpKwt13342VK1cq77355pv4n//5H5w5c4a8Lowx38cXn69BbGwsYmNjr/tyaoeCOH78OPbt24eFCxfWiam9SJyTk4OzZ89i+PDhAH6p9wd+uT5xOa1Wq1yY7dGjBzZs2IDWrVsr9fVX6tevH/Lz81WvHTt2jFyVwxjzI819yPJbcerUKZGbmytefPFFERISopxbvXjxohLToUMH8eGHHyrP169fL7Zv3y5OnDghNm7cKJKSksT999+vavedd94RVqtV/PDDD+Jf//qXiIqKEjNmzFDeP3funIiOjhb333+/yMvLE/n5+eKZZ54RBoNB5OXlCSGEOHPmjIiNjRUPPPCA2Lt3r/jhhx9EVlaWGDdunHIufO/evUKv14tFixaJ48ePizVr1oigoCDxf//3f9dzszHGmgEnhhukvuEeAKiGZACgOg+7fPly0bJlS2EwGESrVq3E/Pnz61zwmzNnjoiPjxcGg0G0b99eLF26VHg8HlXMN998IwYPHiyioqJEaGio6NOnj3LtoNaxY8fEyJEjRUREhAgMDBQdO3YU06ZNU7X1ySefiM6dOwuTySQ6duwo3n777abbQIwxn8HXGBhjjKnwfQyMMcZUODEwxhhT4aqkRvJ4PCguLkZoaKjfzQ/AGPvtEkLg4sWLaNGiRZ0qxStxYmik4uLiBoeCZowxX3f69Gm0bNnSawwnhkYKDQ0FAIx7JBlGY/1DQjdGG7N8hMygkGBSW2fLbdKYU2d/JrVVZq+UxlQ7nKS23G75GUuXoB19eTwuaYwQHmkMADid8jGZ7HbaOtoq5durvLJKGiOIw0S5XfJ19Lhp20Fnkm97rZb2qyLAZJQHEcXEyqdyjbhsnDBvAuS7DagjdLk18nodp4e4P0P+GQXrab9nKqsdXt93uzz4znpG+R3mDSeGRqo9fWQ06mA0XvvmCzAZpDGBAbQvG6Utap8NHvnO6CT+AtZIDlsBAMTE4PbIv5SCmmQgb0tHSGoAoNXJl6khxFBpCL94NMTtoNE2Xd+bch11evm21xton48ehHUk7A8AoCEkBg8xMVCi9AZaYtA5aduCcgqcLz4zxhhT4cTAGGNMhRMDY4wxFb7GcJVO2ipgIJ7780ZPuLBkqrxEaqvc7v3iEwDYXPIYALhEmCzH4aFdY9AS/v4QhPO2AO3CH+V8MgDSGeWqKuK2r7wojaGcdvY4advB5ZB/PoL4Z5/GQwjU0y7NGgOa7ldKAOH7pdPQVtJBGODBpSXuz4RlUq5DALTrO3ZivwyB3i/EawnFFkosOZIxxthvAicGxhhjKpwYGGOMqXBiYIwxpsKJgTHGmAonBsYYYypcrnqVnG4PBKHUTObHCxXSGKGhjW+kMQVJYypqqkltVbvlg8vQiugAI2E7eQjlsQCgIZSiuolDddgJYz1VO2ljJQmXvF/BQYShTYhDSlRftEtj7ITPEAB0hL8Pg4yBpLaCDbSxiyj0hDJat4tWFuohDWNBa0to5PsXdfYzj1PeVg2xytRo9L5/UcuXAT5iYIwxdgVODIwxxlQ4MTDGGFPhxMAYY0yFEwNjjDEVv6lKat26NU6dOqV6LT09HXPnzgUAFBYWok2bNnV+zmq1ok+fPsrzzMxMPPfccygsLET79u3x8ssv45577ml0f25KSILRdO2bL9Alz80VNbSB3IYPvk8as/OQldTW3qOHpTGCOIag0ymvoNE4iRVehD9laly0SqIau7xfTkFrKywqQBqjF/L9RRAneNERKnaCaUVJMJjkH2RICK0qKVAnnyzKTaxAEw55xY6D+BX0EAZ8dBAr0CgD5Gn1tM9RSyhfIk7EB7fW++fopjYEP0oMALBgwQJMnDhReV7fFHVffPEFbr31VuV5dHS08v89e/bgkUceQXp6OoYNG4a1a9dixIgROHDgADp37nx9O88YY37CrxJDaGgozGaz15jo6OgGY5YvX44hQ4Zg1qxZAICFCxciOzsbr732GlasWNHk/WWMMX/kV9cYXnrpJURHR6N79+5YsmQJXK66x8rDhw9HXFwc+vfvj02bNqnes1qtGDRokOq1lJQUWK200yuMMfZb4DdHDE8//TR69OiBqKgo7NmzB/PmzUNJSQmWLVsGAAgJCcHSpUvRr18/aLVabNiwASNGjMDGjRsxfPhwAEBpaSni4+NV7cbHx6O0tLTB5drtdtgvOxdts9muw9oxxpjvaNbEMHfuXLz88steY77//nt07NgRM2bMUF7r2rUrjEYj/vKXvyA9PR0mkwkxMTGqmF69eqG4uBhLlixREsPVSE9Px4svvnjVP88YY/6mWRPDzJkzMW7cOK8xbdu2rff13r17w+VyobCwEB06dGgwJjs7W3luNptRVlamiikrK/N63WLevHmqhGOz2ZCYmOi1z4wx5s+aNTHExsYiNjb2qn42Ly8PWq0WcXFxXmMSEhKU5xaLBdu2bcO0adOU17Kzs2GxWBpsw2QywWSqOzDYTR17IMDLHKuCMMcsAAQJeXlfIGh1h/c9NE0a4wggDOQGwJr3rTRGRxzwzUgorQzQ03ZFu5CXOl68SCvvvfAT4bQg8SqcMMk/b8ogZpT5hAEgMFT+OWqJ5aqUgQmNxH5pCMPH6XW0tihjVFLKUAHARRhQUEMcfFEQBtsjbnpoKNuVOFinS9J/6uCSgJ9cY7Barfj3v/+NgQMHIjQ0FFarFdOnT8eYMWMQGRkJAHj33XdhNBrRvXt3AMCHH36Id955BytXrlTamTp1KgYMGIClS5ciNTUV69atw759+/D22283y3oxxpgv8ovEYDKZsG7dOrzwwguw2+1o06YNpk+frjrFA/xSfnrq1Cno9Xp07NgR77//Ph544AHl/b59+2Lt2rWYP38+/vrXv6J9+/bYuHEj38PAGGOX8YvE0KNHD3z99ddeY8aOHYuxY8dK2xo9ejRGjx7dVF1jjLFfHb+6j4Exxtj1x4mBMcaYil+cSvJFP5aVwGSiVfh44yEM3DXoD3de83Jqna+hxVVXyaccDTaGkNqijN1Vo6NVTFAqK3QO2t87olpeOyJMtIqQqkvyfgUQxqGjTIMKADqdfOA76nSpOo28LWc9owzUx00cBJCE0C+DkfYrTEvYJTyE6iwAcDnk25ValajRyztGmEn0lzjJIglj/yn4iIExxpgKJwbGGGMqnBgYY4ypcGJgjDGmwomBMcaYCicGxhhjKlyuepWsX+2AjlBqJiMIubns7BlSW6d+/lEa83nW56S2NBp56Z4gziHrIZSYukCbQNrpkZcKGoy0tqJC5OW25dVVpLYI3QL08npBTyB1m8rXURDnHRYu+TI1tMpXGAklplSU8fFcxEH0hHxKbtBmfAacjkbUfUoYCDuOXjKXc61AyeCEhI9ZwUcMjDHGVDgxMMYYU+HEwBhjTIUTA2OMMRVODIwxxlS4KukqlVdWQUucotAbN6Gy58L+/aS2Dn5/SB5EHOTMaJDvGg4PsY5DyJfp0dEqPZwu+TLdxPKLoOCGp2ZVECvPBGEdRYB8HTWBtM/HU0OYSpRYPEOprvMQprMEALe26Sp2NPJZb+EkVnEhSL5d3YSqMQAI1MtLnPRa2q9WjZNQlUStJpINmkis4AL4iIExxtgVODEwxhhT4cTAGGNMhRMDY4wxFU4MjDHGVDgxMMYYU/GrctXNmzdjwYIFOHjwIAICAjBgwABs3LhReb+oqAiTJk3C9u3bERISgrFjxyI9PR16/X9Xc8eOHZgxYwaOHDmCxMREzJ8/H+PGjWt0X3RaHXRNUK6q18sHyNJpiCWThNJXDbGG0eOWx7mJJaakukniIG20QdNo/TKY5Ns+mFCaCADVVXZpjJPQ9dCgINLyLmkd8uVVyvsEAFoTYf/SEctoDU0357PLSPgciQMFBurk87MHmwjlywB0hHm5PYK4QxMmo3ZdorVll8wfTy3jBvwoMWzYsAETJ07E4sWLceedd8LlcuHw4cPK+263G6mpqTCbzdizZw9KSkrw2GOPwWAwYPHixQCAgoICpKamIi0tDWvWrMG2bdswYcIEJCQkICUlpblWjTHGfIpGCOptMM3H5XKhdevWePHFFzF+/Ph6Yz777DMMGzYMxcXFiI+PBwCsWLECc+bMwblz52A0GjFnzhxs3rxZlVAefvhhlJeXIysri9QXm82G8PBw3JQc2yTDboPwBw/5iIEwvDX1iOHyo6yGkI+YKIsk/qHpcLvkQcSbsfQG+RGDy03rGOmIwSTvV1hcMGl5l2qa7ojBaCL8fUgcTVtL2KZUWsrw6dQjBsLRgIH4WeucTXjEQDjKpx4xyI6m3S4Pvt9VgoqKCoSFhXmN9YtrDAcOHMCZM2eg1WrRvXt3JCQkYOjQoapf8FarFV26dFGSAgCkpKTAZrPhyJEjSsygQYNUbaekpMBqtTa4bLvdDpvNpnowxtivmV8khpMnTwIAXnjhBcyfPx+ffvopIiMjcccdd+DChQsAgNLSUlVSAKA8Ly0t9Rpjs9lQXV1d77LT09MRHh6uPBITE5t03RhjzNc0a2KYO3cuNBqN18fRo0fh+c8h0rPPPotRo0YhOTkZGRkZ0Gg0yMzMvK59nDdvHioqKpTH6dOnr+vyGGOsuTXrxeeZM2dKK4Latm2LkpISAECnTp2U100mE9q2bYuioiIAgNlsxt69e1U/W1ZWprxX+2/ta5fHhIWFITAwsN7lm0wmmOo5P6nVCGg11355RkeaCpF27lOvk3+cWkJFBQB4CNciqKvvJlz7cBOvC1Cm9qRuLw3h7yLqOXM9YcA3h6P+o9LL6YjXgALD5OfMTcHyShwAcHrk122ol5Mol8N0hEocADAQfj2RrwtUyuMMxAEmTQHybV9DGOwRANyEcrwa6qU8ya5KGOdR0ayJITY2FrGxsdK45ORkmEwm5Ofno3///gAAp9OJwsJCJCUlAQAsFgsWLVqEs2fPIi4uDgCQnZ2NsLAwJaFYLBZs2bJF1XZ2djYsFktTrhZjjPk1v7jGEBYWhrS0NDz//PP4/PPPkZ+fj0mTJgEARo8eDQAYPHgwOnXqhEcffRTffvsttm7divnz52Py5MnKX/xpaWk4efIkZs+ejaNHj+KNN97A+vXrMX369GZbN8YY8zV+cx/DkiVLoNfr8eijj6K6uhq9e/dGTk4OIiMjAQA6nQ6ffvopJk2aBIvFguDgYIwdOxYLFixQ2mjTpg02b96M6dOnY/ny5WjZsiVWrlzJ9zAwxthl/OI+Bl9Sex9D+54xTXIfQ5NeYyBcP2jKawxaDa0t0jUG4m7oIJwPp24vo0F+Dl6jpV1jsFfJ+3XJJb/GEPU72n0MLsLdypS714HfyDUGl/xzbJZrDIRrZlU1lH0eEBrvbbldHhzNOfPruY+BMcbYjcOJgTHGmIrfXGPwNTqdtkkG0YNLfphoIJzyAAA95RCdWLKmJZwToJ6WcrsIA/IRhgYAAB2pfJR4uoxQb0v9iI1BhCFEtKHSGFo5LgDCNtUTT4PpKUNPEOcL1lG2PXEsN9KpHcLc1wBtADmdjra9HIR91UEtDSV83JIzRIrYKO8Vni6nG0dxhtQWHzEwxhhT4cTAGGNMhRMDY4wxFU4MjDHGVDgxMMYYU+GqpKtkMhm83uCmJd7Eo7fLSw4MelpVEuEeHuKkl8S5daiDe1ErbZpomR7igHyUtjTEm/i0hAljKJPrVLtok+sEEqYlDdDSpqo0BRNGACTuOM5K2o1dFJQbI6n90nnkH7YgxACAwym/UdFgon1nTUL+K1gQb7xzVXvfv1xO+veQjxgYY4ypcGJgjDGmwomBMcaYCicGxhhjKpwYGGOMqXBiYIwxpsLlqlfJE6aFxtBwXiWOEwY9CDWmxAG5dIRB0wRxomYPZVA7Yr8EoaaQWhZKQhzwjTIVBrVbTre8FNBul5dyut3EsfcJ+40+kFhqS9glPMQPm1paTeFyy8t7TUZCqS0Ad5V820eFhZPaAmHbV9qrSC1FBwRJYy6JGlJbOsl+L3v/cnzEwBhjTIUTA2OMMRVODIwxxlQ4MTDGGFPhxMAYY0zFr6qSNm/ejAULFuDgwYMICAjAgAEDsHHjRuX9+ipb3nvvPTz88MPK8x07dmDGjBk4cuQIEhMTMX/+fIwbN67RfXEb9ICXqiQqF2HePreTNjBZgEneH52eNn1hDaGuijLG2S/kFS2UqUQBQEuYa5NSBQUAQsjbqnHQtr1dyKuJtIQqoQAHrcomwCCPM5CmQQUchEEONdQ5TgPlIUHUqWqr5Z+jR164BACIiJZXHD322CRSW3q9fHDC/1uzgtRWOOH7GB1E2KgAdJL93uGkVbwBfpQYNmzYgIkTJ2Lx4sW488474XK5cPjw4TpxGRkZGDJkiPI8IiJC+X9BQQFSU1ORlpaGNWvWYNu2bZgwYQISEhKQkpJyI1aDMcZ8nl8kBpfLhalTp2LJkiUYP3688nqnTp3qxEZERMBsNtfbzooVK9CmTRssXboUAHDLLbdg9+7dePXVVzkxMMbYf/jFNYYDBw7gzJkz0Gq16N69OxISEjB06NB6jxgmT56MmJgY/P73v8c777wDIf57eGW1WjFo0CBVfEpKCqxW63VfB8YY8xd+ccRw8uRJAMALL7yAZcuWoXXr1li6dCnuuOMOHDt2DFFRUQCABQsW4M4770RQUBA+//xzPPnkk6isrMTTTz8NACgtLUV8fLyq7fj4eNhsNlRXVyMwsO65PLvdDrv9v5On2Gy267WajDHmE5r1iGHu3LnQaDReH0ePHoXnP7dyP/vssxg1ahSSk5ORkZEBjUaDzMxMpb3nnnsO/fr1Q/fu3TFnzhzMnj0bS5YsuaY+pqenIzw8XHkkJiZeU3uMMebrmvWIYebMmdKKoLZt26KkpASA+pqCyWRC27ZtUVRU1ODP9u7dGwsXLoTdbofJZILZbEZZWZkqpqysDGFhYfUeLQDAvHnzMGPGDOW5zWbj5MAY+1Vr1sQQGxuL2NhYaVxycjJMJhPy8/PRv39/AIDT6URhYSGSkpIa/Lm8vDxERkbCZPqlvMxisWDLli2qmOzsbFgslgbbMJlMys9frqUuBAZdw6VmJeKi13Wq5TbJSxiNHlrZIVzy+lGdlz5fjjKonZs6VCBh/DXyIHqURRJLXz0ueTlkRXklqS2XVl7yGRwuHzAtIIg4V7BJXq7q0tA+H6dDXsYYQCyZ9BAGE9QQPx8XYX+utMnnXwaAmHh5uWoAsfzcI+TLjCCUEwOAjjA/eaiR1q9A4b0tO6E8u5ZfXGMICwtDWloann/+eSQmJiIpKUk5RTR69GgAwCeffIKysjL06dMHAQEByM7OxuLFi/HMM88o7aSlpeG1117D7Nmz8fjjjyMnJwfr16/H5s2bm2W9GGPMF/lFYgCAJUuWQK/X49FHH0V1dTV69+6NnJwcREZGAgAMBgNef/11TJ8+HUIItGvXDsuWLcPEiROVNtq0aYPNmzdj+vTpWL58OVq2bImVK1dyqSpjjF3GbxKDwWDAK6+8gldeeaXe94cMGaK6sa0hd9xxB3Jzc5u6e4wx9qvhF/cxMMYYu3E4MTDGGFPxm1NJvsYAHQxepviL8MgH2gKASwa7NEanJVZLEMZ70+ho1T9GjbyqQmhog3IZCYukDXsHuAhVHNTpSylVO0YTrUpIuOSjuRkIc4lSq5L0wfI4J2FbAUCAU/5ZhwUFk9qi0BMr0LSB8v0rUk/rVwjk67jny42ktkwe+bY3EQYmBABBqLxyu2mfo0NS/udw0foE8BEDY4yxK3BiYIwxpsKJgTHGmEqjE8PYsWPx5ZdfXo++MMYY8wGNTgwVFRUYNGgQ2rdvj8WLF+PMmTPXo1+MMcaaSaMTw8aNG3HmzBlMmjQJ77//Plq3bo2hQ4figw8+gJM4BSVjjDHfpRFCMvKSxIEDB5CRkYGVK1ciJCQEY8aMwZNPPon27ds3VR99is1mQ3h4OEaM6u51Tt1qu7wMFaCN9+bw0AZDq6iWD+6l09MqlI16eUneJeJ8yE4hj3MSS+mqXPLtaiSuo4dQzulx00orPR55aWVoqLy00hBMG+TQqZNvL4+L1vcAjfyzjg5punLVcCOtlDsmSD7ooJ4yQiOAasK+GkEcKNBZIy9N/vl8Oaktg1v+3Q4OoA3IJ9ub7Q4XVry3DxUVFQgLC/Mae00Xn0tKSpCdnY3s7GzodDrcc889OHToEDp16oRXX331WppmjDHWTBqdGJxOJzZs2IBhw4YhKSkJmZmZmDZtGoqLi/Huu+/iiy++wPr167FgwYLr0V/GGGPXWaPvfE5ISIDH48EjjzyCvXv34rbbbqsTM3DgQERERDRB9xhjjN1ojU4Mr776KkaPHo2AgIAGYyIiIlBQUHBNHWOMMdY8Gp0YHn300evRD8YYYz6CB9G7WjodoGt482n0tCobB2HkOwexcEyjl1e0GIgVOzrC4F6EMeEAAJdq5JVE1VW0Kq7KyhppTGQ4rYLGaJBX42j1tMtwekJbOpN8gwliBZpbEAYAdNM+61DCQIFxJnmFENXNLeJJcTFaefUStaby0Fn5/VZVly6R2nLWyL+zwV4qFi8XECivOPJoaSt5/qL3qkSHkwfRY4wxdpU4MTDGGFPhxMAYY0yFEwNjjDEVTgyMMcZUODEwxhhT8Yty1R07dmDgwIH1vrd371706tULAHDw4EFMnjwZ33zzDWJjYzFlyhTMnj1bFZ+ZmYnnnnsOhYWFaN++PV5++WXcc889je6TVquDVtdwSZpOQ9u0Wre8hExTTZw/tkYeV6Ojlb6FEOYe1pBnavZfbsIgZwCgJ5QnarXyGA9oy2ON46kklEwTBkIEgFC9vMQ0OIQ2IN9Fu3zgS4eL1q/zF6u8vu/6tZWr9u3bFyUlJarHhAkT0KZNG/Ts2RPAL6OeDh48GElJSdi/fz+WLFmCF154AW+//bbSzp49e/DII49g/PjxyM3NxYgRIzBixAgcPny4uVaNMcZ8jl8cMRiNRpjNZuW50+nExx9/jClTpkCj+WXY3TVr1sDhcOCdd96B0WjErbfeiry8PCxbtgxPPPEEAGD58uUYMmQIZs2aBQBYuHAhsrOz8dprr2HFihU3fsUYY8wH+cURw5U2bdqEn376CX/+85+V16xWK26//XYYjf89BZKSkoL8/Hz8/PPPSsygQYNUbaWkpMBqtTa4LLvdDpvNpnowxtivmV8mhlWrViElJQUtW7ZUXistLUV8vPpW+9rnpaWlXmNq369Peno6wsPDlUdiYmJTrQZjjPmkZk0Mc+fOhUaj8fo4evSo6md+/PFHbN26FePHj78hfZw3bx4qKiqUx+nTp2/IchljrLk06zWGmTNnYty4cV5j2rZtq3qekZGB6OhoDB8+XPW62WxGWVmZ6rXa57XXJxqKufz6xZVMJhNMprqDeWmggwYNV5m4CdNGAoBWQ5makDZ9oXDK43QuWr/cQj59oUZLq5ZwXJLHOYmDxwV7GbiwVqiWtlubCNOX1ghqJYe8/wbCPhGkow1WFx8TJY2h7VuAhjBXe3yo96kgGyM0sOEh+y8X8qP8tG0AYd8CaBVhIFYlaQkj92mI+zOlss9DGDARADySCkcPsU9AMyeG2NhYxMbGkuOFEMjIyMBjjz0Gg0FdMmaxWPDss8/C6XQq72VnZ6NDhw6IjIxUYrZt24Zp06YpP5ednQ2LxXLtK8MYY78SfnWNIScnBwUFBZgwYUKd9/74xz/CaDRi/PjxOHLkCN5//30sX74cM2bMUGKmTp2KrKwsLF26FEePHsULL7yAffv24amnnrqRq8EYYz7NrxLDqlWr0LdvX3Ts2LHOe+Hh4fj8889RUFCA5ORkzJw5E3/729+UUlXgl/sh1q5di7fffhvdunXDBx98gI0bN6Jz5843cjUYY8yn+cV9DLXWrl3r9f2uXbti165dXmNGjx6N0aNHN2W3GGPsV8WvjhgYY4xdf5wYGGOMqfjVqSSf4nF5rVA0EEsFHUIeR53XlsLlJpbREgbcqnHJyxwBwEMoKTQaaNsrLixCGhMSKJ8rGACMgfJy1QuXvA9MVktPmBu6RXiENCbGGEJaXsuYttIYc3w0qa1K24/SmIt22pzcFD9X0PZBp1O+TWvKK0htVZvk+6BGQyvn1Brk/b/oks9NDgAewgB5gcTJ1YMM3vd7J35lg+gxxhi7cTgxMMYYU+HEwBhjTIUTA2OMMRVODIwxxlS4KukqGbQ6GL0MzCWIU2hSSo4qDbSKEA0hzQvigHw6wmB1QUba3xVuLWGZelq/KIPtVdjlAwACgInQL71OXrkEANHhodKYuIgIaUwAcZwzW5m8kuimCNr0ki1atJTGFF24QGqL4uBped8BoKBGXtlToZFPjQkATod8w4Yb5VN2AkA1obIviDi1r0Yr/w5pvEwhfDljgPcqQY2Oq5IYY4xdJU4MjDHGVDgxMMYYU+HEwBhjTIUTA2OMMRVODIwxxlS4XPUqeTQauL0NlKejlV/qCQNkaWjVl9ASyi9pvQL0Bnm/dAba7hNokv/94XLT6jTtlwhzUXtof+8Ih7zsUE8syXU65f0yh8YQYmhzPldVyQf3i46lDSbYJqqNNMZZRSvlpNh58Qgp7vyFSmkMdb9xE+Zzdjlocz7XGOT7BG1Wa8DlkZeQXpLM5Vyr0u69XNVFGBizFh8xMMYYU+HEwBhjTIUTA2OMMRVODIwxxlQ4MTDGGFPxi6qkHTt2YODAgfW+t3fvXvTq1QuFhYVo06ZudYXVakWfPn2U55mZmXjuuedQWFiI9u3b4+WXX8Y999zT6D4Jzy+PBt8n1v9oCHHE2TjhoSyT2BilEsKoo/1d4SFM26nX0qpeXIRpFd0e2jq6KNUetEIV2CrlVUkXCFOcJsZFkJbnqZZXJd3cJZnUVtJt8v3/0NtvktqiKD1bTopzEmaOFd7m172Mh/JZe2jfWbeLMJAjYcpOAPAQ9tUaQasmckriKP2u5RdHDH379kVJSYnqMWHCBLRp0wY9e/ZUxX7xxRequOTk/3459uzZg0ceeQTjx49Hbm4uRowYgREjRuDw4cM3epUYY8xn+cURg9FohNlsVp47nU58/PHHmDJlCjRX3EsQHR2tir3c8uXLMWTIEMyaNQsAsHDhQmRnZ+O1117DihUrrt8KMMaYH/GLI4Yrbdq0CT/99BP+/Oc/13lv+PDhiIuLQ//+/bFp0ybVe1arFYMGDVK9lpKSAqvV2uCy7HY7bDab6sEYY79mfpkYVq1ahZSUFLRs+d8JRkJCQrB06VJkZmZi8+bN6N+/P0aMGKFKDqWlpYiPj1e1FR8fj9LS0gaXlZ6ejvDwcOWRmJjY9CvEGGM+pFkTw9y5c6HRaLw+jh49qvqZH3/8EVu3bsX48eNVr8fExGDGjBno3bs3evXqhZdeegljxozBkiVLrqmP8+bNQ0VFhfI4ffr0NbXHGGO+rlmvMcycORPjxo3zGtO2bVvV84yMDERHR2P48OHS9nv37o3s7GzludlsRllZmSqmrKyswWsSAGAymWAy0cacYYyxX4NmTQyxsbGIjY0lxwshkJGRgcceewwGg7y8MS8vDwkJCcpzi8WCbdu2Ydq0acpr2dnZsFgsjeo3AOg0AnpNw6VmlLlcAeCSUz6fs5M4uJfbIS9ro5asObXyMrpA4hy5GsL80fZqQm0iAOGtRlhZHq3s0EMoA3QQt1eAXv7Hw08/lUhj9lWWk5ZXXi0fYK5vNW0fTEKINMbups07TuEizL8MAELIP0eHi9YvLWFCdA91IEdCNbSHWBauJSxSCNrnqJWUqwvCgH21/KIqqVZOTg4KCgowYcKEOu+9++67MBqN6N69OwDgww8/xDvvvIOVK1cqMVOnTsWAAQOwdOlSpKamYt26ddi3bx/efvvtG7YOjDHm6/wqMaxatQp9+/ZFx44d631/4cKFOHXqFPR6PTp27Ij3338fDzzwgPJ+3759sXbtWsyfPx9//etf0b59e2zcuBGdO3e+UavAGGM+z68Sw9q1axt8b+zYsRg7dqy0jdGjR2P06NFN2S3GGPtV8ctyVcYYY9cPJwbGGGMqfnUqyZfYHQ54vFTIEMdxgyBUQmiIY195CBU0lEG7AACEihA7sbrEaJLHERYHAHC75JUVWkLFGgDoCIMA6onVZWGBgdIYJ2EgtxMlZdIYADhXLr8Df+lb/yC11Xv7NmlM/pHvSG1RaIjVMZSx4zxO2j5IKEqChzpiImHqWLeH2C/C15E6iCa8TTUMWpVXLT5iYIwxpsKJgTHGmAonBsYYYyqcGBhjjKlwYmCMMabCiYExxpgKl6teJZNWA6O24fIvammYzU4o5STEAABlWlt46fPlNBqdPIZYRucilJhSygkBIFQnL0V1Scr2agUFh8pjjLSviJ6wAuVVl6QxldXyuaMB2udzqvAMqa2zhDgjuWZSLjCQVk5M2Vf1oPWrhlA+KqhzPhPKbUnziQMQhH2VuDtDr/W+T2gE/TPkIwbGGGMqnBgYY4ypcGJgjDGmwomBMcaYCicGxhhjKlyVdJVsTgcMaLjywEiongEAjVb+EQQQB4VzE8IEsYrDYJD/zaAx0XYfLWGwOqGn9StET5gm1EMbDE1HGCDP4aK1VUOovHIRBkx0EUu9tISKHer0sm5C1YuLuB0o9BpaxQ5lfLyfq2lTe9qEvNrLGEDbn90u+WfkstPW0RAoX2aI3khqy233/hlRp/UF+IiBMcbYFTgxMMYYU+HEwBhjTIUTA2OMMRVODIwxxlT8JjEcO3YM9913H2JiYhAWFob+/ftj+/btqpiioiKkpqYiKCg
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here I got the following error.

ArrowInvalid: Could not convert <POLYGON ((177.507 -17.778, 177.507 -17.775, 177.504 -17.775, 177.504 -17.77...> with type Polygon: did not recognize Python value type when inferring an Arrow data type

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was introduced by making your suggested change in #172 (comment) but I have a way to handling it. Essentially pyarrow doesn't like a polygon object, so I can get a list equivalent for the table by adding the bounds method to "box": row["box"] e.g. "box": row["box"].bounds, which I am in favor of doing as it allows us to drop the lamba function as you pointed out.

@@ -790,7 +790,7 @@ def __init__( # noqa: PLR0913
wd=0.05,
b1=0.9,
b2=0.95,
embeddings_level: Literal["mean", "patch", "group"] = "mean",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would drop this from this PR seems not necessary for the notebook to work.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True. Will do.

… results and ground truth points on rgb xarray, add descriptions, revert change in model_clay.py
@lillythomas lillythomas force-pushed the patch_level_metadata branch from ccb5e4a to fc0ffa2 Compare March 15, 2024 20:27
@lillythomas lillythomas force-pushed the patch_level_metadata branch from 369e6af to 3526cb7 Compare March 19, 2024 02:02
@lillythomas lillythomas changed the title Obtain patch level metadata (e.g. geospatial bounds) and demo DEP use case Obtain patch level metadata (e.g. geospatial bounds and cloud cover), save and demo DEP use case (sim search) Mar 19, 2024
@lillythomas lillythomas force-pushed the patch_level_metadata branch from 3561699 to b51fb94 Compare March 19, 2024 16:27
@lillythomas lillythomas force-pushed the patch_level_metadata branch from b311678 to 53a75fa Compare March 22, 2024 17:53
@lillythomas lillythomas force-pushed the patch_level_metadata branch from f67d8c6 to 8281a78 Compare March 22, 2024 18:01
@lillythomas lillythomas force-pushed the patch_level_metadata branch from 405514a to 985b275 Compare March 22, 2024 18:07
@lillythomas lillythomas force-pushed the patch_level_metadata branch from b051092 to bb16690 Compare March 22, 2024 18:10
@lillythomas lillythomas force-pushed the patch_level_metadata branch from f586524 to 784a437 Compare March 22, 2024 18:21
@lillythomas lillythomas force-pushed the patch_level_metadata branch from f6d092e to 1583a6f Compare March 22, 2024 18:42
@lillythomas lillythomas force-pushed the patch_level_metadata branch 2 times, most recently from b8cdd25 to a87597e Compare March 22, 2024 19:09
@lillythomas lillythomas force-pushed the patch_level_metadata branch from a51208c to daa0486 Compare March 22, 2024 19:16
@lillythomas lillythomas force-pushed the patch_level_metadata branch from 8a61be1 to d1a7ebb Compare March 22, 2024 19:36
@lillythomas lillythomas force-pushed the patch_level_metadata branch from 52a05cb to 89ba6d6 Compare March 23, 2024 00:27
@lillythomas lillythomas force-pushed the patch_level_metadata branch from 6ff60ff to bcddfef Compare March 24, 2024 20:24
@lillythomas lillythomas force-pushed the patch_level_metadata branch from 881d1cf to 7e6b894 Compare March 24, 2024 21:29
@lillythomas lillythomas force-pushed the patch_level_metadata branch from a7047bd to 40a2c76 Compare March 24, 2024 21:41
@lillythomas lillythomas merged commit 7bda731 into main Mar 24, 2024
6 checks passed
@lillythomas lillythomas deleted the patch_level_metadata branch March 24, 2024 22:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants