detector_aedes package

Submodules

detector_aedes.analyzers module

class detector_aedes.analyzers.EggFinder[source]
DATA_PATH = '/home/docs/checkouts/readthedocs.org/user_builds/detector-aedes/checkouts/latest/detector_aedes/models/aedes-data-model.pkl'
MODEL_PATH = '/home/docs/checkouts/readthedocs.org/user_builds/detector-aedes/checkouts/latest/detector_aedes/models/aedes-model.pkl'
STANDARD_AREA = 9.25e-05
STANDARD_MAJOR_AXIS = 0.0185
STANDARD_MINOR_AXIS = 0.005
TOL = 1
base_path = '/home/docs/checkouts/readthedocs.org/user_builds/detector-aedes/checkouts/latest/detector_aedes'
classify()[source]
find_in(image, method='threshold')[source]
push_user_input(measures, targets)[source]
save_data()[source]

Guardar datos de entrenamiento

save_model()[source]

Guardar modelo entrenado

start_trainning()[source]
test_model()[source]

Medir el desempeño del clasificador

class detector_aedes.analyzers.EllipseFinder[source]

Busca elipses del tamaño definido en la configuración.

static calculate_contrast(img, mask)[source]

Calcula el contraste en una imagen en base a una mascara.

static cut_region(centroid, img, delta=15, target_max=False)[source]

Recorta una region cuadrada alrededor de un punto.

Luego de hacer el recorte se aplica un umbral con el metodo de Otsu para binarizar la imagen. Se conserva solo la region mas grande o la mas centra segun el valor de target_max

Parameters:
  • centroid (tuple of floats) – Coordenadas (fila, columna) del centro alredeor del cual se recorta.
  • img (numpy array) – Imagen base a recortar.
  • delta (int) – Se recorta una distancia de +- delta alredeor del centro
  • target_max (bool) – Si es True, solo se conserva la region conexa mas grande. Si es False, se conserva la region conexa que esta en el centro.
find_in(img_g, limits=None, max_thres=0.6, thresh_step=0.05, dmin=None, show_settings=False)[source]

Busca elipses del tamaño definido en la configuración.

Para esto aplica una serie sucesiva de umbrales entre 0 y max_thres de a pasos definidos por thresh_step. En cada etapa busca manchas conexas de tamanios definidos en el archivo de configuracion e intenta ajustarlos por una o mas elipses

Parameters:
  • img_g (np.array) – Imagen a analizar, si no es blanco y negro se convierte automaticamente.
  • limits (number) – Angulos y distancias de los bordes del bajalenguas (segun se obtienen de StickAnalizerHough).
  • max_thres (float, optional) – Maximo valor de intenisdad a usar como umbral para la imagen (0 es negro 1 es blanco)
  • tresh_step (float, optional) – Centroide de la elipse
  • dmin (int, optional) – Tamaño del template (matriz de res x res)
  • show_settings (bool, optional) – Tamaño del template (matriz de res x res
Returns:

Estado en el que termino la busqueda. res (numpy.array): Array de Nx5 donde N es el numero de regiones

halladas. Las cinco columnas corresponden a las siguientes propiedades de cada region: centroide_i, centroide_j, correlacion, contraste, aspecto.

Return type:

status (str)

static generate_template(minor_axis, major_axis, angle, centroid, res)[source]

Crea un template de huevo.

Parameters:
  • minor_axis (-) – Eje menor de la elipse.
  • major_axis (-) – Eje mayor de la elipse.
  • angle (-) – Angulo de la elipse.
  • centroid (-) – Centroide de la elipse
  • res (-) – Tamaño del template (matriz de res x res)
Returns:

template de un huevo de acuerdo a los parametrs dados.

Return type:

  • template (res x res array)

class detector_aedes.analyzers.SearchParams(im_size, limits, dmin)[source]

Parametros geometricos para EllipseFinder

STANDARD_AREA = 7.264933011426397e-05
STANDARD_MAJOR_AXIS = 0.0185
STANDARD_MINOR_AXIS = 0.005
TOL = 1.7
TRY_EGGS = [2, 3, 4]
class detector_aedes.analyzers.StickAnalizer(lowres_width=100)[source]

Clase base para buscar el bajalenguas.

set_current_image(image)[source]

Definir la imagen de trabajo.

class detector_aedes.analyzers.StickAnalizerHough(lowres_width=100)[source]

Bases: detector_aedes.analyzers.StickAnalizer

Busca lineas de Hough paralelas

get_limits(max_width_proportion=0.45)[source]

Busca dos lineas paralelas que correspondan al bajalenguas

Parameters:max_width_proportion (float) – Maxima proporcion del alto de la imagen (considerada apaisada) que puede abarcar el ancho del bajalenguas.
Returns:Una descripcion del resultado de la busqueda. limits ([angles, dists]): Contiene dos numpy arrays. El primero
contiene dos angulos y el segundo dos distancias. Cada par de angulo-distancia define la recta de arriba y de abajo del bajalenguas.
Return type:status (str)
class detector_aedes.analyzers.StickAnalizerMulti(*args, **kwargs)[source]

Bases: detector_aedes.analyzers.StickAnalizer

Busca el bajalenguas con tres metodos distintos.

Los tres metodos son:
  • A partir de los bordes.
  • Por el color.
  • Umbral de brillo.
static binary_by_colors(img, target_colors, thresh=0.1)[source]

Segmentacion por color

static binary_by_edges(img_g)[source]

Segmentacion por bordes

static binary_by_thresholding(img_g)[source]

Segmentacion por umbral de intensidad

calculate_disparity(rprops, imarea, method='props')[source]

Calcula la disparidad entre todas las regiones candidatas y las propiedades objetivo elegidas en la configuracion

Parameters:
  • rprops (-) – Lista de propiedades de las regiones candidatas
  • imarea (-) – Area de la imagen
  • method (-) –

    Metodo a utilizar para comparar las regiones con el objetivo. (Puede ser props o hu)

    • props: usa tres propiedades geometricas.
    • hu: usa los hu-moments
get_clipped_image()[source]

Devuelve la imagen recortada.

polish_mask(binary_mask)[source]

Elije la mejor region y completa huecos

detector_aedes.connectors module

One liner

Description....

class detector_aedes.connectors.FileOutputConnector(file_name)[source]

Simple File Writer

write_output(image_id, status, egg_count, doubt_count)[source]

Escribe una linea en el archivo CSV con id, status y cantidad

class detector_aedes.connectors.FolderInputConnector(base_path)[source]

Conector para obtener imagenes de la carpeta ubicada en base_path

get_image(fileid)[source]

Devuelve un numpy array con la imagen correspondiente a ese archivo

get_image_ids()[source]

Devuelve una lista con todas los nombres de archivo de imagenes en la carpetas.

class detector_aedes.connectors.FusionTablesOutputConnector[source]

TODO

class detector_aedes.connectors.ODKInputConnector(user, password, formID)[source]

Conector para obtener imagenes del servidor de Open Data Kit

get_image(uuid)[source]

Devuelve un numpy array con la imagen correspondiente a ese uuid

get_image_ids()[source]

Devuelve una lista con todas las uuids de imagenes en el servidor

detector_aedes.detector_aedes module

One liner

Description....

class detector_aedes.detector_aedes.AedesDetector(input_connector, output_connector=None)[source]

Detector de Huevos en Ovisensores.

AedesDetector(input_connector, output_connector) Algoritmos de vision computacional para reconocer la presencia de huevos en fotos de ovisensores.

Args:
input_connector (:obj:): Conector a la fuente de imagenes a
analizar.
output_connector (:obj:): Conector a la salida de los resulados del
análisis.
classify(method=u'Threshods')[source]
plot_classification()[source]

Graficar la clasificacion par una dada imágen

plot_selector(show_mask=False)[source]

Graficar los puntos candidatos y permitir al usuario elegir los positivos.

USO:
  • Hacer click sobre todos los candidatos considerados positivos

(van a cambiar de color).

  • Apretar N para pasar a la imagen siguiente
process(image_id=None, show_results=False, start_from=0)[source]

Función principal para procesar las imágenes disponibles.

Parameters:
  • image_id (str, optional) – Este parametro debe corresponder al ID de una imagen. Si está definido se procesa solo esa imagen.
  • show_results (bool, optional) – Mostrar un gráfico del procesamiento para cada imagen a medida que se procesan.
  • start_from (int, optional) – Comienza a analizar a partir de la imagen start_from-ésima imagen.

detector_aedes.image_connectors module

One liner

Description....

class detector_aedes.image_connectors.FolderConnector(base_path)[source]

Conector para obtener imagenes de la carpeta ubicada en base_path

get_image(fileid)[source]

Devuelve un numpy array con la imagen correspondiente a ese archivo

get_image_ids()[source]

Devuelve una lista con todas los nombres de archivo de imagenes en la carpetas.

class detector_aedes.image_connectors.ODKConnector(user, password, formID)[source]

Conector para obtener imagenes del servidor de Open Data Kit

BLOBKEY_BASE = u'build_Sensores-SIMAE_1480963445[@version=null and @uiVersion=null]/data[@key=%s]/imagen'
URL_BINARYDATA = u'http://simae.msgc.gcba/view/binaryData'
URL_ENTRIES = u'http://simae.msgc.gcba/view/submissionList'
get_image(uuid)[source]

Devuelve un numpy array con la imagen correspondiente a ese uuid

get_image_ids()[source]

Devuelve una lista con todas las uuids de imagenes en el servidor

detector_aedes.old_detector_aedes module

Detector de huevos de Aedes

Rutinas para identificar la lengueta de madera en fotos de ovitrampas y luego detectar la presencia de huevos de mosquito sobre la misma.

Module contents