Archives: junio 2015

MeshlabServer – Aplicación de filtros de Meshlab en lote

En mi día a día trabajo con información tridimensional y hago tratamiento de la misma mediante una herramienta que se ha convertido para mí en un imprescindible. Se trata de Meshlab.

Meshlab es una herramienta Open Source  muy potente que permite el manejo y procesamiento de información 3D. Lo que hace realmente potente a Meshlab, son la cantidad de filtros para procesar esa información, y que más de uno ha pensado en usar como herramienta para hacer cierto procesamiento de un Dataset de información.

Cuando se descargan los binarios de Meshlab, se incluyen dos ejecutables: meshlab y meshlabserver. El primero es obvio para qué sirve, porque se trata del ejecutable que lanza Meshlab para ser utilizado por medio de la interfaz gráfica. El segundo es una ejecutable que nos permite procesar un Dataset completo, usando los filtros de Meshlab, mediante la configuración de un script MLX y prescindiendo de la interfaz gráfica.

Generar el script es tan sencillo como abrir Meshlab y aplicar todos los filtros que deseemos en el Dataset. Veamos un ejemplo.

Yoshi

Tenemos la malla de un modelo 3D de Yoshi como Dataset, pero dicho modelo tiene un agujero en la parte inferior.

Yoshi_with_hole

Meshlab dispone entre sus filtros de uno que se llama "Close Holes", que nos vendrá de perlas para este caso. Vamos a la sección "Filters" y los buscamos.

Meshlab_close_hole

Parametrizamos el filtro como mejor consideremos y le damos a aplicar. Como podemos ver el agujero de la parte inferior queda cerrado.

Yoshi_no_hole

Para generar el script del filtro que acabamos de aplicar y que vemos que da buenos resultados, volvemos a ir a "Filters", y seleccionamos "Show current filter script". Se nos abrirá una ventana como la siguiente:

Meshlab_script

Aquí están todas las acciones que van a constituir nuestro script, en nuestro caso sólo vamos a usar "Close Holes". En esta ventana podemos editar el orden de los filtros que vamos a aplicar, los parámetros  de cada script, borrar un  filtro del script... Cuando todo está en orden guardamos el script, el cual será guardado en formato MLX.

Para aplicar las acciones en lote sólo tenemos que usar el ejecutable meshlabserver indicándole los parámetros necesarios para su funcionamiento (input, output y script de filtros XML). Para ver la parametrización de meshlabserver podemos acudir a su comando de ayuda de la siguiente forma:

meshlabserver -help
Usage:
    meshlabserver arg1 arg2 ...
where args can be:
 -i [filename...]  mesh(s) that has to be loaded
 -o [filename...]  mesh(s) where to write the result(s)
 -s filename		    script to be applied
 -d filename       dump on a text file a list of all the filtering fucntion
 -l filename       the log of the filters is ouput on a file
 -om options       data to save in the output files: vc -> vertex colors, vf -> vertex flags, vq -> vertex quality, vn-> vertex normals, vt -> vertex texture coords,  fc -> face colors, ff -> face flags, fq -> face quality, fn-> face normals,  wc -> wedge colors, wn-> wedge normals, wt -> wedge texture coords
Example:
	'meshlabserver -i input.obj -o output.ply -s meshclean.mlx -om vc fq wn'

Notes:

There can be multiple meshes loaded and the order they are listed matters because
filters that use meshes as parameters choose the mesh based on the order.
The number of output meshes must be either one or equal to the number of input meshes.
If the number of output meshes is one then only the first mesh in the input list is saved.
The format of the output mesh is guessed by the used extension.
Script is optional and must be in the format saved by MeshLab.

De esta forma podemos aplicar una sucesión de operaciones de Meshlab en el Dataset que queramos con muy poco esfuerzo.

Clef – Inicio de sesión fácil y seguro

Todos los días manejamos un infinidad de accesos distintos para servicios web. Por seguridad deberíamos usar claves distintas para cada uno de los servicios en los que nos registramos, pero lo cierto es que terminamos usando variaciones de una misma clave o simplemente la misma. Esto a todas luces entraña su riesgo, puesto que desvelar una clave en cualquiera de los muchos servicios que usamos, conlleva comprometer el resto de accesos web. Puedes comprobar si este es tu caso gracias a servicios como "Have I been pawned?":

https://haveibeenpwned.com

clef_desktop

Clef es un servicio gratuito de autenticación e inicio de sesión único, simple y seguro. Se trata de un servicio que hace uso de tu smartphone para poder abrir la sesión de tus servicios web.

https://getclef.com

Clef se instala en tu móvil Android o IOS  y queda protegida su apertura mediante un PIN que pondremos durante su instalación. A partir de este momento podremos unificar todos los accesos usando Clef.

Clef simplifica el acceso y lo hace más rápido y cómodo, usando dos credenciales para idetificarnos. Por un lador el propio móvil, que se usa para escanear el código que se nos presenta, y el PIN que es algo que sabemos. De esta forma un elemento cotidiano que todos llevamos encima como es el smartphone, se convierte junto a un PIN, en tus credenciales de acceso para todos aquellos servicios web que estén integrados con Clef. Este modelo de autenticación de dos factores es un modelo clásico, siendo similar al de las tarjetas de crédito, que para hacer uso de las mismas es necesario la tarjeta (algo que tenemos) y el PIN (algo que sabemos).

Una vez autenticados en un servicio web, podemos controlar la caducidad de la sesión desde nuestro móvil o cerrarla, si por ejemplo se nos olvidó cerrarla en el equipo donde la abrimos. Además, si en algún momento perdemos el móvil siempre podremos desactivar Clef desde la siguiente dirección:

https://getclef.com/deactivate

Para que quede más claro, el siguiente vídeo ilustra su funcionamiento:

También es posible probar su funcionamiento en la siguiente dirección:

https://getclef.com/tutorial

Aquellos que tengan dudas sobre la seguridad del servicio, a continuación se facilitan los siguientes enlaces, accesibles desde la propia web de Clef:

https://getclef.com/security

https://getclef.com/static/dist/pdf/whitepaper.pdf

Es posible usar Clef en tu blog WordPress, instalándolo como plugin. De esta forma se dota a los usuarios de una manera más simple y segura de acceso al blog, además de eliminar los ataques de fuerza bruta por completo, tan extendidos en el mundo de WordPress. También es posible usar Clef junto la extensión Waltz para navegadores Chrome, para usar Clef como sistema de autenticación para cualquier servicio web. Waltz es además Open Source y su código fuentes puede ser encontrado en Github.