scieee AI-readable full text Open interactive document viewer

Obtención de imágenes elastográficas en 2 dimensiones

Serra Freese, Daniel

Abstract

La técnica elastográfica es la obtención de imágenes que representan las características elásticas de un medio. En este caso, las imágenes se obtienen a partir del análisis de la deformación de las señales ultrasónicas obtenidas de un objeto o cuerpo sometido a una deformación uniaxial estática. El presente trabajo desarrolla un marco completo de trabajo que va desde la contrucción de un modelo numérico, su deformación, el estudio sonográfico y el postprocesasdo con la finalidad de obtener imágenes elastográficas en dos dimensiones. El marco de trabajo se desarrolla mediante scripts en MATLAB y herramientas para la obtención de imágenes sonográficas como el programa FIELD II basado también en MATLAB. El objetivo es desarrollar un entorno modular que permita la simulación y obtención de imágenes elastográficas. Cada uno de estos módulos o scripts es fácilmente personalizable, lo que permite adaptarse a diferentes necesidades o introducir mejoras.

Full text

UNIVERSIDAD POLITECNICA DE VALENCIA E S C U E L A P O L I T E C N I C A S U P E R I O R D E G AN D I A M a st e r e n In g en i er í a Ac ú s t ic a “Obtención de imágenes elastográficas en 2 dimensiones” TRABAJO FINAL DE MASTER Autor/a: Daniel Serra Freese Tutor/a: Francisco Camarena Femenia GANDIA, 2016 Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 1 [Esta página ha sido intencionalmente dejada en blanco] Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 2 Obtención de imágenes elastográficas en 2 dimensiones Autor: Daniel Serra Freese Tutor: D. Francisco Camarena Femenia RESUMEN La técnica elastográfica es la obtención de imágenes que representan las características elásticas de un medio. En este caso, las imágenes se obtienen a partir del análisis de la deformación de las señales ultrasónicas obtenidas de un objeto o cuerpo sometido a una deformación uniaxial estática. El presente trabajo desarrolla un marco completo de trabajo que va desde la contrucción de un modelo numérico, su deformación, el estudio sonográfico y el postprocesasdo con la finalidad de obtener imágenes elastográficas en dos dimensiones. El marco de trabajo se desarrolla mediante scripts en MATLAB y herramientas para la obtención de imágenes sonográficas como el programa FIELD II basado también en MATLAB. El objetivo es desarrollar un entorno modular que permita la simulación y obtención de imágenes elastográficas. Cada uno de estos módulos o scripts es fácilmente personalizable, lo que permite adaptarse a diferentes necesidades o introducir mejoras. Palabras clave: elastografía, simulación, phantom, ultrasonidos, FIELD II ABSTRACT Elastographic imaging is the representation of the elastic characteristics of a bodys or tissue. In the present work, the elastographic images are obtained from the analysis ultrasonic signals from an object or body under a static uniaxial deformation. This work develops a comprehensive framework that goes from the construction of a numerical model, its deformation, the sonographic study and postprocessing in order to obtain an elastographic image. The framework is developed using MATLAB scripts and tools for obtaining sonographic images as the FIELD II program, also based on MATLAB. The aim is to develop a modular environment that allows the simulation of phantoms or models and obtain elastographic images. Each of these modules or scripts are easily customizable, allowing adaptation to different needs or improvements. Keywords: elastography, simulation, phantom, ultrasound, FIELD II Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 3 ÍNDICE DE CONTENIDOS CAPÍTULO 1. INTRODUCCIÓN ............................................................................................... 6 Introducción a la elastografía ........................................................................................... 6 Motivación y objetivos del trabajo .................................................................................. 8 Organización del trabajo ................................................................................................ 10 CAPÍTULO 2. FUNDAMENTOS DE LA ELASTOGRAFÍA ........................................................... 11 Fundamentos teóricos ................................................................................................... 11 2.1.1. Ejemplo de tres muelles ........................................................................................ 13 Detección de la deformación o desplazamiento en señales .......................................... 14 2.2.1. Método del block matching para imágenes .......................................................... 15 2.2.2. Correspondencia de bloques en elastografía ........................................................ 16 2.2.3. Influencia del Tamaño de kernel ........................................................................... 18 2.2.4. Detección de la deformación ................................................................................ 19 Función de correlación cruzada en una dimensión ....................................................... 21 2.3.1. Fundamentos de la correlación cruzada ............................................................... 21 2.3.2. Algoritmo de detección desplazamiento mediante la FCC ................................... 22 CAPÍTULO 3. ELABORACIÓN DE UN MODELO MEDIANTE EL MÉTODO DE ELEMENTOS FINITOS (FEM) .................................................................................................................... 25 El método de los elementos finitos ................................................................................ 25 3.1.1. Introducción al método de elementos finitos ....................................................... 25 3.1.2. Resortes y barras como elementos elásticos ........................................................ 25 3.1.3. Condiciones de contorno, equilibrio en los nodos ................................................ 26 3.1.4. Pasos básicos para el cálculo FEM ......................................................................... 27 3.1.9. Cálculo FEM en MATLAB ....................................................................................... 27 CAPÍTULO 4. OBTENCIÓN DEL SONOGRAMA ...................................................................... 29 ............................................................................................................................ 29 Introducción a FIELD II.................................................................................................... 29 Organización del programa FIELD II ............................................................................... 29 Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 4 Método de simulación utilizado por Field II ................................................................... 30 4.3.1. La respuesta al impulso espacial ........................................................................... 30 4.3.2. Simulación ............................................................................................................. 31 Transductor simulado .................................................................................................... 32 CAPÍTULO 5. RESULTADOS Y DISCUSIÓN ............................................................................. 33 Creación y deformación de phantoms ........................................................................... 35 Obtención del sonograma .............................................................................................. 39 Validación de elab_elastograma .................................................................................... 42 Conclusiones .................................................................................................................. 45 ANEXOS .................................................................................................................... 48 A.1 Función elab_phantom ..................................................................................................... 49 B.1 Función elab_sonograma .................................................................................................. 52 C.1 Función elab_elastograma ................................................................................................ 55 BIBLIOGRAFÍA .................................................................................................................... 57 Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 5 LISTADO DE ILUSTRACIONES Y FIGURAS Ilustración 1: Captura de pantalla de Toshiba Accuvix A30. ......................................................... 6 Ilustración 2: Proceso de obtención del elastograma bidimensional. .......................................... 9 Ilustración 3: Sistema de tres muelles de la misma elasticidad .................................................. 13 Ilustración 4: Sistema de tres muelles de diferente elasticidad. ................................................ 14 Ilustración 5: Algoritmo básico de blockmatching ...................................................................... 15 Ilustración 6: Ejemplo de blockmatching en una imagen 2D ...................................................... 16 Ilustración 7: Algoritmo de detección de la deformación mediante la FCC. .............................. 23 Ilustración 8: Región de Interés para la FCC................................................................................ 24 Ilustración 9: Elemento finito como succeción de dos nodos ..................................................... 25 Ilustración 10: Ecosonda tipo linear array. ................................................................................. 32 Ilustración 11: Transductor simulado tipo linear array. .............................................................. 32 Ilustración 12: Mapa de elasticidad con inclusión cilindrica ....................................................... 35 Ilustración 13: Dispersores del phantom precompresión. .......................................................... 36 Ilustración 14: Dispersores del phantom postcompresión (compresión 20%). .......................... 37 Ilustración 15: Phantom precompresión y postcompresión, vista 3D. ....................................... 37 Ilustración 16: Mapa de desplazamiento y deformación. ........................................................... 38 Ilustración 17: Líneas de radiofrecuencia de prey postcompresión. ........................................ 39 Ilustración 18: Detalle de patrones de líneas de radiofrecuencia prey postcompresión. ........ 40 Ilustración 19: Comparación de ecogramas prey postcompresión. ......................................... 40 Ilustración 20: Sonograma con picos de amplitud muy pronunciada. ........................................ 41 Ilustración 21: Líneas de radiofrecuencia de prey postcompresión. ........................................ 42 Ilustración 22: Elastograma bidimensional (izda. sin filtrar espúrios, dcha. sin espúrrereos). ... 43 Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 6 CAPÍTULO 1. INTRODUCCIÓN INTRODUCCIÓN A LA ELASTOGRAFÍA La elastografía procedimiento por el cual se obtienen imágenes que muestran de forma cualitativa las propiedades elásticas de un cuerpo. Esta técnica obtiene la deformación que sufre un tejido mediante la comparación de las reflexiones de pulsos ultrasónicos producidos por un cuerpo antes de ser deformado y después de ser deformado. Esta técnica es complementaria a la ecografía y fue ideada hace más de 25 años por Jonathan Ophir et al. [1], pero no es hasta finales de los años noventa y principios del 2000 [2] que aparecen en el mercado las primeras máquinas elastográficas como por ejemplo la ElastoScan™ [3] de Samsung Medison o ElastoQ TM de Toshiba [4]. Esta técnica, permite representar las propiedades elásticas de las diferentes zonas de un cuerpo u objeto. Ilustración 1: Captura de pantalla de Toshiba Accuvix A30. Dadas las limitaciones computacionales de la época, no ha sido hasta la década de los 90 cuando Jonathan Ophir empezó a obtener las primeras imágenes cuantitativas sobre la deformación y la distribución del módulo elástico en el tejido utilizando aparatos de ultrasonidos [5]. El principio de funcionamiento la elastografía cosiste en la comparación de dos fotogramas obtenidos a partir de un barrido espacial mediante pulsos ultrasónicos del tejido con y sin deformación. Los métodos matemáticos, para la detección del desplazamiento de la señal ya existían pero requieren un gran número de operaciones que a su vez supone un elevado coste computacional, no factible para la época. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 7 Los dispositivos de elastografía dinámica, normalmente y en los casos más sencillos, constan de un transductor de ultrasonidos (5 MHz) acoplado sobre un eje vibrador que genera una vibración a baja frecuencia (50 Hz) y amplitud que provoca una deformación en los tejidos [6]. Las señales recogidas permiten determinar el tiempo que tarda el pulso ultrasónico en propagarse, con lo cual, si se ha producido una deformación, este tiempo también variará respecto del original. Lo que hace interesante a esta técnica, es que se trata de una técnica de inspección no destructiva, sin radiaciones nocivas y de coste reducido si se compara otras técnicas como la tomografía axial computarizada o la resonancia magnética. Esto es interesante en el campo de la medicina, ya que permite realizar numerosos estudios sin riesgo alguno, incluso pudiéndose utilizar incluso en embarazadas. En la práctica, hoy en día la forma más común de detectar lesiones en órganos como las mamas o la próstata se sigue realizando mediante la palpación manual, completándose los estudios con biopsias, radiodiagnóstico u otros estudios clínicos. La elastografía permite detectar cambios de elasticidad, como nódulos o fibrosis en zonas poco profundas y posteriormente caracterizar y clasificarlas [7]. En cuanto a la naturaleza de las lesiones, estudios recientes han demostrado que las lesiones pueden ser de 5 a 25 veces más duras que el tejido sano circundante [7] Esta diferencia de elasticidad será fundamental para poder aplicar las técnicas elastográficas. Las propiedades de los ultrasonidos hacen que estos puedan viajar varios centímetros por dentro del cuerpo, siendo la limitación principal la longitud de onda y la absorción del medio [8]. Esto hace necesario que se deba llegar a un compromiso entre resolución y profundidad de penetración, haciendo que esta técnica no sea viable para las zonas más profundas del cuerpo humano, como pueden ser los tejidos de riñón e hígado. Actualmente, la elastografía está sufriendo constantes mejoras debidas a la aplicación de nuevos algoritmos, la mejora en los métodos de captación se las señales ultrasónicas y el aumento de la potencia computacional [1]. También han evolucionado otras técnicas elastográficas basadas en ondas electromagnéticas (rayos X) que permiten obtener resultados similares a las técnicas ultrasónicas [9]. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 8 MOTIVACIÓN Y OBJETIVOS DEL TRABAJO Este trabajo es una evolución y continuación del Trabajo Final de Carrera con título Obtención de imágenes elastográficas en una dimensión [10]. En este trabajo se obtuvieron imágenes elastográficas unidimensionales utilizando un phantom realizado con gelatinas de diferentes durezas. Para la obtención de las señales de radiofrecuencia se utilizó una sonda de un único elemento piezoeléctrico, con lo cual únicamente se consiguió un ecogramas unidimensional a partir del cual se obtuvo una única línea con la dureza del tejido, es decir, una representación unidimensional de la dureza del tejido. El objetivo principal de este trabajo es obtener imágenes elastográficas bidimensionales mediante la simulación de un tejido sometido a una compresión, siendo una continuación y ampliación del trabajo inicial. El hecho de no disponer de una sonda ecográfica de varios elementos, hace necesario utilizar técnicas de simulación numérica. Para ello se construirá un modelo numérico o phantom tridimensional al que se pueda aplicar una compresión y que sirva como objeto de estudio para los siguientes pasos. A continuación se simulará una ecosonda de 128 elementos que servirá para obtener un ecograma bidimensional del modelo anteriormente creado. El programa utilizado para obtener los ecogramas o líneas de radiofrecuencia es Field II, el cual utilizará el phantom anteriormente creado. Se obtendrán las líneas de radiofrecuencia (una señal de radiofrecuencia por cada elemento de la ecosonda) de los modelos phantoms prey postcompresión. Finalmente, se procesarán las señales, mediante técnicas de identificación de patrones (función de correlación cruzada) para detectar la deformación del phantom a partir del desplazamiento en las señales de radiofrecuencia. A partir de la deformación se calculará la dureza del modelo. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 15 2.2.1. MÉTODO DEL BLOCK MATCHING PARA IMÁGENES En nuestro caso, esta técnica ha sido adaptada para detectar el movimiento en un tejido cuando es sometido a una pequeña presión. La técnica de blockmatching (o correspondencia de bloques) se basa en algoritmos de búsqueda, comparando un patrón (también llamado kernel) con otro patrón y estableciendo si se corresponden o no. La función utilizada en este trabajo es la Función de Correlación Cruzda o FCC. En este caso los vectores de movimientos indican cuanto se ha desplazado un bloque de nxm de una posición i a otra posición j de otra señal. Una vez obtenidos los vectores de desplazamiento ya se realizará con ellos las operaciones oportunas. Normalmente se establece una región de interés (ROI, Region of Interest) para evitar ambigüedades entre dos patrones y acelerar la búsqueda. Existen numerosas funciones para calcular el desplazamiento o reconocer patrones vectoriales o matriciales:  Función de correlación cruzada normalizada (NCC, Normalized Cross Correlation).  Suma de diferencias al cuadrado (SSD, Sum of Squared Differences).  Suma de diferencias absolutas (SAD, Sum of Absolute Differences).  Pel Difference Classification (PDC) En la siguiente figura se puede observar el proceso de identificación de patrones mediante la técnica de blockmatching. La imagen de entrada es dividida en varias regiones del cual se toma un bloque o kernel. El siguiente paso consiste en identificar la nueva posición del kernel Obtener frame k Obtener frame k+1 Ilustración 5 : Algoritmo básico de blockmatching Divide en kernels de nxm Divide en kernels de nxm Obtener desplazamiento entre kernels (índice del máximo de la FCC) Obtener vector desplazamiento Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 16 mediante alguna de las funciones anteriores. Finalmente se obtiene la nueva posición del bloque y con ello el vector de desplazamiento. Ilustración 6: Ejemplo de blockmatching en una imagen 2D 2.2.2. CORRESPONDENCIA DE BLOQUES EN ELASTOGRAFÍA Para determinar el desplazamiento de los componentes de dos mapas de valores será necesario al menos de un patrón y de una zona donde buscar (ver punto anterior). Para nuestro caso, se hace necesario que obtengamos como mínimo dos señales, una antes de producirse el desplazamiento (precompresión) o deformación y otra después de que esta se produzca (postcompresión). Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 17 La detección del desplazamiento será más fácil cuanto más se parezcan las señales entre sí. Si las dos señales han variado (desplazado o deformado) mucho los resultados devueltos por los métodos de blockmatching pueden ser erróneos y producir ambigüedades. Esto es una limitación que se impone a la hora de capturar la señal postcompresión, normalmente se aconseja que este valor no supere el 5% [1]. A mayor deformación, mayores serán los errores de localización. Como se ha comentado anteriormente, las señales se dividirán en bloques o kernels (núcleos, ventanas o patrones) y se realizará la comparación entre los dos bloques. Si la forma de onda en un kernel es única, esta comparación ofrece una medida de desplazamiento igualmente única. Si la región de interés o de búsqueda es demasiado extensa puede que existan patrones más parecidos que el que realmente debería haber sido detectado. Para este caso, en nuestro trabajo hemos descartado posibles ambigüedades mediante un enventanado de Hanning. En el capítulo de discusión de este trabajo, se exponen los resultados obtenidos para los diferentes tamaños de kernels. Dado que en nuestro caso disponemos una señal dependiente de una sola variable f(t) extrapolaremos el método de blockmatching a una dimensión. La posibilidad de que se produzcan ambigüedades en una dimensión es mucho mayor que en dos, ya que la unicidad de los conjuntos es menor; p. ej. un pulso compuesto por una señal sinusoide se repite cada T instantes, si el kernel es mayor que T entonces el desplazamiento obtenido será erróneo. Suponiendo que estamos ante una señal de postcompresión, con una deformación muy pequeña (como máximo 5%), si tomamos una muestra de la señal precompresión y buscamos el mismo patrón en la señal postcompresión, sabemos que bastará con buscar en las cercanías. A esta zona la llamaremos Región de Interés (ROI, Region of Interest). Esta suposición ya nos reduce de manera importante el número de operaciones a realizar y los errores producidos por coincidencias con zonas muy lejanas que no tienen ninguna relación con el patrón pero que se parecen. En la bibliografía consultada mencionan métodos para reducir el coste computacional y obtener imágenes a tiempo real [1]. Algunas de ellas consisten en múltiples resoluciones o en la interpolación de los resultados. En nuestro caso, el coste computacional no es importante ya Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 18 que se trata de una aplicación que no trabaja en tiempo real y con una cantidad muy pequeña de información. 2.2.3. INFLUENCIA DEL TAMAÑO DE KERNEL Escoger el tamaño adecuado del kernel no es una tarea trivial. En general kernels grandes son menos sensibles a ruido, mientras que kernels pequeños ofrecen mejores contornos entre estructuras con diferentes elasticidades. Además, cuantos mayores sean el kernel y el rango de búsqueda, también será mayor el coste computacional. Uno de los problemas más comunes es cuando surgen ambigüedades producidas por mismas estructuras acústicas. Un ejemplo para ilustrar el uso del tamaño del kernel es en la compresión de videos. En algunos casos cuando hay poco contraste entre zonas, a la hora de comprimir, las zonas se codifican y erróneamente se les atribuye un falso vector de movimiento. El resultado es una imagen de video donde se pueden ver zonas que no se mueven aun habiendo movimiento. No se debe confundir esto con el término de pixelar. Algunas consideraciones sobre el tamaño de los kernels:  Deberemos escoger un tamaño de kernel que se ajuste al tamaño de los successos o patrones identificables.  Deberemos escoger entre un tamaño grande que produzca pocas ambigüedades y un tamaño pequeño que ofrezca buena resolución.  Un kernel no debe abarcar más de dos sucesos similares (kernel demasiado grande) ya que puede presentar ambigüedades al compararse con otro kernel.  Aunque normalmente se utilicen kernels del mismo tamaño, para el principio de la señal de compresión basta con utilizar un kernel pequeño, pero al final se debe utilizar uno más grande que abarque todo el desplazamiento de la señal.  No hace falta detectar el desplazamiento de todos los puntos, ya que este no presentará discontinuidades y se puede interpolar. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 19 2.2.4. DETECCIÓN DE LA DEFORMACIÓN La principal dificultad es detectar correctamente el desplazamiento de los ecos de la señal de post-deformación respecto a los ecos de la señal de pre-deformación. Este es uno de los pasos más importantes ya que si se falla aquí no se podrá obtener la deformación del tejido ni representar el elastograma. En la sección 2.2 Detección de la deformación o desplazamiento en señales habíamos hablado de la elasticidad y sus propiedades que venía definida como, utilizando los términos anglosajones: tensile stress Etensile strain σ ε = = (4.1) Para completar la ecuación que define el módulo de Young definiremos los parámetros de presión y deformación unitaria representados por las letras σ y ε respectivamente. 0 F A E l l σ ε = = ∆ (4.2) De las señales de prey postcompresión, se puede obtener el incremento de tiempo entre reflexiones, el cual nos permiten estimar la deformación. Para simplificar los cálculos y poder medir la deformación estableceremos como constante la velocidad en los diferentes medios, representada por el símbolo c, quedando así la deformación en función del tiempo. ini fin l l l ∆ = − (4.3) l c t = ⋅ (4.4) Combinando las expresiones 4.3 y 4.4 obtenemos la siguiente relación: ( ) fin fin fin ini l c t c t c t t c t ∆ = ⋅ − ⋅ = ⋅ − = ⋅∆ (4.5) Ahora si combinamos las ecuaciones 4.2 y 4.5 obtenemos que el módulo de Young en función de t ∆ . 0 F A E c t l σ ε = = ⋅∆ (4.6) Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 20 Dado que las señales pre y postcompresión han sido digitalizadas deberemos hablar de tiempo discreto (muestras) y no de tiempo continuo (segundos). Conociendo la frecuencia de muestreo podremos pasar fácilmente del dominio discreto al dominio continuo. 1 s s s muestras segundos f T f segundo muestra −     → =         (4.7) S t nT = (4.8) Reagrupando las ecuaciones, podemos establecer una relación entre el dominio discreto y el dominio analógico para obtener t ∆ . s t T n ∆ = ∆ (4.9) Finalmente, substituyendo la ecuación 4.9 en la ecuación 4.6 obtenemos la siguiente ecuación que establece el módulo de Young en función del incremento, o desplazamiento, de muestras. 0 s F A E c T n l σ ε = = ⋅ ⋅∆ (4.10) Para calcular el desplazamiento de muestras partiremos de la señal que hemos obtenido de la interpolación de los puntos válidos, resultado de la función de correlación cruzada. Obtendremos el incremento entre dos puntos sucesivos. En otras palabras, hay que encontrar la pendiente de las rectas de los desplazamientos. Definiremos n ∆ como: ( ) = d deformacionacumulada n dt ∆ (4.11) Para este trabajo se han probado dos métodos diferentes, uno el uso del factor de correlación y el otro el uso de la función de correlación cruzada. Los resultados son muy parecidos pero la función de correlación cruzada presenta algunas mejoras frente al factor de correlación. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 21 FUNCIÓN DE CORRELACIÓN CRUZADA EN UNA DIMENSIÓN La función de correlación cruzada normalizada es una operación bastante común en el mundo del tratamiento de señales e imágenes. Muchas de las bibliografías que hemos consultado sobre elastografía han obviado este paso y directamente se centran sobre el tema principal de su estudio. 2.3.1. FUNDAMENTOS DE LA CORRELACIÓN CRUZADA Consideremos dos procesos conjuntamente estacionarios x[n] y y[n], para n = ±1, ±2,… La covarianza cruzada de orden k entre x[n] y y[n], está definida como: ( ) ( ) ( ) [ ] [ ] [ ] xy x y k x n y n k γ µ µ = − ⋅ + − ∑ (2.3) para k = ±1, ±2,… Como función de k, [ ] xy k γ es llamada Función de Covarianza Cruzada entre x[n] y y[n]. La estandarización de [ ] xy k γ produce la Función de Correlación Cruzada (FCC) ( ) ( ) ( ) [ ] [ ] [ ] x y xy x y x n y n k k µ µ ρσ σ − ⋅ + − = ∑ (2.4) para k = ±1, ±2,…, donde x σ y y σ son las desviaciones estándar para los procesos x[n] y y[n] La FCC mide no solamente la fortaleza de la relación, sino también su dirección o desplazamiento respecto el origen. Por esta razón, es importante examinar la FCC tanto para valores positivos de k como para los negativos. Para valores negativos de k, la FCC describe la influencia lineal de los valores pasados de y[n] sobre x[n]. El gráfico de la FCC contra k, llamado correlograma cruzado, es útil para visualizar estas relaciones. Cuando una serie x[n] o y[n] es ruido blanco y hay normalidad podemos asegurar que tienen correlación cruzada nula. En nuestro caso podremos observar valores de FCC bajos cuando el nivel de señal sea cercano al ruido de fondo. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 22 2.3.2. ALGORITMO DE DETECCIÓN DESPLAZAMIENTO MEDIANTE LA FCC Usando la función de correlación cruzada se puede crear un algoritmo que permita detectar el desplazamiento temporal entre dos señales. Como se ha comentado anteriormente, la FCC nos devolverá dos informaciones de interés, por un lado el valor de la correlación y el desplazamiento. Dado que posiblemente haya ambigüedades en zonas con poco nivel de señal, aprovechando que tenemos el valor de la correlación, seleccionaremos los puntos de interés de las zonas con alta correlación. Posteriormente haremos una interpolación de estos puntos. El algoritmo se detalla a continuación: 1. Se toma una ventana de tamaño w de la señal precompresión. 2. Se toma una ventana de tamaño w de la señal postcompresión. 3. Se realiza la correlación cruzada entre las dos ventanas. 4. Obtenemos del desplazamiento de la señal dentro de esta ventana y la correlación entre ambas ventanas. 5. Obtenemos el desplazamiento respecto el centro de la vector resultado de la FCC. 6. Se desplazan las ventanas sobre las señales y se repiten los pasos 3 a 5 hasta el final de la señal. Finalmente obtendremos como resultado un vector, conteniendo los desplazamientos para todas las correlaciones. Idealmente el vector debería ir aumentando progresivamente el valor del desplazamiento sin presentar saltos bruscos (ambigüedades). Como no es posible evitar las ambigüedades procedemos a la interpolación de los puntos que consideramos como válidos, para ello seleccionamos las zonas con mayor valor de correlación y de esas zonas seleccionamos los desplazamientos. 1. Del vector con todas las correlaciones seleccionamos los puntos del vector de desplazamiento que estén situados en zonas que estén por encima de un umbral del valor de correlación. 2. Interpolamos esos puntos linealmente y obtenemos desplazamientos acumulados. Ahora deberemos realizar la derivada o en el caso discreto la primera diferencia de la señal obtenida por intepolación para obtener el desplazamiento de un punto respecto el anterior. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 23 Leer señal predeformación Leer señal postdeformación Filtro paso banda centrado en f0 Filtro paso banda centrado en f0 Obtener kernelpost: Duración: wk Inicio: nk Obtener kernelpre: Duración: wk Inicio: nk Operación de FCC FCC(kernelpre, kernelpost) Desplazar nk (nk+1) Obtener el máximo y su posición max(FCC) Corregir desplazamientos Seleccionar puntos del desplazamiento de las zonas de máxima correlación Interpolar Ilustración 7: Algoritmo de detección de la deformación mediante la FCC. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 24 En la siguiente imagen se puede observar la búsqueda de un patrón postcompresión sobre una señal de precompresión en un una determinada región de interés. La función de correlación cruzada nos dará el valor del desplazamiento (en muestras n) y un valor máximo para cuando las dos señales solapen exactamente. Ilustración 8: Región de Interés para la FCC Una vez obtenido el desplazamiento acumulado aplicaremos la ecuación 4.11 de la sección 2.2 Detección de la deformación o desplazamiento en señales y obtendremos la el desplazamiento diferencial o la deformación. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 31 4.3.2. SIMULACIÓN Un gran número de diferentes autores han calculado la respuesta al impulso espacial de geometrías diferentes transductores. Pero en general, es difícil de calcular una solución, y especialmente si se tiene en cuenta la apodización del transductor. Aquí la superficie del transductor no vibra como un pistón, por ejemplo los bordes podrían vibrar menos que el centro del transductor. El programa de simulación resuelve este problema dividiendo la superficie del transductor en cuadrados o triángulos según el caso y la suma de la respuesta de estos para producir la respuesta. De esta manera se puede simular cualquier tipo de geometría para de transductor. El tiempo de una simulación es también motivo de gran preocupación. Como las cuadrados de la apertura del transductor son pequeños es recomendable utilizar la aproximación de campo lejano, haciendo más simple la simulación. Otra forma para mantener el tiempo de simulación bajo es utilizando una frecuencia de muestreo baja. A menudo, las respuestas impulsivas espaciales se calculan utilizando las frecuencias de muestreo en el intervalo GHz debido a las discontinuidades abruptas de las respuestas. Estas discontinuidades se manejan en FIELD II de forma precisa manteniendo de posición del tiempo de las respuestas y además utiliza la respuesta al impuso espacial integrado como un paso intermedio en los cálculos. De esta manera no se pierde energía de la respuesta lo cual es mucho más importante que tener la forma exacta de la respuesta del impulso espacial. Por todo esto, el programa se recomienda utilizar una frecuencia de muestreo de 100 MHz para cálculos aproximados que no una frecuencia de muestreo de 1 GHz para obtener la respuesta exacta. Según la teoría bastaría una frecuencia dos veces superior a la frecuencia máxima (Teorema de Nyquist) pero como estamos tratando con señales impulsivas de un gran ancho de banda es recomendable utilizar un frecuencia de muestreo más elevada. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 32 TRANSDUCTOR SIMULADO Como apertura de emisión se simula un transductor tipo linear array de 192 elementos con 64 elementos activos para cada línea. Se utiliza el mismo transductor como apertura de recepción. Ilustración 10: Ecosonda tipo linear array. Con FIELD II se puede simular casi cualquier configuración de transductor. Los retrasos para cada elemento se calculan automáticamente a partir de las leyes focales implementadas en el programa FIELD II, solamente hay que indicar coordenadas para la focalización. Ilustración 11: Transductor simulado tipo linear array. Este tipo de transductor es uno de los más sencillos que se pueden implementar, además de haberse diseñado para que se igual de ancho que el phantom. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 33 CAPÍTULO 5. RESULTADOS Y DISCUSIÓN En este capítulo se presentan y discuten los resultados obtenidos en los diferentes scripts de MATLAB realizados para elaborar y conseguir los objetivos del presente trabajo. Los scripts están debidamente comentados, con lo cual es relativamente fácil seguir el procedimiento de cálculo. A continuación se resume brevemente los procedimientos de los scripts. 1. Script en MATLAB elab_init.m. Es un script de inicialización del entorno de trabajo. Sus principales funciones son: a. Crear la carpeta del proyecto para guardar los datos del proyecto. b. Crear un documento de texto con la información relativa al proyecto (info.txt). c. Inicializar la aplicación de Matlab Field II (field_init). d. Ejecutar script elab_phantom.m para obtener los phantoms de prey postcompresión. e. Ejecutar el scrip elab_sonograma.m para obtener las líneas de radiofrecuencia de prey postcompresión. 2. Script en MATLAB elab_phantom.m. Crea el phantom precompresión y mediante la técnica de los elementos finitos (FEM) lo deforma para crear un phantom postcompresión. a. Leer los archivos de geometría del modelo (mapa_elastico.bmp) y el mapa de amplitudes de las intensidades de los dispersores (mapa_amplitudes.bmp). b. Definir las dimensiones [lx, ly, lz] y resoluciones del modelo tridimensional [dx, dy, dz]. c. Sembrar dispersores y obtiene sus coordenadas [x, y, z]. d. Crear modelo de elementos finitos y aplicar compresión para obtener el modelo postcompresión. Se calculan las nuevas coordenadas de [x, y, z]. e. Representar los modelos para comprobación. f. Crea los archivos que contienen los datos para los siguientes pasos de cálculo. g. Añade la información al documento de texto (info.txt). Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 34 3. Script en MATLAB elab_sonograma.m. Este script ejecuta la simulación de un transductor de ultrasonidos sobre los modelos creados en los pasos anteriores (prey postcompresión). a. Establece los datos y variables para la simulación mediante Field II. b. Carga datos de los phantoms almacenados en formato mfile. c. Configura el transductor y define los elementos con las funciones de Field II. d. Calcula las líneas de radiofrecuencia para ambos modelos prey postcompresión. e. Guarda cada línea para cálculos posteriores (representación y elastograma). f. Representa las señales y sonogramas obtenidos. g. Crea los archivos que contienen los datos para los siguientes pasos de cálculo. h. Añade la información al documento de texto (info.txt). 4. Script en MATLAB elab_elastograma.m. Este script realiza todo el postprocesado para obtener los elastogramas a partir de las señales de radiofrecuencia calculadas anteriormente de las señales de prey postcompresión. a. Recortarlas señales al mismo tamaño. b. Localizar desplazamientos. c. Calcular la deformación. d. Mejorar y filtrar los resultados. e. Representar resultados. Para que los scripts funcionen correctamente se necesitan los siguientes archivos (incluidos en los documentos anexos) pero que se pueden obtener de las siguientes fuentes: Field II. Programa de simulación de transductores acústicos (http://field-ii.dk/) Matlab Statistics Toolbox. Contiene la Función de Correlación Cruzada. Antes de ejecutar los scripts se deben añadir las rutas al directorio de trabajo de MATLAB con la función de Set Path… (File/Set Path…) y establecer las rutas de guardado de los proyectos en el script elab_init.m. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 35 CREACIÓN Y DEFORMACIÓN DE PHANTOMS Mediante el script de Matlab elab_phantom.m se obtienen los phantoms prey postcompresión que sirven como fuente de datos para los siguientes pasos (obtención del sonograma). Durante la ejecución del script se obtienen diferentes imágenes o plots que permiten el control visual de los phantoms creados, aunque para pequeñas deformaciones (del orden de 2%) no se puede apreciar deformación. Para las pruebas se han creado varios phantoms de geometrías sencillas, de las cuales se conoce previamente cómo se comportará el modelo una vez sea sometido a una deformación. En este caso se crea el phantom de una inclusión cilíndrica al cual se someterá a una deformación uniaxial del 20% (2 cm sobre 10 cm totales del modelo). Como mapa elástico se utiliza una matriz bidimensional cargada desde una imagen BMP (BMP, Bitmap de Windows), que por su sencillez nos permite dibujar formas rápidamente. No se ha considerado la normalización de los valores o conversión a unidades elásticas reales del archivo BMP ya que tabajamos con datos relativos o proporciones. Por ejemplo, en la imagen el área blanda tiene un valor de 28 unidades frente a las 178 unidades de la inclusión cilíndrica. Esto da una proporición de 6,35 a 1 (178/28), es decir, la inclusión cilíndrica es 6,35 veces más dura que el resto. Ilustración 12: Mapa de elasticidad con inclusión cilíndrica Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 36 La siguiente imagen muestra una vista bidimensional del modelo de precompresión, formado por 50.000 dispersores. En este caso la escala de colores muestra la intensidad de los dispersores obtenidos del mapa de intensidades o amplitudes. En este caso, el mapa de elasticidad y el mapa de amplitudes es la misma imagen, con el fin de conseguir una representación más sencilla. Así, la inclusión se muestra en color rojo ya que tiene mayor amplitud que el resto del modelo, característica definida en la imagen mapa_amplitudes.bmp. Ilustración 13: Dispersores del phantom precompresión. En la imagen de postcompresión se muestra el phantom comprimido un 20%, que equivale a 2 centímetros sobre los 10 cm totales del modelo. En este caso la compresión aplicada es solo para fines ilustrativos, en la práctica la compresión estará entre el 1 y el 2% y en ningún caso superará el 5%. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 37 Ilustración 14: Dispersores del phantom postcompresión (compresión 20%). Se puede observar que en las áreas de menor elasticidad han sufrido una mayor compresión como era de esperar, mientras que la zona de mayor dureza se mantiene constante. Ilustración 15: Phantom precompresión y postcompresión, vista 3D. Inclusión cilíndrica simulada (en rojo mayor intensidad del dispersor) elasticidad) Compresión (20 mm) Zonas de mayor deformación (mayor elasticidad) Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 38 En las siguientes imágenes se pueden ver los valores del Mapa de desplazamiento (imagen izquierda) y deformación (imagen izquierda). En la parte de debajo de la imagen de la izquierda se puede observar que existe mayor desplazamiento que en la parte superior, exactamente - 20·10-3 m, que equivale a los 2 cm de compresión aplicada al modelo. Así se puede interpretar que la parte superior se ha desplazado un total de 2 cm mientras que la base no se ha desplazado (los nodos bloqueados) Ilustración 16: Mapa de desplazamiento y deformación. En el Mapa de deformación (imagen derecha) se obtiene a partir de la primera diferencia de la imagen de desplazamiento. Se observa como en el lado izquierdo de la figura de deformación esta es constante. En la zona de la inclusión cilíndrica se pueden observar dos zonas, por un lado la zona de la inclusión cilíndrica con valores menores, es decir, se ha deformado menos que el resto. Por otro lado, las zonas que están por encima y debajo de la inclusión cilíndrica, estas se han tenido que deformar más para compensar la poca deformación de la inclusión. Para simplificar, podríamos decir que la parte izquierda de la imagen equivaldría al modelo de tres muelles con una misma constante elástica (todos los muelles se han deformado lo mismo) mientras que la parte central de la imagen equivaldría al ejemplo de los tres muelles con diferente elasticidad (el muelle central es más duro y por lo tanto se ha deformado menos). Hay que recordar, que las imágenes anteriores únicamente se refieren a la creación del phantom y se utilizan para control. A continuación se procederá a calcular las líneas de radiofrecuencia y los sonogramas asociados mediante el matscript elab_sonograma. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 39 OBTENCIÓN DEL SONOGRAMA Una vez se han obtenido los modelos de phantom (coordenadas espaciales y amplitud de los dispersores) se procede al cálculo de las líneas de radiofrecuencia y a componer un sonograma. Una vez terminada la simulación y obtenidas las líneas de radiofrecuencia, el programa las superpone para poder observar si se ha producido un desplazamiento temporal en las señales. En la siguiente imagen, simulación de inclusión cilíndrica, se puede observar claramente la forma circular en la zona central. En las líneas periféricas, líneas 0 a 30 y 110 a 128 aproximadamente, se pueden observar artefactos. En este caso se aprecia lo que se conoce como side lobe effect [16], produciendo una de imagen espejo de la imagen real. Ilustración 17: Líneas de radiofrecuencia de prey postcompresión. Al hacer un aumento de las líneas central, las que contienen información de la inclusión cilíndrica, se puede observar como para las mismas líneas de radiofrecuencia se reproducen los mismos patrones en las imágenes de prey postcompresión, únicamente desplazados. Este desplazamiento entre patrones es el que se deberá reconocer y cuantificar en los siguientes pasos del tratamiento de la señal. Artefactos ( Side Lobe Effect ) Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 40 Ilustración 18: Detalle de patrones de líneas de radiofrecuencia prey postcompresión. Finalmente, se utiliza una representación de la envolvente con compresión logarítmica en escala de grises para simular una imagen elastográfica. Ilustración 19: Comparación de ecogramas prey postcompresión. Sin un procesado de señal, en este caso, no es apreciable la deformación de la inclusión cilíndrica. Este paso se realiza con el siguiente matscript elab_elastograma.m. P Patrones desplazados Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 47 3. Determinar cuál es la cantidad óptima de dispersores en función del volumen de un modelo FEM. Pueden variar de entre 2.000 a 50.000 para un mismo modelo. Determinar la relación entre cantidad de dispersores e intensidad de los mismos y cómo afectan a la simulación con FIELD II y a los resultados obtenidos. 4. Mejorar el método de detección de desplazamiento utilizando otras funciones o algoritmos. 5. Mejorar el sistema de enventanadado y de seguimiento del desplazamiento. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 48 ANEXOS El objetivo del presente anexo es ofrecer una visión de los parámetros de entrada de los diferentes programas o scripts escritos en MATLAB. Las funciones o scripts son las siguientes: 1. elab_init. Genera el espacio de trabajo para guardar las simulación, crea archivo con los datos de la simulación y ejecuta el programa FIELD II. 2. elab_phantom(N, compresión). Genera el modelo mediante FEM para la simulación. 3. elab_sonograma(). Carga el modelo generado en elab_phantom y procede a la simulación mediante el programa FIELD II. Guarda cada línea de radiofrecuencia obtenida en un archivo .mat. 4. elab_elastograma(). Carga las líneas de radiofrecuencia generadas en el paso anterior desde el archivo .mat y procede al condicionamiento de las señales y al postprocesado para obtener el elastograma. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 49 A.1 FUNCIÓN ELAB_PHANTOM La función elab_phantom se encarga de obtener el modelo para realizar el cálculo del sonograma. Los datos de salida son dos matrices (coordenadas de los dispersores de precompresión y postcompresión) y un vector con las amplitudes de los dispersores. Llamada a la función: elab_phantom(N, compresion) Parámetros de entrada: N: Cantidad de dispersores compresion: Compresión aplicada en Parámetros o archivo de salida: Archivo phantom_data.mat Precompresion: Coordenadas de los dispersores de precompresión. Postcompresion: Coordenadas de los dispersores de post-compresion amp: Amplitudes de los dispersores, es igual para el modelo de Una vez creados y guardados los phantoms podemos calcular los sonogramas correspondientes. En la función elab_sonograma hacemos uso de la herramienta FIELD II para realizar la simulación. Éste es el paso que más tiempo y recursos de nuestro ordenador consume. Describiremos detalladamente los pasos de la función en la sección dedicada a esta. A.2 FUNCIONAMIENTO DEL PROGRAMA Con este programa crearemos dos phantoms de N dispersores, uno sin deformar y otro phantom comprimido según la compresion indicada en milímetros por el parámetro compresion. Las dimensiones del phantom se pueden modificar dentro del archivo o función. Los datos de entrada son dos imágenes en formato BMP (Mapa de Bits de Windows) que contendrán por un lado información sobre la elasticidad (archivo mapa_elastico.bmp) del modelo y por otro lado, información sobre la amplitud de los dispersores (archivo Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 50 mapa_amplitudes.bmp). El programa devuelve tres variables relacionadas con los dispersores, posiciones y amplitud para cada modelo. Deberemos crear dos archivos con extensión BMP. El primer archivo deberá tener el nombre de mapa_elastico.bmp que contendrá las diferentes elasticidades de nuestro modelo. Con un color claro definiremos un material elástico o blando y con un color oscuro definiremos un material poco elástico o duro. No se necesita ninguna herramienta de dibujo profesional, basta crear un archivo en escala de grises en Microsoft Paint u otra herramienta similar. Recomendamos que se edite alguno de los archivos que se entregan con este trabajo (formato adecuado 8 bits, escala de grises). De la misma manera crearemos otro archivo con las amplitudes de los dispersores, con el nombre de mapa_amplitudes.bmp. Podemos utilizar como recomendación general las siguientes reglas de diseño: 1. Si nuestro modelo tiene muchos dispersores (>10.000) deberemos reducir las amplitudes de forma general y preferiblemente más en zonas cercanas al transductor. 2. Como referencia, para un modelo de 750 cm3 para realizar pruebas recomendamos unos 10.000 dispersores, y para simulaciones de 50.000 a 100.000 dispersores. Una vez creadas ambas imágenes procederemos a cargarlas y a comprobar que las dimensiones sean correctas. Cargamos las imágenes con la función bmpread que posiblemente deberemos incluir en nuestro directorio de trabajo. Una alternativa a esta función podría ser la función imread. A continuación pondremos una referencia espacial a nuestros mapas de datos con las variables dx, dy y dz. Para realizar el cálculo por FEM necesitamos pasar nuestras variables de posición y compresión a variables adimensionales. Con la variable markerSize modificaremos las representaciones de los plots para representar los dibujos. Conviene probar diferentes valores hasta encontrar el que más se ajuste a nuestras necesidades. Esta variable no tiene importancia ya que no modificará nuestros resultados, únicamente afectará a la visualización. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 51 A continuación se realiza la compresión mediante la creación de un modelo FEM y se desplazan todas las posiciones de dispersores del phantom de postcompresión. Finalmente se guardan los datos y se escribe la información necesaria en el archivo info.txt. También se representan con diferentes plots los modelos calculados. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 52 B.1 FUNCIÓN ELAB_SONOGRAMA Con la función elab_sonograma.m se obtienen todas las líneas de radiofrecuencia (precompresión y postcompresión) y es donde interviene el programa FIELD II. Cargamos los parámetros de los phantoms y realizamos el cálculo de la respuesta al impulso espacial. En esta función describimos la apertura de emisión y de recepción. Llamada a la función: elab_sonograma() Parámetros o archivo de salida: Archivo sonogram_data.mat rfAllLinesAligned_pre: Todas las líneas simuladas y alineadas temporalmente del phantom de precompresión. rfAllLinesAligned_post: Todas las líneas simuladas y alineadas temporalmente del phantom de postcompresión. Archivo sonogram_parameters.mat fs: Frecuencia de muestreo de la señal. f0: Frecuencia central del transductor. c: Velocidad del sonido en el medio. no_lines: Cantidad de líneas obtenidas. Archivo sonogram_data.mat rfAllLinesAligned_pre: Lineas de radiofrecuencia alineadas en origen (t = 0 s). rfAllLinesAligned_post: Lineas de radiofrecuencia alineadas en origen (t = 0 s). Nota: Se deben alinear las líneas en origen de tiempo ya que para cada línea de radiofrecuencia y por características de la respuesta del impulso temporal la primera muestra de la señal tiene un origen diferente. Ver ejemplos en Field II. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 53 En este programa realmente no necesitamos realizar modificaciones a menos que deseemos modificar los parámetros del transductor como: cantidad de elementos, altura de elemento, ancho de elemento, respuesta temporal de la apertura de emisión, respuesta temporal de la apertura de recepción. Se recomienda consultar el manual del programa FIELD II. B.2 FUNCIONAMIENTO DEL PROGRAMA En la primera parte del programa definimos todas las variables relacionadas con el diseño del transductor. Para entender esta parte recomendamos consultar algún manual sobre el diseño de transductores o la ayuda del programa FIELD II. A continuación definimos los siguientes elementos necesarios para realizar la simulación, como son las aperturas de emisión y recepción así como sus respectivas respuestas temporales. A continuación se inicializan las diferentes variables necesarias para el cálculo y también se reservan espacios en la memoria para guardar los datos simulados. Todas las líneas calculadas se almacenan en la carpeta rf_data. El cálculo de líneas se puede reanudar en cualquier punto ya que el programa comprueba cuál es la última línea calculada. Una vez calculadas todas las líneas, es necesario que alineemos temporalmente cada línea, ya que los resultados devueltos por FIELD II empiezan en la primera muestra de la respuesta calculada. Para ello componemos una matriz con todas las líneas de radiofrecuencia calculadas y alineamos las líneas según los tiempos. Como paso previo a todo el procesado, el programa ajusta las señales para que tengan la misma longitud y podamos trabajar sin problemas tamaños de vectores. El programa trabaja enventanando cada línea de precompresión y postcompresión. Se aplica la función de correlación cruzada (función xcorr(x,y)) ventana a venta y localizamos los máximos. Estos máximos nos dan una posible idea del desplazamiento temporal entre las dos señales. Una punto importante es la reducción del ruido debido a valores extremos de la señal que hemos obtenido a partir de la función de correlación cruzada. Esto lo conseguimos con ventanas dinámicas que se van ajustando a los resultados obtenidos. La ventana está Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 54 compuesta por vector de ceros de longitud variable, una ventana Hanning de tamaño fijo y otro vector de ceros de longitud variable. Las funciones de estas ventanas son las siguientes: i. En primer lugar descartamos los valores negativos o menores que el máximo actual, ya que supondrían un adelantamiento temporal, que en este caso es imposible a no ser que invirtamos las señales. ii. La ventana de Hanning se centra en el máximo que hemos obtenido anteriormente. Con esto damos más importancia a valores cercanos al máximo obtenido anteriormente y reducimos la amplitud de posibles picos muy alejados que podrían introducir ruido. Aplicando estas ventanas deslizantes obtenemos una notable mejora de la detección del desplazamiento y no hace necesarios que debamos fijar un umbral en el nivel de correlación. Con todas estas mejoras obtenemos mejores resultados que los obtenidos en el trabajo Obtención de imágenes elastográficas en una dimensión. Finalmente, presentamos los resultados de diferentes formas. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 55 C.1 FUNCIÓN ELAB_ELASTOGRAMA Con la función elab_elab.m elastograma se obtienen los elastogramas a partir de los datos del sonograma creado en el paso anterior. Llamada a la función: elab_elastograma() Parámetros o archivo de salida: Archivo elastogramInfo.mat corrAmounts: Indican los valores de los máximos de aplicar la función de correlación cruzada (FCC). maxLocations: Guarda la ubicación de los máximos del pico de la función de correlación cruzada, tanto valores negativos (menores que la mitad de la longitud de ventana), que indican retrasos (no válidos) o valores positivos. enhancedLocations: Se descartan aquellos valores negativos (que indican restrasos en la señal, consecuente expansión) o anormalmente altos. Esta parte es la que realmente está abierta a futuras mejoras. Ya que la cantidad de métodos, funciones y algoritmos a aplicar dependen del autor. Se pueden encontrar algunas líneas comentadas en matscript (%% Comentario) que no se han borrado ya que podrían ser de utilizad o servir como idea. C.2 FUNCIONAMIENTO DEL PROGRAMA En primer lugar se definen las características de las ventanas o kernels con los parámetros overlapping y windowSize. Para overlapping se pueden utilizar tamañaos de entre 20 y 80%, como mayor sea este valor, más tiempo durará el postprocesado (la ventana avanzará a menor velocidad y se realizará un mayor número de iteraciones). Para windowSize se recomienda un tamaño similar al de la compresión aplicada. El algoritmo de búsqueda de desplazamientos es la parte más abierta del proyecto, ya que se puede modificar para introducir mejoras en cuanto a rendimiento y a la discriminación de señales. Obtención de imágenes elastográficas en dos dimensiones a partir de simulaciones con FIELD II 56 La idea es disponer de una ventana fija formada por una porción de la señal original o kernel precompresión e ir desplazando sobre la porción de señal deformada o kernel postcompresión. En cada iteración se calcula mediante la FCC el valor del máximo y su ubicación respecto el centro, que nos indicará el desplazamiento entre las porciones de ambas señales (kernels prey postcompresión) Una vez que se han detectado los valores de los desplazamientos se puede proceder a una mejora de los resultados, utilizando un enventanado (Hanning, Hamming, triangular, cuadrado) que favorezca los resultados centrales del resultado de la FCC y descarte resultados anormalmente altos o bajos. Finalmente se representa la imagen elastográfica completa en una escala de colores para poder comparar con la imagen original de mapa_elasticidades.bmp. Nota: Antes de utilizar el conjunto de programas eLab, por favor, realice estos pasos previos: 1. Establezca la ubicación de trabajo para la ejecución del programa desde MATLAB (File / Set Path / [Add with subfolders]). 2. Descarge la versión correcta de FIELD II desde la http://field-ii.dk/ . La versión probada de FIELD II es Field_II_ver_3_24_windows_gcc.tar 3. Instale las librerías de estadística de MATLAB para tener acceso a las funciones de xcorr y similares. 4. Instale los archivos de lectura de imágenes como bmpread o imread y adapte el programa a las nuevas funciones.