Instalacion de PyQt

Este es un post-ayudamemoria para la instalación de PyQt en un entorno virtual. Tengo la impresión de que lo escribí ya en el blog pero no lo encuentro ni con los buscadores más buscados (ag, ack, pt): Activar el virtualenv, asumiendo que están instalados pyenv y pyenv-virtualenvs (también tendría que agregar el tutorial para usarlos, pero es demasiado para el propósito del día de hoy, aunque "hoy" no tiene sentido para un texto perdido en la web). Supongamos que el entorno se llama "lab": ...

April 19, 2018 · 2 min · 417 words · Diego Efe

Panel frontal del software

Una vez más me encuentro ante el desafío de armar un panel para un programa de análisis de datos, hecho en Python. Lo ideal sería trabajar con lineas de comandos y no tener que estar lidiando con menúes, botones y areas de graficación, pero sería impractico para los usuarios a quienes está destinado el programa. Así que nuevamente tengo que rastrear cómo se arma una pantalla con todas estas cosas. ...

September 1, 2016 · 2 min · 421 words · Diego Efe

Diccionario de funciones

Mientras escribo un programa para manipular imágenes de un microscopio, tuve que ver cómo ejecutar una función distinta, de acuerdo a cierto parámetro. Más concretamente, para procesar las imágenes en algunos casos se necesita un kernel, que es una matriz llena de unos y ceros organizados de acuerdo a la selección de dos parámetros: forma y tamaño. Por ejemplo, un "disco" de radio 3 se vería así: [[0 0 0 1 0 0 0] [0 1 1 1 1 1 0] [0 1 1 1 1 1 0] [1 1 1 1 1 1 1] [0 1 1 1 1 1 0] [0 1 1 1 1 1 0] [0 0 0 1 0 0 0]] Y una matriz "cuadrada" de lado 3, así: ...

December 11, 2015 · 1 min · 207 words · Diego Efe

Python en Emacs y otros atajos

Spacemacs Anaconda-mode: Emacs tiene muchas herramientas para facilitar la programación en Python. En Spacemacs se puede activar anaconda-mode, que habilita una serie de paquetes útiles. Por ejemplo "eldoc" que ofrece información en el modeline sobre la función que se está tipeando (muestra los nombres de sus argumentos). Cosas de Anaconda para usar: anaconda-mode-complete (C-M-i) anaconda-mode-find-definitions (SPC m g g): busca el origen del símbolo bajo el punto. Por ejemplo: si se trata de una función, abre el archivo donde está definida y ubica el punto sobre el encabezado de la misma. anaconda-mode-find-assignments anaconda-mode-find-references anaconda-mode-go-back anaconda-mode-show-doc Entornos virtuales: se puede activar un entorno virtual donde correr el programa que se está desarrollando con SPC m V (pyvenv-workon, pero en este caso no aparecen correctamente todas las opciones, al menos no veo los entornos que instalé con pyenv), o también con SPC m v s (pyenv-mode-set, en este caso sí se ven los entornos de pyenv). ...

September 24, 2015 · 3 min · 519 words · Diego Efe

Listas en Python

Apuntes del capítulo 10. Lists, de Think Python. Traversing To traverse es el verbo que se refiere al acceso secuencial de los elementos de una lista. La siguiente es una forma de "traversear" una lista: for cheese in cheeses: print cheese Si se necesita modificar algún elemento de la lista es mejor hacer: for i in range(len(numbers)): numbers[i] = numers[i] * 2 Agregar elementos a una lista Se pueden agregar elementos individuales a una lista con append. ...

October 15, 2014 · 3 min · 476 words · Diego Efe

Autoaprendizajes

No recuerdo en qué momento fue que pronuncié las palabras mágicas, pero cuando sea que haya ocurrido, se abrieron portales hacia temas inexplorados dentro de un mundo que creía conocer. En los últimos meses (¿10? ¿20?) me encontré con: un lenguaje de programación fantástico por su sencillez y potencia (Python), junto con un conjunto de librerías para tareas científicas: matplotlib, numpy, pandas, etc. la idea del control de versiones (que es una herramienta magnífica para quienes escribimos todo tipo de textos que al ir corrigiendo dejan una huella dificil de seguir desde su versión inicial hacia su versión actual, ya sea que se trate de programas, entradas de blog o informes científicos o técnicos). En particular Git y GitHub. el deseo de colaborar en el desarrollo colectivo de software, cosa que creo que en el futuro de mediano plazo espero concretar. Avancé con el aprendizaje de Emacs (con Prelude, actualmente en uso, y Ergoemacs, que por el momento dejé de usar pero igual creo que está buenísimo, de ahí surgió el interés por los teclados con distribución Dvorak que uso actualmente), descubrí el IPython Notebook (y encadenado con eso ahora descubrí el lenguaje Julia). Aca pueden ver una imagen del IPython Notebook mientras lo usaba para un trabajo de Dosimetría. ...

October 10, 2014 · 3 min · 510 words · Diego Efe

Apuntes sobre matplotlib

Estos son algunos apuntes extraidos principalmente del tutorial de Artist. Matplotlib Matplotlib is the whole package pylab a module in matplotlib installed alongside matplotlib preferred for interactive calculations and plotting matplotlib.pyplot a module in matplotlib provides the state machine interface to the underlying plotting library in matplotlib combines the pyplot functionality (for plotting) with numpy functionality in a single namespace figures and axes are implicitly and automatically created to achieve the desired plot preferred for scripting Artist Artist has three layers: ...

August 3, 2014 · 2 min · 346 words · Diego Efe

Comunicacion USB con mbed

La comunicación mediante USB con microcontroladores me viene un escollo permanente. El protocolo en sí tiene una complejidad que dispuesto a dedicarle, sobre todo porque empecé a leer varias veces sobre el mismo y siempre me encuentro dando vueltas alrededor de detalles que parecen demasiado específicos y alejados de lo que yo necesito lograr. Decidí hacer la prueba con mbed, ya que tengo una placa kinetis frdm-kl25z de freescale, con la cual hay unos ejemplos de comunicación que parecen muy sencillos. ...

July 31, 2014 · 3 min · 627 words · Diego Efe