Está en la página 1de 22

Departamento de Ingeniería

Biomédica

Herramientas computacionales

Mario Valderrama
mvalderr@uniandes.edu.co
Herramientas computacionales: lenguajes de programación

Herramientas de análisis computacional


➢ C, C++: velocidad, robustez, tiempo-real
➢ Octave
➢R
➢ MATLAB: toolboxes propios y contribuciones
(p.ej. EEGLab)
➢ Phyton
➢…
Herramientas computacionales: lenguajes de programación

➢ C, C++
-Propósito general
-Implementación de software de sistema y aplicaciones
-Gran mayoría de arquitecturas de computador
-Acceso a recursos de bajo nivel (p.ej. apuntadores a direcciones
de memoria)
-Portabilidad limitada
-Adecuado para sistemas en tiempo-real (velocidad, robustez,
etc.)
-Mayor tiempo de programación
Herramientas computacionales: lenguajes de programación

➢ C
- Programación procedimental
- Top-down
- Function-driven
- No acepta funciones dentro de estructuras

➢ C ++
- Programación multi-paradigmas (p.ej. objet-oriented, proced., etc.)
- Bottom-up
- Object-driven
- Acepta funciones dentro de estructuras
Herramientas computacionales: lenguajes de programación

Algunos GUIs

Visual C++ (Microsoft windows)


Herramientas computacionales: lenguajes de programación

Algunos GUIs

CodeBlocks (Multi-plataforma)
Herramientas computacionales: lenguajes de programación

Algunas librerías open-source, multi-plataforma


wxWidgets (www.wxwidgets.org): multi-propósito
Qt (qt.nokia.com): multi-propósito
VTK (Visalization Tool Kit) (www.vtk.org): Procesamiento y
visualización de gráficos en 2D y 3D
ITK (Insight Segmentation and Registration
Toolkit)(www.itk.org): Tratamiento y análisis de imágenes
Herramientas computacionales: lenguajes de programación

Ejemplos VTK
Herramientas computacionales: lenguajes de programación

➢ GNU Octave
-Free y open-source
-Multiplataforma
-Lenguaje interpretado de alto nivel
-Computación numérica (problemas lineales y no-lineales)
-Altas capacidades gráficas para visualización y manipulación
-Muy similar a Matlab (corre scripts de Matlab)
-Disponibilidad de poderosos toolboxes (p.ej. signals, control,
statistics, etc.)
Herramientas computacionales: lenguajes de programación

➢ GNU Octave
Herramientas computacionales: lenguajes de programación

➢ GNU R
-Free y open-source
Multiplataforma
-Estadísticas (modelamiento lineal y no lineal, clásicos tests,
time-series analysis, clasificación, clustering)
-Manipulación de datos, computación numérica y facilidades
gráficas.
-Disponibilidad de third-party packages
Herramientas computacionales: lenguajes de programación

➢ GNU R
Herramientas computacionales: lenguajes de programación

➢ Matlab
-Propietario (www.mathworks.com)
-Multiplataforma
-Lenguaje interpretado de alto nivel
-Poderosas capacidades de computo
-Reducido tiempo de programación (comparado a C,C++ p.ej.)
-Disponibilidad de toolboxes nativos y contribuciones externas:
• Parallel computing, Statistics, Optimization, Control, Signal
and Image processing, Data base, etc.
Herramientas computacionales: lenguajes de programación

➢ Matlab
Herramientas computacionales: lenguajes de programación

-Free y open-source
-Multiplataforma
-Lenguaje interpretado
-Programación multi-paradigma (p.ej. object-oriented,
imperative, etc.)
-Uso de scripts
-Uso de identación para la delimitación de bloques
-Librerías nativas y third-party toolboxes (p.ej. numpy, scipy,
matplotlib, complex systems, etc.)
Herramientas computacionales: lenguajes de programación
Herramientas computacionales: lenguajes de programación

Diversos editores: PyCharm, Spyder, Atom, Jupyter, y otros


Herramientas computacionales: lenguajes de programación

https://beeware.org/
-Genera aplicaciones para diversas plataformas (incluidos
sistemas móviles), a partir de un único programa escrito
en Python!
-Integra librerías para generar interfaces gráficas (GUI)
con múltiples funcionalidades.
Herramientas: bases de datos

www.physionet.org
-MIT, Beth Israel Deaconess Medical Center, Harvard Medical
School, Boston University, McGill University.
-Gran colección de señales fisiológicas y software de acceso libre
que puede ser usado para investigación.
Herramientas: bases de datos

PhysioNet (www.physionet.org)
PhysioBank
• Multi-Parameter: ECG, presión sanguínea, respiración,
saturación de oxígeno, EEG, entre otras.
• ECG databases: normales y patológicos (p.ej. arritmias,
etc)
• Neuroelectric (EEG) y Myoelectric (EMG)
• Imágenes (MRI)
Herramientas: bases de datos

PhysioNet (www.physionet.org)

Anotaciones por expertos

También podría gustarte