2020-11-02 18:55:35 -03:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/home/dlsaavedra/anaconda3/envs/new/lib/python3.7/site-packages/pysal/__init__.py:65: VisibleDeprecationWarning: PySAL's API will be changed on 2018-12-31. The last release made with this API is version 1.14.4. A preview of the next API version is provided in the `pysal` 2.0 prelease candidate. The API changes and a guide on how to change imports is provided at https://migrating.pysal.org\n",
" ), VisibleDeprecationWarning)\n"
]
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"from matplotlib import path\n",
"import matplotlib.patches as patches\n",
"from skimage import draw\n",
"import scipy.ndimage as ndimage\n",
"import Utils\n",
"import georasters as gr\n",
"import cv2\n",
"from Utils import doubleMADsfromMedian\n",
"from skimage.transform import resize\n",
"import pickle"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
" # Load Image and Segmentation "
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 432x288 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 576x576 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAAOJCAYAAABiWzokAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzde5xkd13n/9f3nLr1ZXpmuudCJldygXBRBIFwUQkQgWTdFVD4BdkQIwoquAveQMRFgyRc1AXFdWVZfiQREsOKvwCGSwzGbEjCRAiR3MltMpNMJplrd3Xdzjnfz++Prpnp7qqaru4+daq76/3kMcY+VXXOt6ur6rzre77f78eZGSIiIjLYgn43QERERPpPgUBEREQUCERERESBQERERFAgEBERERQIREREhD4EAufc65xz9znnHnDOvT/r44uIiEgrl+U6BM65ELgf+FlgF3Ab8BYzuzuzRoiIiEiLrHsIXgw8YGYPmVkDuAr4+YzbICIiIvNkHQiOB3bO+nlXc5uIiIj0US7j47k22+Zcs3DOvQN4B0BI+JPDjGXRLhERkTVpigN7zWzzQvfLOhDsAk6c9fMJwOOz72BmnwE+AzDmxu0s9+rsWiciIrLG/LP9nx3d3C/rSwa3AWc4557unCsA5wNfybgNIiIiMk+mPQRmFjvn3g18EwiBz5nZXVm2QURERFplfckAM7sWuDbr44qIiEhnWqlQREREFAhEREREgUBERERQIBAREREUCERERAQFAhEREUGBQERERFAgEBERERQIREREBAUCERERQYFAREREUCAQERERFAhEREQEBQIRERFBgUBERERQIBAREREUCERERAQFAhEREUGBQERERFAgEBERERQIREREBAUCERERQYFAREREUCAQERERFAhEREQEBQIRERFBgUBERERQIBAREREUCERERAQFAhEREUGBQERERFAgEBERERQIREREBAUCERERQYFAREREUCAQERERFAhEREQEBQIRERFBgUBERERQIBAREREUCERERAQFAhEREUGBQERERFAgEBERERQIREREBAUCERERQYFAREREUCAQERERFAhEREQEBQIRERFBgUBERERQIBAREREUCERERAQFAhEREUGBQERERFAgEBERERQIREREBAUCERERQYFAREREUCAQERERFAhE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
"text/plain": [
"<Figure size 1152x1152 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#path_C = \"El_Aguila/result_C.tif\"\n",
"path_RGB = \"El_Aguila_2020/RGB.tif\"\n",
"path_T = \"El_Aguila_2020/Thermo.tif\"\n",
"path_String = \"El_Aguila_2020/Thermo_String_PV01.tif\"\n",
"path_save_list = \"El_Aguila_2020/List_strings_panels_PV01.txt\"\n",
"path_save_list_print = \"El_Aguila_2020/List_strings_panels_print_PV01.txt\"\n",
"\n",
"GR_String = gr.from_file(path_String)\n",
"GR_T = gr.from_file(path_T)\n",
"GR_RGB = gr.from_file(path_RGB)\n",
"\n",
"plt.figure(0)\n",
"plt.figure(figsize=(8, 8))\n",
"plt.imshow(GR_String.raster.data > 0)\n",
"#plt.imshow((GR.raster[:3,:,:]).transpose((1, 2, 0))[::10,::10,:])\n",
"\n",
"\n",
"label_im, nb_labels = ndimage.label(GR_String.raster.data > 0)#, structure= np.ones((2,2))) ## Label each connect region\n",
"\n",
"L_strings = {} # {name: '001', points:(top-left, top-right, bottom-right, bottom-left) (x,y), 'panels' : }\n",
"\n",
"epsilon = 0\n",
"\n",
"\n",
"for i in range(1, nb_labels + 1):\n",
" \n",
" countours, hierarchy = cv2.findContours(np.uint8(label_im == i), cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)\n",
" x_max = np.max(countours[0][:, 0, 0]) + epsilon\n",
" y_max = np.max(countours[0][:, 0, 1]) + epsilon\n",
" x_min = np.min(countours[0][:, 0, 0]) - epsilon\n",
" y_min = np.min(countours[0][:, 0, 1]) - epsilon\n",
" \n",
" List_P = np.array([(x_min, y_min), (x_max, y_min), (x_max, y_max), (x_min, y_max)])\n",
"\n",
" L_strings[str(i)] = {'id': i, \n",
" 'points' : List_P, \n",
" 'panels' : {}, \n",
" 'status': 'default', \n",
" 'T':0}\n",
"\n",
"plt.figure(0)\n",
"plt.figure(figsize=(16, 16))\n",
"plt.imshow(GR_String.raster.data)\n",
"\n",
"ax = plt.gca()\n",
"\n",
"for Poly_key in L_strings.keys():\n",
" \n",
" Poly = L_strings[Poly_key]\n",
" poly = patches.Polygon(Poly['points'],\n",
" linewidth=2,\n",
" edgecolor='red',\n",
" alpha=0.5,\n",
" fill = True)\n",
" plt.text(np.mean([x[0] for x in Poly['points']]), np.mean([y[1] for y in Poly['points']]) , str(Poly['id']), bbox=dict(facecolor='red', alpha=0.8))\n",
"\n",
" ax.add_patch(poly)\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Example of division to panel"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 432x288 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1152x1152 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"panel_size = (37 , 17) #weight, height size#\n",
"#panel_size = (20 , 35)\n",
"overlap = 0\n",
"\n",
"string = L_strings['2']\n",
"\n",
"Points = Utils.order_points_rect(string['points']).astype(np.int)\n",
"\n",
"## If strings is vertical or horizontal\n",
"if (Points[2][0] - Points[0][0]) > (Points[2][1] - Points[0][1]):\n",
" split_Weight, split_Height = np.int((Points[2][0] - Points[0][0]) / panel_size[0]) , np.int((Points[2][1] - Points[0][1]) / panel_size[1])\n",
"else:\n",
" split_Weight, split_Height = np.int((Points[2][0] - Points[0][0]) / panel_size[1]) , np.int((Points[2][1] - Points[0][1]) / panel_size[0])\n",
"\n",
"\n",
"M, maxWidth, maxHeight = Utils.perspectiveTransform(Points)\n",
"sub_division = Utils.subdivision_rect([split_Weight, split_Height], maxWidth, maxHeight, overlap)\n",
"sub_division_origin = np.uint(cv2.perspectiveTransform(np.array(sub_division), np.linalg.inv(M)))\n",
"\n",
"\n",
"plt.figure(0)\n",
"plt.figure(figsize=(16, 16))\n",
"plt.imshow(GR_T.raster[0,Points[0][1] : Points[2][1], Points[0][0]: Points[2][0]])\n",
"\n",
"plt.title('Subdive Origin Image')\n",
"ax = plt.gca()\n",
"\n",
"for i,Poly in enumerate(sub_division_origin):\n",
" poly = patches.Polygon(Poly - (Points[0][0], Points[0][1]),\n",
" linewidth=2,\n",
" edgecolor='red',\n",
" fill = False)\n",
" plt.text(np.mean([x[0] for x in Poly - (Points[0][0], Points[0][1])]), np.mean([y[1] for y in Poly - (Points[0][0], Points[0][1])]) , \n",
" str(i), bbox=dict(facecolor='red', alpha=0.0), fontsize=8)\n",
"\n",
" ax.add_patch(poly)\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Subdivision and save GPS coordinate panel"
]
},
{
"cell_type": "code",
2020-11-13 00:19:20 -03:00
"execution_count": 1,
2020-11-02 18:55:35 -03:00
"metadata": {},
2020-11-13 00:19:20 -03:00
"outputs": [
{
"ename": "NameError",
"evalue": "name 'L_strings' is not defined",
"output_type": "error",
"traceback": [
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)",
"\u001b[0;32m<ipython-input-1-9b4df4cd78b7>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0moverlap\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0;32mfor\u001b[0m \u001b[0mstring_key\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mL_strings\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mkeys\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0mstring\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mL_strings\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mstring_key\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
"\u001b[0;31mNameError\u001b[0m: name 'L_strings' is not defined"
]
}
],
2020-11-02 18:55:35 -03:00
"source": [
"\n",
"overlap = 0\n",
"\n",
"for string_key in L_strings.keys():\n",
" \n",
" string = L_strings[string_key]\n",
" string['panels'] = {}\n",
" Points = Utils.order_points_rect( string['points']).astype(np.int)\n",
" \n",
" ## If strings is vertical or horizontal\n",
" if (Points[2][0] - Points[0][0]) > (Points[2][1] - Points[0][1]):\n",
" split_Weight, split_Height = np.int((Points[2][0] - Points[0][0]) / panel_size[0]) , np.int((Points[2][1] - Points[0][1]) / panel_size[1])\n",
" else:\n",
" split_Weight, split_Height = np.int((Points[2][0] - Points[0][0]) / panel_size[1]) , np.int((Points[2][1] - Points[0][1]) / panel_size[0])\n",
"\n",
" split_Weight = max(split_Weight, 1)\n",
" split_Height = max(split_Height, 1)\n",
" M, maxWidth, maxHeight = Utils.perspectiveTransform(Points)\n",
" sub_division = Utils.subdivision_rect([split_Weight, split_Height], maxWidth, maxHeight, overlap)\n",
" sub_division_origin = np.uint(cv2.perspectiveTransform(np.array(sub_division), np.linalg.inv(M)))\n",
" \n",
" for i,panels_coord in enumerate(sub_division_origin,1):\n",
" string['panels'][str(i)] = {'id' : i,\n",
" 'points' : panels_coord,\n",
" 'status': 'default', \n",
" 'T' : 0,\n",
" 'severidad': 'default'}\n",
"\n",
"\n",
"## Save List in coordinate latitud and longitude ###\n",
"geot = GR_String.geot\n",
"L_strings_coord = {}\n",
" \n",
"for string_key in L_strings.keys():\n",
" \n",
" string = L_strings[string_key]\n",
" points = string['points']\n",
" string_coord = {'id': string['id'], \n",
" 'points': Utils.pixel2gps(points, geot), \n",
" 'panels': {}, \n",
" 'status': string['status'], \n",
" 'T' : string['T']}\n",
" \n",
" for panel_key in string['panels'].keys():\n",
" \n",
" panel = string['panels'][panel_key]\n",
" points = panel['points']\n",
" panel_coord = {'id': panel['id'],\n",
" 'points': Utils.pixel2gps(points, geot), \n",
" 'status': panel['status'], \n",
" 'prob': 0.0, \n",
" 'T': 0, \n",
" 'severidad': 'default'}\n",
" \n",
" string_coord['panels'][panel_key] = panel_coord\n",
" \n",
" L_strings_coord[string_key] = string_coord\n",
"\n",
"\n",
2020-11-13 00:19:20 -03:00
"\n"
2020-11-02 18:55:35 -03:00
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<Figure size 432x288 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 1152x1152 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"## Load List in coordinate latitud and longitude to pixels ###\n",
"epsilon = 0\n",
"matrix_expand_bounds = [[-epsilon, -epsilon],[+epsilon, -epsilon], [+epsilon, +epsilon], [-epsilon, +epsilon]]\n",
"\n",
"#geot = GR_RGB.geot\n",
"geot = GR_T.geot\n",
"\n",
"\n",
"string = L_strings_coord_load['1']\n",
"panels = string['panels']\n",
"Points = Utils.gps2pixel(string['points'], geot) + matrix_expand_bounds\n",
"\n",
"plt.figure(0)\n",
"plt.figure(figsize=(16, 16))\n",
"plt.imshow(GR_T.raster[0,Points[0][1] : Points[2][1], Points[0][0]: Points[2][0]])\n",
"#plt.imshow((GR_RGB.raster[:3,:,:]).transpose((1, 2, 0))[Points[0][1] : Points[2][1], Points[0][0]: Points[2][0],:])\n",
"\n",
"plt.title('Subdive Origin Image')\n",
"ax = plt.gca()\n",
"\n",
"for Poly_key in panels.keys():\n",
" \n",
" Poly = panels[Poly_key]\n",
" poly = patches.Polygon(Utils.gps2pixel(Poly['points'],geot) - (Points[0][0], Points[0][1]),\n",
" linewidth=2,\n",
" edgecolor='red',\n",
" fill = False)\n",
" plt.text(np.mean([x[0] for x in Utils.gps2pixel(Poly['points'],geot) - (Points[0][0], Points[0][1])]), np.mean([y[1] for y in Utils.gps2pixel(Poly['points'],geot) - (Points[0][0], Points[0][1])]) , \n",
" str(Poly['id']), bbox=dict(facecolor='red', alpha=0.0), fontsize=8)\n",
"\n",
" ax.add_patch(poly)\n"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x7f11b8a6d8d0>"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"text/plain": [
"<Figure size 432x288 with 0 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 288x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"Points = Utils.gps2pixel(string['panels']['1']['points'], geot) + matrix_expand_bounds\n",
"plt.figure(0)\n",
"plt.figure(figsize=(4, 4))\n",
"plt.imshow(GR_T.raster[0,Points[0][1] : Points[2][1], Points[0][0]: Points[2][0]],cmap = 'gray')\n",
"#plt.imshow((GR_RGB.raster[:3,:,:]).transpose((1, 2, 0))[Points[0][1] : Points[2][1], Points[0][0]: Points[2][0],:])\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'1': {'id': 1,\n",
" 'points': array([[1986, 5309],\n",
" [2026, 5309],\n",
" [2026, 5644],\n",
" [1986, 5644]]),\n",
" 'panels': {'1': {'id': 1,\n",
" 'points': array([[1986, 5309],\n",
" [2006, 5309],\n",
" [2005, 5346],\n",
" [1986, 5346]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '2': {'id': 2,\n",
" 'points': array([[2006, 5309],\n",
" [2025, 5309],\n",
" [2024, 5346],\n",
" [2005, 5346]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '3': {'id': 3,\n",
" 'points': array([[1986, 5346],\n",
" [2005, 5346],\n",
" [2005, 5383],\n",
" [1985, 5383]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '4': {'id': 4,\n",
" 'points': array([[2005, 5346],\n",
" [2024, 5346],\n",
" [2024, 5383],\n",
" [2005, 5383]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '5': {'id': 5,\n",
" 'points': array([[1985, 5383],\n",
" [2005, 5383],\n",
" [2006, 5420],\n",
" [1985, 5420]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '6': {'id': 6,\n",
" 'points': array([[2005, 5383],\n",
" [2024, 5383],\n",
" [2025, 5420],\n",
" [2006, 5420]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '7': {'id': 7,\n",
" 'points': array([[1985, 5420],\n",
" [2006, 5420],\n",
" [2006, 5457],\n",
" [1986, 5457]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '8': {'id': 8,\n",
" 'points': array([[2006, 5420],\n",
" [2025, 5420],\n",
" [2025, 5457],\n",
" [2006, 5457]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '9': {'id': 9,\n",
" 'points': array([[1986, 5457],\n",
" [2006, 5457],\n",
" [2006, 5495],\n",
" [1986, 5495]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '10': {'id': 10,\n",
" 'points': array([[2006, 5457],\n",
" [2025, 5457],\n",
" [2025, 5495],\n",
" [2006, 5495]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '11': {'id': 11,\n",
" 'points': array([[1986, 5495],\n",
" [2006, 5495],\n",
" [2006, 5532],\n",
" [1986, 5532]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '12': {'id': 12,\n",
" 'points': array([[2006, 5495],\n",
" [2025, 5495],\n",
" [2025, 5532],\n",
" [2006, 5532]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '13': {'id': 13,\n",
" 'points': array([[1986, 5532],\n",
" [2006, 5532],\n",
" [2006, 5569],\n",
" [1986, 5569]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '14': {'id': 14,\n",
" 'points': array([[2006, 5532],\n",
" [2025, 5532],\n",
" [2025, 5569],\n",
" [2006, 5569]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '15': {'id': 15,\n",
" 'points': array([[1986, 5569],\n",
" [2006, 5569],\n",
" [2005, 5606],\n",
" [1985, 5606]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '16': {'id': 16,\n",
" 'points': array([[2006, 5569],\n",
" [2025, 5569],\n",
" [2024, 5606],\n",
" [2005, 5606]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '17': {'id': 17,\n",
" 'points': array([[1985, 5606],\n",
" [2005, 5606],\n",
" [2006, 5643],\n",
" [1985, 5643]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '18': {'id': 18,\n",
" 'points': array([[2005, 5606],\n",
" [2024, 5606],\n",
" [2025, 5643],\n",
" [2006, 5643]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0}},\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '2': {'id': 2,\n",
" 'points': array([[2095, 5322],\n",
" [2135, 5322],\n",
" [2135, 5993],\n",
" [2095, 5993]]),\n",
" 'panels': {'1': {'id': 1,\n",
" 'points': array([[2095, 5322],\n",
" [2115, 5322],\n",
" [2115, 5359],\n",
" [2095, 5359]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '2': {'id': 2,\n",
" 'points': array([[2115, 5322],\n",
" [2134, 5322],\n",
" [2134, 5359],\n",
" [2115, 5359]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '3': {'id': 3,\n",
" 'points': array([[2095, 5359],\n",
" [2115, 5359],\n",
" [2115, 5396],\n",
" [2095, 5396]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '4': {'id': 4,\n",
" 'points': array([[2115, 5359],\n",
" [2134, 5359],\n",
" [2134, 5396],\n",
" [2115, 5396]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '5': {'id': 5,\n",
" 'points': array([[2095, 5396],\n",
" [2115, 5396],\n",
" [2115, 5433],\n",
" [2095, 5433]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '6': {'id': 6,\n",
" 'points': array([[2115, 5396],\n",
" [2134, 5396],\n",
" [2134, 5433],\n",
" [2115, 5433]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '7': {'id': 7,\n",
" 'points': array([[2095, 5433],\n",
" [2115, 5433],\n",
" [2115, 5471],\n",
" [2095, 5471]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '8': {'id': 8,\n",
" 'points': array([[2115, 5433],\n",
" [2134, 5433],\n",
" [2134, 5471],\n",
" [2115, 5471]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '9': {'id': 9,\n",
" 'points': array([[2095, 5471],\n",
" [2115, 5471],\n",
" [2115, 5508],\n",
" [2095, 5508]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '10': {'id': 10,\n",
" 'points': array([[2115, 5471],\n",
" [2134, 5471],\n",
" [2134, 5508],\n",
" [2115, 5508]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '11': {'id': 11,\n",
" 'points': array([[2095, 5508],\n",
" [2115, 5508],\n",
" [2115, 5545],\n",
" [2095, 5545]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '12': {'id': 12,\n",
" 'points': array([[2115, 5508],\n",
" [2134, 5508],\n",
" [2134, 5545],\n",
" [2115, 5545]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '13': {'id': 13,\n",
" 'points': array([[2095, 5545],\n",
" [2115, 5545],\n",
" [2115, 5582],\n",
" [2095, 5582]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '14': {'id': 14,\n",
" 'points': array([[2115, 5545],\n",
" [2134, 5545],\n",
" [2134, 5582],\n",
" [2115, 5582]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '15': {'id': 15,\n",
" 'points': array([[2095, 5582],\n",
" [2115, 5582],\n",
" [2115, 5620],\n",
" [2095, 5620]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '16': {'id': 16,\n",
" 'points': array([[2115, 5582],\n",
" [2134, 5582],\n",
" [2134, 5620],\n",
" [2115, 5620]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '17': {'id': 17,\n",
" 'points': array([[2095, 5620],\n",
" [2115, 5620],\n",
" [2115, 5657],\n",
" [2095, 5657]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '18': {'id': 18,\n",
" 'points': array([[2115, 5620],\n",
" [2134, 5620],\n",
" [2134, 5657],\n",
" [2115, 5657]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '19': {'id': 19,\n",
" 'points': array([[2095, 5657],\n",
" [2115, 5657],\n",
" [2115, 5694],\n",
" [2095, 5694]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '20': {'id': 20,\n",
" 'points': array([[2115, 5657],\n",
" [2134, 5657],\n",
" [2134, 5694],\n",
" [2115, 5694]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '21': {'id': 21,\n",
" 'points': array([[2095, 5694],\n",
" [2115, 5694],\n",
" [2115, 5732],\n",
" [2095, 5732]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '22': {'id': 22,\n",
" 'points': array([[2115, 5694],\n",
" [2134, 5694],\n",
" [2134, 5732],\n",
" [2115, 5732]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '23': {'id': 23,\n",
" 'points': array([[2095, 5732],\n",
" [2115, 5732],\n",
" [2115, 5769],\n",
" [2095, 5769]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '24': {'id': 24,\n",
" 'points': array([[2115, 5732],\n",
" [2134, 5732],\n",
" [2134, 5769],\n",
" [2115, 5769]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '25': {'id': 25,\n",
" 'points': array([[2095, 5769],\n",
" [2115, 5769],\n",
" [2115, 5806],\n",
" [2095, 5806]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '26': {'id': 26,\n",
" 'points': array([[2115, 5769],\n",
" [2134, 5769],\n",
" [2134, 5806],\n",
" [2115, 5806]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '27': {'id': 27,\n",
" 'points': array([[2095, 5806],\n",
" [2115, 5806],\n",
" [2115, 5843],\n",
" [2095, 5843]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '28': {'id': 28,\n",
" 'points': array([[2115, 5806],\n",
" [2134, 5806],\n",
" [2134, 5843],\n",
" [2115, 5843]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '29': {'id': 29,\n",
" 'points': array([[2095, 5843],\n",
" [2115, 5843],\n",
" [2115, 5881],\n",
" [2095, 5881]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '30': {'id': 30,\n",
" 'points': array([[2115, 5843],\n",
" [2134, 5843],\n",
" [2134, 5881],\n",
" [2115, 5881]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '31': {'id': 31,\n",
" 'points': array([[2095, 5881],\n",
" [2115, 5881],\n",
" [2115, 5918],\n",
" [2095, 5918]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '32': {'id': 32,\n",
" 'points': array([[2115, 5881],\n",
" [2134, 5881],\n",
" [2134, 5918],\n",
" [2115, 5918]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '33': {'id': 33,\n",
" 'points': array([[2095, 5918],\n",
" [2115, 5918],\n",
" [2115, 5955],\n",
" [2095, 5955]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '34': {'id': 34,\n",
" 'points': array([[2115, 5918],\n",
" [2134, 5918],\n",
" [2134, 5955],\n",
" [2115, 5955]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '35': {'id': 35,\n",
" 'points': array([[2095, 5955],\n",
" [2115, 5955],\n",
" [2115, 5992],\n",
" [2095, 5992]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '36': {'id': 36,\n",
" 'points': array([[2115, 5955],\n",
" [2134, 5955],\n",
" [2134, 5992],\n",
" [2115, 5992]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0}},\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '3': {'id': 3,\n",
" 'points': array([[1984, 5667],\n",
" [2023, 5667],\n",
" [2023, 6002],\n",
" [1984, 6002]]),\n",
" 'panels': {'1': {'id': 1,\n",
" 'points': array([[1984, 5667],\n",
" [2003, 5667],\n",
" [2003, 5704],\n",
" [1984, 5704]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '2': {'id': 2,\n",
" 'points': array([[2003, 5667],\n",
" [2022, 5667],\n",
" [2022, 5704],\n",
" [2003, 5704]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '3': {'id': 3,\n",
" 'points': array([[1984, 5704],\n",
" [2003, 5704],\n",
" [2003, 5741],\n",
" [1984, 5741]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '4': {'id': 4,\n",
" 'points': array([[2003, 5704],\n",
" [2022, 5704],\n",
" [2022, 5741],\n",
" [2003, 5741]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '5': {'id': 5,\n",
" 'points': array([[1984, 5741],\n",
" [2003, 5741],\n",
" [2003, 5778],\n",
" [1984, 5778]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '6': {'id': 6,\n",
" 'points': array([[2003, 5741],\n",
" [2022, 5741],\n",
" [2022, 5778],\n",
" [2003, 5778]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '7': {'id': 7,\n",
" 'points': array([[1984, 5778],\n",
" [2003, 5778],\n",
" [2003, 5815],\n",
" [1984, 5815]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '8': {'id': 8,\n",
" 'points': array([[2003, 5778],\n",
" [2022, 5778],\n",
" [2022, 5815],\n",
" [2003, 5815]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '9': {'id': 9,\n",
" 'points': array([[1984, 5815],\n",
" [2003, 5815],\n",
" [2003, 5853],\n",
" [1983, 5853]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '10': {'id': 10,\n",
" 'points': array([[2003, 5815],\n",
" [2022, 5815],\n",
" [2022, 5853],\n",
" [2003, 5853]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '11': {'id': 11,\n",
" 'points': array([[1983, 5853],\n",
" [2003, 5853],\n",
" [2003, 5890],\n",
" [1984, 5890]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '12': {'id': 12,\n",
" 'points': array([[2003, 5853],\n",
" [2022, 5853],\n",
" [2022, 5890],\n",
" [2003, 5890]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '13': {'id': 13,\n",
" 'points': array([[1984, 5890],\n",
" [2003, 5890],\n",
" [2003, 5927],\n",
" [1984, 5927]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '14': {'id': 14,\n",
" 'points': array([[2003, 5890],\n",
" [2022, 5890],\n",
" [2022, 5927],\n",
" [2003, 5927]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '15': {'id': 15,\n",
" 'points': array([[1984, 5927],\n",
" [2003, 5927],\n",
" [2003, 5964],\n",
" [1984, 5964]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '16': {'id': 16,\n",
" 'points': array([[2003, 5927],\n",
" [2022, 5927],\n",
" [2022, 5964],\n",
" [2003, 5964]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '17': {'id': 17,\n",
" 'points': array([[1984, 5964],\n",
" [2003, 5964],\n",
" [2003, 6001],\n",
" [1984, 6001]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0},\n",
" '18': {'id': 18,\n",
" 'points': array([[2003, 5964],\n",
" [2022, 5964],\n",
" [2022, 6001],\n",
" [2003, 6001]], dtype=uint64),\n",
" 'status': 'default',\n",
" 'T': 0}},\n",
" 'status': 'default',\n",
" 'T': 0}}"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"L_strings"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"\"\"\"\"\n",
"plt.figure(0)\n",
"plt.figure(figsize=(8, 8))\n",
"path_String = \"El_Aguila_2020/Thermo_String.tif\"\n",
"GR_String = gr.from_file(path_String)\n",
"\n",
"A = GR_String\n",
"A.raster.data[:, :1900] = 0\n",
"A.raster.mask[:, :1900] = True\n",
"A.raster.data[:5000, :] = 0\n",
"A.raster.mask[:5000, :] = True\n",
"\n",
"A.to_tiff(\"El_Aguila_2020/Thermo_String_PV03\")\n",
"plt.imshow(A.raster.data)\n",
"\"\"\""
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
2020-11-13 00:19:20 -03:00
"version": "3.7.6"
2020-11-02 18:55:35 -03:00
}
},
"nbformat": 4,
"nbformat_minor": 4
}