PDF de programación - python hasta en los rincones o como una serpiente se puede comer un león

Imágen de pdf python hasta en los rincones o como una serpiente se puede comer un león

python hasta en los rincones o como una serpiente se puede comer un leóngráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.285 visualizaciones desde el 14 de Enero del 2017
6,1 MB
58 paginas
Creado hace 10a (22/11/2013)
Python hasta en los Rincones
o como una serpiente se puede comer un león

Uso de Python en el proyecto Meer para la generación automática de aplicaciones para termi-
nales móviles inteligentes a partir de informes DICOM-SR

Bon dia

• Creado en 1986 por el Profesor Vicente

Hernández García.

• Desarrollo y aplicación de las tecno-

logías Grid y la Computación de Altas
Prestaciones en ámbitos como la inge-
niería, la biomedicina, el e-Gobierno o la
computación científica.

• 28 miembros y participamos en un nú-

mero significativo de proyectos

Mayte Giménez

• Ingeniera Informática
• Máster Universitario en Inteligencia Arti-
ficial, Reconocimiento de Formas e Ima-
gen Digital (*)

• Grado en Bellas Artes (*)

Jon Nieve

• No sabe nada.
(*) Cursando

ÍNDICE

1. La fábula del león y la serpiente:
1.1. Escenario.
1.2. Motivación.
1.4. Objetivos.
1.6. Solución.
1.5. Las tripas de la solución.
2. Las uñas del león:



3. El arte de la guerra:



2.1. Dicom SR.
2.2. XML.
2.3. Android.

3.1. Generación automática de código.
3.2. Python.
3.3. Python zen.

4. El veneno de la serpiente:
4.1. Cómo unen todas las piezas.

4.2. Entornos virtuales.

4.3. Analizadores sintácticos.

4.4. Registros.

4.5. Diccionarios vs. clases.
4.6. Plantillas y configuración.

5. Moraleja.

Una serpiente se puede comer un león
En trozos pequeños y con los dientes afilados

El león en su sabana
Definición del escenario del problema.

Dispositivos para capturar

imagen médica

Estaciones de trabajo

Servidores

Componentes principales de los PACs

• Imágen médica digital revolu-

ciona la práctica clínica.

• Sistemas de Adquisición y Pro-

cesado de Imagen Médica
(PACs).

• Uso de estándar DICOM.

• Estándar para informes médi-
cos estructurados DICOM-SR.
• Información no ambigua y

• Cuello de botella en la adqu-

jerárquica.

sición.

¿No puede la serpiente ser vegetariana?
Ó porque nos decidimos a abordar este problema

• Trabajos previos del grupo de investigación, publicados en:

Maestre C, Segrelles-Quilis JD, Torres E, Blanquer I, Medina R, Hernández V, Martí
L. Assessing the Usability of a Science Gateway for Medical Knowledge Bases with
TRENCADIS. J Grid Computing 2012; 10:665–688.

• Utilización de interfaz web para introducir informes médicos estructurados:

• Más fácil e intuitivo.
• Sencillo de aprender.
• Pero menos productivo.

• Para mejorar estos resultados se solicitó el siguiente proyecto financiado por la UPV

dentro del programa PAID:

Diseño de Componentes Cloud Facilitadores del Despliegue y la Alta Disponibilidad
de Servicios TRENCADIS, para compartir Imágenes Médicas DICOM e informes Aso-
ciados DICOM-SR

OBjetivos

Meer
• Desarrollar una aplicación que automá-
ticamente genere una aplicación para
Android que permitan la introducción de
informes DICOM-SR.

• Interacción con el usuario simple.
• Aumentar la productividad al introducir
informes médicos estructurados, apro-
vechando las nuevas tecnologías.

Charla
• Analizadores sintácticos.
• Generación automática de código.
• Entornos virtuales.
• Configuración.
• Uso de plantillas.
• Código bello para aplicaciones bellas.
• Cómo comerse un león.

La serpiente tras el atracón
Definición de la solución propuesta

• Aplicación Android para rellenar

informes médicos estructura-
dos.

• Aplicación generada automáti-

camente.

• Ventajas de esta solución:

• Interfaz de usuario intuitiva.
• Fácil adopción.
• Sigue el estándar DICOM-SR.
• Solución genérica
• Se adapta a distintos tipos de

informes automáticamente.

Aplicación Android para gestión de informes médicos

Disección de la solución

Plantillas de
informes basados
en DICOM-SR

Plantillas genera-
doras de código

en Jinja2

Generador de

código

Código generado

Aplicación Android

Informe
DICOM-SR

Esqueleto Aplicación

Android

ÍNDICE

1. La fábula del león y la serpiente:
1.1. Escenario.
1.2. Motivación.
1.4. Objetivos.
1.6. Solución.
1.5. Las tripas de la solución.
2. Las uñas del león:



3. El arte de la guerra:



2.1. Dicom SR.
2.2. XML.
2.3. Android.

3.1. Generación automática de código.
3.2. Python.
3.3. Python zen.

4. El veneno de la serpiente:
3.1. Cómo unen todas las piezas.



3.5. Registros.

5. Moraleja.

3.2. Entornos virtuales.
3.3. Diccionarios vs. clases.
3.4. Analizadores sintácticos.
3.6. Plantillas y configuración.

DICOM-SR

• Múltiples beneficios derivados del uso de DICOM-SR:

• Mejora la comunicación entre los profesionales
• Los informes son más precisos y concisos.
• Sistemas asistidos por computador para tomas de decisiones.
• ...

• La adquisición de informes DICOM-SR de modo tradicional es un cuello de botella.

XML
...
<NUM>
<CONCEPT_NAME>

<CODE_VALUE>RID29929</CODE_VALUE>


<CODE_SCHEMA>RADLEX</CODE_SCHEMA>


<CODE_MEANING>Cuadrante Externo Superior de la Mama Derecha</CODE_MEANING>


<CODE_MEANING2>Upper Outer Quadrant of Right Female Breast</CODE_MEANING>
</CONCEPT_NAME>


<PROPERTIES>



</PROPERTIES>
</NUM>
...

<CARDINALITY max=”1” min=”1”/>
<CONDITION_TYPE type=”M”/>
<EXPRESION_CONDITION xquery=””/>
<DEFAULT_VALUE value=”0”/>
<UNIT_MEASUREMENT>

<CONCEPT_NAME>



</CONCEPT_NAME>
</UNIT_MEASUREMENT>

<CODE_VALUE>000000001</CODE_VALUE>
<CODE_SCHEMA>UNIT_MEASUREMENT</CODE_SCHEMA>
<CODE_MEANING>Unidades Boleanas</CODE_MEANING>
<CODE_MEANING2>Boolean Units</CODE_MEANING>

Fragmento de un fichero xml que contiene una plantilla basada en DICOM-SR

Generador de

Android

Código generado

Aplicación Android

Esqueleto Aplicación

Android

ÍNDICE

1. La fábula del león y la serpiente:
1.1. Escenario.
1.2. Motivación.
1.4. Objetivos.
1.6. Solución.
1.5. Las tripas de la solución.
2. Las uñas del león:



3. El arte de la guerra:



2.1. Dicom SR.
2.2. XML.
2.3. Android.

3.1. Generación automática de código.
3.2. Python.
3.3. Python zen.

4. El veneno de la serpiente:
4.1. Cómo unen todas las piezas.

4.2. Entornos virtuales.

4.3. Analizadores sintácticos.

4.4. Registros.

4.5. Diccionarios vs. clases.
4.6. Plantillas y configuración.

5. Moraleja.

“ Los ordenadores son buenos siguiendo
instrucciones, pero no leyendote la mente ”
Donal Knuth

Generación automática de código

Python Genera código

Lenguaje Ventajas
C/ C++

Una vez compilado el usuario no
podrá leer el código fuente (?)
Es un lenguaje rápido. (?)

Java

Python
Ruby
Perl

Una vez compilado el usuario no
podrá leer el código fuente (?)
El código es portable.
Los generadores son fácilmente
escalables.
El análisis de texto es simple.
Existen APIs de XML son simples

Inconvenientes
Está orientado a la gestión de texto plano.
La E/S no es portable.
XML y las expresiones regulares son difíciles
de utilizar.
Fuerte tipado.
No aconsejado para el análisis sintáctico.
Fuerte tipado.
Otros ingenieros pueden necesitar aprender
el lenguaje. (?)

Code generation in action (Jack Herrington)

Python

Plantillas de
informes basados
en DICOM-SR

Generador de

código

Código generado

Bello es mejor que feo.
Python zen.

pep-8
PEP-256

Aplicaciones bellas para código bello
Amarás el estilo internacional.

Roboto Regular

ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnñopqrstuvwxyz

#50BAB5

#A1D1D4

#686868

#A7A6A7

Heading H1
heading h2

Colores primarios

Level
Child 1

Destacado

ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnñopqrstuvwxyz

Child 2

Texto común

ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnñopqrstuvwxyz

#EA6D50

#DCBFB2

Colores secundarios
Child n/2+1

Destacado

ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnñopqrstuvwxyz

Child n/2+2

...

Child n

Child n/2+1

Child n/2+2

...

Child n

Heading H1
heading h2

Level
Child 1

Child 2

Heading H1
heading h2

Level
Child 1

Child 2

Heading H1
heading h2

Level
Child 1

Child 2

ÍNDICE

1. La fábula del león y la serpiente:
1.1. Escenario.
1.2. Motivación.
1.4. Objetivos.
1.6. Solución.
1.5. Las tripas de la solución.
2. Las uñas del león:



3. El arte de la guerra:



2.1. Dicom SR.
2.2. XML.
2.3. Android.

3.1. Generación automática de código.
3.2. Python.
3.3. Python zen.

4. El veneno de la serpiente:
4.1. Cómo unen todas las piezas.

4.2. Entornos virtuales.

4.3. Analizadores sintácticos.

4.4. Registros.

4.5. Diccionarios vs. clases.
4.6. Plantillas y configuración.

5. Moraleja.

Disección de la solución

Plantillas de
informes basados
en DICOM-SR

Plantillas genera-
doras de código

en Jinja2

Generador de

código

Código generado

Aplicación Android

Informe
DICOM-SR

Esqueleto Aplicación

Android

cómo se unen todas las piezas del puzzle

.java

Activity

Controlador

.XML

Layouts / Strings

Vista

.java

Class

Modelo

Arquitectura de una aplicación Android

• Generación automática de código

guiada por modelos.
• Sistemas de plantillas:

• strigs.Template
• Jinja2

• Configurable en función de las necesi-

dades del usuario.

• Prototipo evolucionado desde la fase
de diseño para ser el esqueleto de la
aplicación Android.

• Generación del código que construirá:

• Vista (xml)
• Modelo (java)
• Controlador (java)

• Código generado se integra en la apli-

cación Android esqueleto.

Disección del generador de código

Configuración

Entrorno de

trabajo

Plantillas de
informes basados
en DICOM-SR

Analizador sintác-

tico SAX

DicomSR report

en memoria

Generador de

código

Aplicación Android

Plantillas genera-
doras de código

en Jinja2

Plantillas simples

ENtornos virtuales
pip +virtualenv + virtualevwrapper

requirements.txt

Jinja2==2.7
MarkupSafe==0.18
wsgiref==0.1.2

• Gestión de dependencias aséptica (de verdad).
• Ficheros bajo el sistema de control de versiones.
• Tantos ficheros de requisitos como entornos de trabajo:

• Desarrollo
• Producción
• ...

$ pip install requirements.txt

Migrar es complejo

Dise
  • Links de descarga
http://lwp-l.com/pdf1516

Comentarios de: python hasta en los rincones o como una serpiente se puede comer un león (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad