# Readme Stockout Cristóbal ### dowload_facings_and_anotations Descargamos los datos, lo importante: - `DOWNLOAD_ONLY_WITH_ANNOTATIONS` es una variable global que hace que solo se descarguen los facings y las imagenes de los batches que tienen anotaciones. Lleva el registro de qué sesiones tienen anotaciones usando el `set()` `BATCHES_WITH_ANNOTATIONS`. - El `CATEGORY_MAP` hay muchas categorias en la base de datos porque cualquier usuario puede crearlas. Entonces, se usa un mapeo que debe asignar para cada categoría un valor o `NaN`. Los `NaN` se ignoran (no se guardan). Si no existe mapeo para alguna categoría se va a caer el programa. Descarga los datos a `DATA_ROOT` + `raw_data`. Por cada batch se genera un directorio que contiene los archivos: - `[batch_name]_rgb.jpg` (la imagen RGB) - `[batch_name]_depth.png` (la imagen en profundidad) - `info_facings.json` (con las detecciones del robot) - `custom_facings.json` (con las anotaciones) ### select_test_batches Elige algunos (10\%) batches (pasillos de un supermercado en una fecha específica) para guardar para testear. Genera un `.pkl` (pickle): ~~~js { "train": ["batch_1_train", ...], "test": ["batch_1_test", ...], } ~~~ ### crop_and_generate_gt Primero elimina los margenes negros y concatena los canales rgb + d (rgb y profundidad). Luego se sacan *crops* cuadrados que son escalados para que queden de dimensiones `HEIGHT, WIDTH`, y se guardan los crops. Adicionalmente tambien se escalan las anotaciones que corresponden a cada crop en un archivo pickle `gt.pkl`. ### generate_indices Es importante que se pueden filtrar sesiones con error usando la lista global `BAD_SESSIONS`. Genera dos arreglos de *numpy* comprimidos en archivos `.npz` con los indices que corresponden al `gt.pkl` para usarlo para obtener el crop y las anotaciones correspondientes.