ES2387785B1 - Procedimiento y sistema de generación de un recorrido para una broncoscopia virtual - Google Patents

Procedimiento y sistema de generación de un recorrido para una broncoscopia virtual Download PDF

Info

Publication number
ES2387785B1
ES2387785B1 ES201230732A ES201230732A ES2387785B1 ES 2387785 B1 ES2387785 B1 ES 2387785B1 ES 201230732 A ES201230732 A ES 201230732A ES 201230732 A ES201230732 A ES 201230732A ES 2387785 B1 ES2387785 B1 ES 2387785B1
Authority
ES
Spain
Prior art keywords
movement
candidate
tip
rotation
bronchoscope
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
ES201230732A
Other languages
English (en)
Other versions
ES2387785A1 (es
Inventor
Joan Rosell Gratacòs
Paolo Cabras
Alexander Pérez Ruiz
Antoni Rosell Gratacòs
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Universitat Politecnica de Catalunya UPC
Fundacio Privada Institut dInvestigacio Biomedica de Bellvitge IDIBELL
Original Assignee
Universitat Politecnica de Catalunya UPC
Fundacio Privada Institut dInvestigacio Biomedica de Bellvitge IDIBELL
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Universitat Politecnica de Catalunya UPC, Fundacio Privada Institut dInvestigacio Biomedica de Bellvitge IDIBELL filed Critical Universitat Politecnica de Catalunya UPC
Priority to ES201230732A priority Critical patent/ES2387785B1/es
Publication of ES2387785A1 publication Critical patent/ES2387785A1/es
Application granted granted Critical
Publication of ES2387785B1 publication Critical patent/ES2387785B1/es
Priority to PCT/ES2013/070306 priority patent/WO2013171356A1/es
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/10Constructive solid geometry [CSG] using solid primitives, e.g. cylinders, cubes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/003Navigation within 3D models or images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/41Medical

Abstract

Procedimiento y sistema de generación de un recorrido para una broncoscopia virtual, que comprende generar un modelo de un árbol traqueo-bronquial y un modelo de un broncoscopio. El modelo del árbol traqueo-bronquial comprende una representación de las paredes del árbol y de una zona objetivo. El modelo del broncoscopio comprende una representación de un extremo visor (punta) del broncoscopio mediante una cadena cinemática de cuerpos rígidos articulados entre sí. Los cuerpos rígidos comprenden al menos una base y un cuerpo visor. La rotación de las articulaciones representa un movimiento de flexión de la punta. El procedimiento comprende además calcular una secuencia de desplazamientos de la cadena que conduzca el cuerpo visor hacia el objetivo sin que ninguno de los cuerpos rígidos sobrepase las paredes del árbol traqueo-bronquial, siendo calculado cada tramo aplicando al menos un valor de rotación de las articulaciones de la cadena y un movimiento de avance de la cadena.

Description

5 PROCEDIMIENTO Y SISTEMA DE GENERACiÓN DE UN RECORRIDO PARA UNA BRONCOSCOPIA VIRTUAL DESCRIPCiÓN La presente invención se refiere a un procedimiento de generación de un recorrido para una broncoscopia virtual teniendo en cuenta un determinado modelo tridimensional de un árbol traqueo-bronquial y un determinado modelo tridimensional de un broncoscopio. 10 La presente invención se refiere también a un programa informático y un sistema adecuados para llevar a cabo este procedimiento de generación de un recorrido para una broncoscopia virtual. 15 ESTADO DE LA TÉCNICA ANTERIOR El diagnóstico de cáncer de pulmón requiere normalmente la realización de broncoscopias para la biopsia de lesiones identificadas mediante radiografías de pecho o tomografías computarizadas de tórax, aunque en el caso de lesiones pulmonares periféricas pequeñas pueden usarse citologías o biopsias percutáneas por aspiración mediante agujas. Estas técnicas tienen un ratio de éxito elevado pero presentan un cierto riesgo de neumotórax, entre otros 20 inconvenientes. Por consiguiente, las biopsias transbronquiales usando broncoscopios ultrafinos están resultando una buena alternativa dado que estos broncoscopios pueden ser insertados bajo visión directa en bronquios más periféricos que los broncoscopios tradicionales. La identificación de los caminos a través de bronquios accesibles para alcanzar lesiones pulmonares pequeñas es, sin embargo, compleja durante un tiempo de exploración limitado, y por tanto la aplicación de broncoscopias virtuales puede ser de gran ayuda [N. Shinagawa, K. Yamazaki, Y. 25 Onodera, K. Miyasaka, E. Kikuehi, H. Dosaka-Akita, and M. Nishimura, quot;CT-guided transbronehial biopsy using an ultrathin bronehoseope with virtual bronehoseopie navigation,quot; CHEST, vol. 125, no. 3, pp. 1138-1143,2004]. Una broncoscopia virtual es una técnica de reconstrucción tridimensional generada por computador que permite a los médicos o personal sanitario explorar el árbol traqueo-bronquial como ayuda para localizar la zona enferma (por 30 ejemplo haciendo que el tubo bronquial virtual sea semi-transparente con el fin de que el nodo linfático sea visible), evaluar si es necesario realizar la broncoscopia real y planificar automáticamente un recorrido dentro del modelo tridimensional [J. Ferguson and G. MeLennan, quot;Virtual bronehoseopy,quot; Proeeedings of American Thoraeie Soeiety, vol. 2, pp. 488-491, 2005]. Uno de los puntos débiles de los sistemas de broncoscopia virtual actuales es que sólo ofrecen la posibilidad de una exploración mediante una cámara que pasa a través de puntos pre-calculados, que es 35 controlada mediante un teclado o un mouse, por lo que las limitaciones geométricas y cinemáticas del broncoscopio son ignoradas. En consecuencia, por un lado no hay una correspondencia entre los movimientos reales que el médico realizaría con un broncoscopio real, y por otro lado no se proporciona información sobre si una lesión periférica puede ser alcanzada efectivamente con un determinado broncoscopio, o sobre cual sería el punto más cercano a dicha lesión que puede ser alcanzado. 40 La planificación de movimientos para una broncoscopia virtual ha sido, hasta este momento, concebida sólo en el contexto de animaciones navegables, es decir para encontrar un recorrido de una cámara representada por un punto desde la tráquea hasta una región objetivo ignorando las restricciones geométricas y cinemáticas del broncoscopio. Kiraly et al. [A. P. Kiraly, J. Helferty, E. Hoffman, G. MeLennan, and W Higgins, 'Three-dimensional path planning for 45 virtual bronehoseopy,quot; IEEE Trans Med Imaging, vol. 23, pp. 1365-1379, 2004J construyeron un esqueleto a partir de imágenes de tomografía computarizada segmentadas y lo mejoraron eliminando ramificaciones falsas y realizando un proceso de centrado de las ramificaciones, realizando una interpolación de sub-vóxeles mediante funciones spline, y finalmente derivando las direcciones de visión (o exploración). Un enfoque similar pero más simple fue divulgado en la publicación [M. Negahdar, A. Ahmadian, N. Navab, and K. Firouznia, quot;Path planning for virtual 50 bronehoseopy,quot; in Proe. ofthe 28th IEEE EMBS Annuallnf. Cont., 2006, pp. 156-159]. Un broncoscopio (o videobroncoscopio) es un tubo largo, fino y flexible acoplado a una cámara CCD. Algunos autores en el campo de planificación de recorridos se han enfrentado con el problema de planificar recorridos para objetos lineales deformables, como por ejemplo Mol! and Kavraki [M. Mol! and L. Kavraki, quot;Path planning for 55 deformable linear objeets,quot; IEEE Trans. Roboties, vol. 22, no. 4, p. 625636, 2006J en el contexto de la planificación de sutura quirúrgica, o Gayle et al. [R. Gayle, P. Segars, M. Un, and D. Manoeha, quot;Path planning for deformable robots in eomplex environments,quot; in In Roboties: Systems and Seienee, 2005J en el contexto de la planificación de recorridos de catéteres en quimioembolización hepática enfocando el problema como un problema de simulación dinámica restringida. Este último enfoque tiene en cuenta la geometría del catéter de forma limitada aunque no 60 considera las restricciones cinemáticas del mismo, por lo que su aplicación a broncoscopios podría ser factible aunque con ciertas complejidades relevantes y, por supuesto, con las limitaciones/restricciones mencionadas. El movimiento de la cámara acoplada en la punta del broncoscopio tiene tres grados de libertad (la rotación alrededor del eje del tubo, el avance a lo largo de éste y la flexión de la punta) y está afectado por restricciones no holonómicas. Restricciones de movimiento similares se encuentran en la planificación de movimientos de agujas de gran flexibilidad y de punta biselada que se mueven a lo largo de trayectorias curvas en el tejido cuando se aplica 5 una fuerza de empuje hacia adelante. En relación a este problema, Lobaton et al. [S. P. E. Lobaton, J. Zhang and R. Alterovitz, quot;Planning eurvature eonstrained paths to multiple goals using eirele sampling,quot; in Proe. of the IEEE Inf. Conf. on Roboties and Aut., 2011, pp. 1463 -1469J construyó un mapa de carreteras probabilístico mediante el muestreo de círculos de curvatura constante y generando transiciones factibles entre los círculos del muestreo con una fórmula de forma cerrada para espacios de trabajo bidimensionales y tridimensionales, y Patil y Alterovitz [S. 10 Patil and R. Alterovitz, quot;Interaetive motion planning for steerable needles in 3d environments with obstaeles,quot; in Proe. ofthe IEEE RAS/EMBS Inf. Conf. on Biomedieal Roboties and Biomeehatronies, 2010, pp. 893-899J propusieron un árbol aleatorio de exploración rápida con una heurística de muestreo guiado de accesibilidad adaptada a dicho problema, estando esta heurística de muestreo descrita en el documento [A. Shkolnik, M. Walter, and R. Tedrake, quot;Reaehability-guided sampling for planning under differential eonstraints,quot; in Proe. of the IEEE Int. Conf. on Roboties 15 and Automation, 2009, pp. 4387-4393]. Esta última propuesta podría ser adaptada para broncoscopios (con el fin de tener en cuenta que el área de trabajo para la broncoscopia es el árbol traqueobronquial, que es un espacio muy limitado sin obstáculos), usando por ejemplo algunos enfoques basados en árboles aleatorios de exploración rápida como los siguientes: [A. Yershova and S. M. Lavalle, quot;Motion planning for highly eonstrained spaees,quot; Conneet, vol. 396, pp. 297-306, 2009J Y [O. Berenson, T Simeon, and S. Srinivasa, quot;Addressing eost-spaee ehasms in 20 manipulation planning,quot; in Proe. of the IEEE Inf. Conf. on Roboties and Automation, 2011, pp. 4561 -4568]. No obstante, estas adaptaciones podrían ser de aplicación bastante compleja dadas las particularidades asociadas con las broncoscopias. 25 EXPLICACiÓN DE LA INVENCiÓN 30 Por lo tanto, aún existe la necesidad de nuevos procedimientos, programas informáticos y sistemas de planificación de un recorrido para una broncoscopia virtual que solucionen al menos alguno de los problemas antes mencionados. Es un objetivo de la presente invención satisfacer dicha necesidad. En un primer aspecto, la invención proporciona un procedimiento de generación de un recorrido para una broncoscopia virtual, que comprende generar un modelo tridimensional de un árbol traqueo-bronquial y generar un modelo tridimensional de un broncoscopio. El modelo tridimensional del árbol traqueo-bronquial comprende una representación de las paredes del árbol traqueo-bronquial y una representación de una zona objetivo. El modelo 35 tridimensional del broncoscopio comprende una representación de una punta de un tubo visor del broncoscopio mediante una cadena cinemática de cuerpos rígidos con dimensiones predefinidas y conectados entre sí mediante articulaciones de un grado de libertad de rotación. Los cuerpos rígidos comprenden al menos un cuerpo base que representa la base de la punta y un cuerpo visor que representa el extremo visor de la punta. La rotación de las articulaciones, exceptuando la del cuerpo base, representa un movimiento de flexión de la punta. El procedimiento 40 comprende además calcular una secuencia de tramos de desplazamiento de la cadena cinemática que conduzca el cuerpo visor hacia la zona objetivo sin que ninguno de los cuerpos de la cadena sobrepase las paredes del árbol traqueo-bronquial. Cada tramo de desplazamiento es calculado aplicando al menos un valor de rotación de las articulaciones de la cadena y un movimiento de avance de la cadena una vez aplicado dicho valor de rotación. 45 El uso de una cadena cinemática de cuerpos rígidos para modelar, de la manera descrita en el párrafo anterior, la punta del tubo visor del broncoscopio permite una determinación de recorridos de dicha punta para alcanzar un determinado objetivo mucho más realista que en los sistemas actualmente conocidos. En algunas realizaciones de la invención, el procedimiento puede tener en cuenta que la rotación de las 50 articulaciones, exceptuando la del cuerpo base, está limitada a unos ángulos máximo y mínimo predefinidos de rotación de las articulaciones. El hecho de limitar el rango de valores de estas articulaciones permite que los movimientos de la cadena cinemática que modela la punta del broncoscopio se asemejen de manera más fidedigna a los de la punta del broncoscopio real. 55 En realizaciones del procedimiento de la invención, cada cálculo de cada tramo de desplazamiento de la cadena cinemática puede comprender determinar un conjunto de tramos de desplazamiento candidatos, siendo calculado cada tramo de desplazamiento candidato mediante la aplicación de al menos un valor candidato de rotación de las articulaciones de la cadena y un movimiento candidato de avance de la cadena una vez aplicado dicho valor candidato de rotación. Cada cálculo de cada tramo de desplazamiento puede comprender también calcular un coste 60 asociado a cada uno de los tramos de desplazamiento candidatos a partir del cálculo de un coste relativo a la reducción de la distancia entre el cuerpo visor y la zona objetivo que produciría dicho tramo de desplazamiento candidato, siendo menor dicho coste relativo cuanto mayor sea dicha reducción. Además, cada cálculo de cada tramo de desplazamiento puede comprender también determinar el menor de dichos costes calculados asociados a los tramos de desplazamiento candidatos, y seleccionar el tramo de desplazamiento candidato asociado a dicho coste calculado menor. La morfología del árbol traqueo-bronquial permite el uso de técnicas locales de planificación de movimientos (en las 5 que el mejor movimiento a realizar desde cualquier configuración depende de dicha configuración y su entorno inmediato), que son rápidas y efectivas en entornos donde difícilmente se pueden dar situaciones de mínimos locales. La selección del tramo de desplazamiento que reduzca más la distancia del extremo visor de la punta a la zona objetivo, garantiza que el recorrido total desde la configuración inicial hasta dicha zona objetivo sea mínimo. 10 En realizaciones del procedimiento de la invención, calcular el coste asociado a cada uno de los tramos de desplazamiento candidatos puede comprende además calcular un coste relativo al aumento de la distancia entre el cuerpo visor y las paredes del árbol traqueo-bronquial que produciría dicho tramo de desplazamiento candidato, siendo menor dicho coste relativo cuanto mayor sea dicho aumento. La consideración de un coste asociado a la distancia a las paredes redunda en recorridos de máxima holgura que facilitan que existan movimientos que sean 15 físicamente realizables (que respeten las restricciones de los límites de las articulaciones y no produzcan colisiones que bloqueen el avance). En algunas realizaciones del procedimiento, el cálculo de cada tramo de desplazamiento candidato puede comprender además, antes de la aplicación del movimiento candidato de avance, la aplicación de un movimiento 20 candidato de rotación del cuerpo base con respecto a un eje longitudinal de este cuerpo base, representando dicha rotación del cuerpo base un movimiento de torsión de la punta. En estas realizaciones, calcular el coste asociado a cada uno de los tramos de desplazamiento candidatos puede comprender además calcular un coste relativo al movimiento candidato de rotación del cuerpo base, siendo menor dicho coste relativo cuanto menor sea dicha rotación en valor absoluto y con respecto al movimiento precedente. La consideración de un coste asociado al 25 movimiento de rotación del cuerpo base en los términos detallados redunda en un recorrido de la punta del broncoscopio que se puede comandar (tanto en la broncoscopia virtual como en la real) de manera más ergonómica, ya que requiere menos giros de la muñeca que asa el mango del broncoscopio real, y éstos son menores. En realizaciones de la invención, el procedimiento puede tener en cuenta que la rotación del cuerpo base está 30 limitada a unos ángulos máximo y mínimo predefinidos de rotación del cuerpo base. El hecho de limitar el rango de valores de la rotación del cuerpo base (torsión de la punta) permite que los movimientos de la cadena cinemática que modela la punta del broncoscopio se asemejen de manera más fidedigna a los de la punta del broncoscopio real. En concreto, la rotación del mango del broncoscopio real alrededor de su eje (que provoca un giro de la base de la punta alrededor de su eje) se produce mediante un giro de muñeca, que está limitado por la anatomía humana. 35 Los límites de la torsión dependen del modelo de broncoscopio usado, por lo que el hecho de considerar de manera exacta estos límites permite que el recorrido que se obtenga sea efectivamente realizable. En algunas realizaciones, calcular el coste asociado a cada uno de los tramos de desplazamiento candidatos puede comprender además calcular un coste relativo al aumento de la centralidad del cuerpo visor con respecto a la 40 cavidad sustancialmente tubular conformada por las paredes del árbol traqueo-bronquial, siendo menor dicho coste relativo cuanto mayor sea dicho aumento. La consideración de un coste asociado a la rapidez con que el movimiento comandado se aleja de las paredes (se mueve en la dirección del gradiente de la holgura), permite escoger los movimientos tendentes a recentrar el elemento visor en el eje de los bronquios, ganando en la calidad de los recorridos resultantes. 45 En realizaciones del procedimiento, cada coste relativo puede tener asociado un peso, el cual, preferiblemente puede ser parametrizable. Además, en estas realizaciones, calcular el coste asociado a cada uno de los tramos de desplazamiento candidatos puede comprender además aplicar a cada coste relativo calculado su peso asociado. La consideración de estos pesos permite modular la aportación de cada coste. El peso del coste asociado a la distancia 50 al objetivo puede ser el principal para guiar el recorrido hacia su meta, permitiendo los pesos restantes mejorar la calidad del mismo. La parametrización del valor de los pesos permitirá su ajuste en función de las características del broncoscopio usado. En algunas realizaciones, cada cálculo de cada tramo de desplazamiento de la cadena cinemática puede 55 comprender además reducir el tramo de desplazamiento candidato seleccionado descartando una parte final del tramo. El recorrido final es la concatenación de tramos de desplazamiento (se selecciona el tramo siguiente desde la posición final del tramo actual). La reducción del tramo de desplazamiento seleccionado permite calcular el siguiente tramo desde una posición más cercana a la anterior, lo que permite una mejor adaptación al entorno, a la vez que no afecta a la distancia inicial usada para la selección del tramo, que permite que la punta quot;mirequot; más allá del paso que 60 finalmente se realizará. Se ha comprobado experimentalmente que esta reducción de los tramos inicialmente propuestos permite obtener mejores recorridos de la punta del broncoscopio. Preferiblemente, la parte final del tramo descartada es un porcentaje predefinido del tramo, que puede rondar por ejemplo el 20% (por ejemplo 5mm y 1 mm). En realizaciones del procedimiento, determinar el conjunto de tramos de desplazamiento candidatos comprende, para cada uno de dichos tramos de desplazamiento candidatos, verificar si el tramo de desplazamiento candidato causa al menos una colisión de la cadena cinemática con alguna de las paredes del árbol traqueo-bronquial, y realizar, para cada colisión detectada, una simulación dinámica de la colisión y ajustar el tramo de desplazamiento 5 candidato según el resultado de esta simulación. En los movimientos del broncoscopio real, la punta flexionada se va acomodando a las paredes de los bronquios, es decir que si bien el extremo visor de la punta del broncoscopio debe seguir un camino libre de colisiones y centrado al máximo, el resto de cuerpos de la punta pueden colisionar y apoyarse en las paredes para avanzar hacia el objetivo. La consideración de tramos de desplazamiento que pueden resultar en colisiones con las paredes pero sin producirse bloqueos, hace que la simulación permita encontrar 10 recorridos que no serían posibles de otra forma, y que éstos sean mucho más reales. 15 En algunas realizaciones, la simulación dinámica de esta colisión puede ser realizada mediante el uso de la librería OPEN DYNAMICS ENGINE (ODE), la cual es ampliamente usada en la simulación dinámica de cadenas de cuerpos rígidos, por lo que podría ser adecuada para el caso que nos ocupa. Algunas realizaciones del procedimiento pueden comprender además recibir una o más señales procedentes de un dispositivo de usuario, causando dichas señales recibidas la obtención de una sucesión de uno o más tramos de desplazamiento de la cadena cinemática forzados por un usuario. En dichas realizaciones, calcular la secuencia de tramos de desplazamiento de la cadena cinemática puede comprender, para cada tramo de desplazamiento forzado 20 por el usuario, ajustar dicho cálculo tomando como punto de partida este tramo de desplazamiento forzado por el usuario. Estas realizaciones permiten, además de la visión de un camino solución desde un punto inicial en por ejemplo la tráquea hasta una lesión periférica objetivo, la posibilidad de navegar interactivamente a través de los bronquios a la vez que el camino solución se va recalculando desde la posición actual al objetivo, guiando al usuario (médico) mediante la indicación del mejor movimiento a realizar. 25 Realizaciones del procedimiento de la invención pueden comprender además generar, para cada tramo de desplazamiento forzado por el usuario, al menos una señal háptica representativa del desplazamiento de la cadena cinemática entre las paredes del árbol traqueo-bronquial; y enviar cada una de las señales hápticas generadas a un dispositivo háptico de usuario para su transmisión a dicho usuario. La indicación del mejor movimiento a realizar 30 comentado anteriormente, puede realizarse a parte de visualmente, mediante una realimentación háptica proporcional al coste del movimiento de avance escogido y que por lo tanto dificulta el avance del broncoscopio si la orientación escogida por el usuario no es buena (alto coste). Algunas de las realizaciones del procedimiento comentadas anteriormente pueden estar comprendidas en un 35 procedimiento para verificar en una broncoscopia virtual si un determinado modelo de broncoscopio puede alcanzar una zona objetivo que está representada en un determinado modelo de árbol traqueo-bronquial. Realizaciones de este procedimiento de verificación pueden comprender, por tanto, realizar alguna de las realizaciones del procedimiento de generación de un recorrido para una broncoscopia virtual, teniendo en cuenta este determinado modelo de broncoscopio y este determinado modelo de árbol traqueo-bronquial junto con la correspondiente 40 representación de la zona objetivo. Estas realizaciones del procedimiento de verificación pueden comprender además verificar si el recorrido generado alcanza la zona objetivo y, en caso de resultado positivo de dicha verificación, generar al menos una señal indicando que el modelo de broncoscopio sí puede alcanzar la zona objetivo. La broncoscopia virtual puede servir para poder decidir si es realmente factible realizar la broncoscopia real. Actualmente, no se conocen sistemas/procedimientos de broncoscopia virtual que den información sobre si se podrá 45 realizar con éxito la broncoscopia real (llegar al objetivo con un broncoscopio determinado). En un segundo aspecto, la invención provee un programa informático que comprende instrucciones de programa para provocar que un sistema de computación realice el procedimiento según descrito anteriormente. Dicho programa informático puede estar almacenado en unos medios de almacenamiento físico, tales como unos medios 50 de grabación, una memoria de ordenador, o una memoria de solo lectura, o puede ser portado por una onda portadora, tal como eléctrica u óptica. En un tercer aspecto, la invención proporciona un sistema para generar un recorrido para una broncoscopia virtual, que comprende medios de computación para generar un modelo tridimensional de un árbol traqueo-bronquial y 55 medios de computación para generar un modelo tridimensional de un broncoscopio. El modelo tridimensional del árbol traqueo-bronquial comprende una representación de las paredes del árbol traqueo-bronquial y una representación de una zona objetivo. El modelo tridimensional del broncoscopio comprende una representación de una punta de un tubo visor del broncoscopio mediante una cadena cinemática de cuerpos rígidos con dimensiones predefinidas y conectados entre sí mediante articulaciones de un grado de libertad de rotación. Los cuerpos rígidos 60 comprenden al menos un cuerpo base que representa la base de la punta y un cuerpo visor que representa el extremo visor de la punta. La rotación de las articulaciones, exceptuando la del cuerpo base, representa un movimiento de flexión de la punta. El sistema comprende además medios de computación para calcular una secuencia de tramos de desplazamiento de la cadena cinemática que conduzca el cuerpo visor hacia la zona objetivo sin que ninguno de los cuerpos de la cadena sobrepase las paredes del árbol traqueo-bronquial. Cada tramo de desplazamiento es calculado aplicando al menos un valor de rotación de las articulaciones de la cadena y un movimiento de avance de la cadena una vez aplicado dicho valor de rotación. 5 En un cuarto aspecto, la invención proporciona un sistema para generar un recorrido para una broncoscopia virtual, que comprende un procesador y una memoria, estando dicha memoria adaptada para almacenar instrucciones de ordenador ejecutables que, cuando son ejecutadas por el procesador, causan la realización del procedimiento descrito anteriormente. 10 Otros objetos, ventajas y características de realizaciones de la invención se pondrán de manifiesto para el experto en la materia a partir de la descripción, o se pueden aprender con la práctica de la invención. 15 BREVE DESCRIPCiÓN DE LOS DIBUJOS A continuación se describirán realizaciones particulares de la presente invención a título de ejemplo no limitativo, con referencia a los dibujos adjuntos, en los cuales: La figura 1 ilustra esquemáticamente un modelo tridimensional de un árbol traqueo-bronquial, según realizaciones 20 de la invención; La figura 2a ilustra esquemáticamente una punta de un tubo visor de un broncoscopio, según realizaciones de la invención; La figura 2b ilustra esquemáticamente una punta de un tubo visor de un broncoscopio, pero de forma diferente a como lo hace la figura 2a, según realizaciones de la invención; 25 La figura 3 ilustra esquemáticamente un recorrido de la punta del broncoscopio en el que ésta alcanza la zona objetivo, según realizaciones de la invención; y 30 La figura 4 ilustra esquemáticamente un recorrido de la punta del broncoscopio en el que ésta no alcanza la zona objetivo, según realizaciones de la invención. EXPOSICION DETALLADA DE MODOS DE REALIZACiÓN Un sistema para la generación de un recorrido para una broncoscopia virtual, según realizaciones de la invención, puede comprender un procesador y una memoria. Esta memoria (por ejemplo un disco duro y una RAM) puede estar 35 adaptada para almacenar instrucciones de ordenador ejecutables (por ejemplo un programa informático) que, cuando son ejecutadas por el procesador, causan la realización del procedimiento según una cualquiera de las realizaciones que se describen a continuación. En realizaciones de la invención, el sistema puede comprender además unos medios para visualizar los resultados del procedimiento (por ejemplo una pantalla). Estos resultados podrán ser por ejemplo un modelo de árbol traqueo-bronquial, un modelo de broncoscopio, un recorrido de dicho 40 broncoscopio por dicho árbol traqueo-bronquial, un recorrido forzado por un usuario, etc. según se describirá más adelante con respecto a realizaciones del procedimiento. En otras realizaciones, el sistema puede comprender además un dispositivo de usuario, que puede ser un dispositivo háptico, a través del cual un usuario puede por ejemplo forzar un determinado recorrido, recibir unas señales hápticas derivadas del paso del broncoscopio a través de los conductos del árbol traqueo-bronquial, etc. 45 En realizaciones de la invención, el procedimiento de generación de un recorrido para una broncoscopia virtual puede comprender generar un modelo tridimensional de un árbol traqueo-bronquial, comprendiendo dicho modelo una representación de las paredes del árbol traqueo-bronquial y una representación de una zona objetivo, según se describirá más adelante en referencia a la figura 1. El procedimiento puede comprender también la generación de un 50 modelo tridimensional de un broncoscopio, según se describirá más adelante en referencia a la figura 2. Este modelo del broncoscopio puede comprender una representación de una punta de un tubo visor del broncoscopio mediante una cadena cinemática de cuerpos rígidos con dimensiones predefinidas y conectados entre sí mediante articulaciones de un grado de libertad de rotación. Estos cuerpos rígidos pueden comprender al menos un cuerpo base que representa la base de la punta y un cuerpo visor que representa el extremo visor de la punta. Esta rotación 55 de las articulaciones, exceptuando la del cuerpo base, puede representar un movimiento de flexión de la punta del broncoscopio. En estas realizaciones, el procedimiento puede comprender también calcular una secuencia de tramos de desplazamiento de la cadena cinemática que conduzca el cuerpo visor de la cadena cinemática hacia la zona objetivo del árbol traqueo-bronquial. Estos tramos de desplazamiento son calculados teniendo en cuenta que ninguno de los cuerpos que conforman la cadena cinemática sobrepase las paredes del árbol traqueo-bronquial, 60 siendo calculado cada tramo de desplazamiento mediante la aplicación de al menos un valor de rotación de las articulaciones de la cadena y un movimiento de avance de la cadena una vez aplicado dicho valor de rotación. La figura 1 ilustra esquemáticamente un modelo tridimensional de un árbol traqueo-bronquial 10, que comprende una representación de las paredes 11 del árbol traqueo-bronquial 10 Y una representación de una zona objetivo 12. En este modelo 10, la zona objetivo 12 está representada mediante una esfera. 5 En algunas realizaciones, el modelo tridimensional del árbol traqueo-bronquial puede ser obtenido mediante la aplicación de un procedimiento de reconstrucción morfológica a una pila de imágenes bidimensionales obtenidas mediante por ejemplo un escáner de tomografía computarizada. Este procedimiento de reconstrucción morfológica puede basarse, por ejemplo, en los trabajos de Kiraly et al. [A. P. Kiraly, W. E. Higgins, G. Mclennan, E. A. Hoffman, y Reinhardt, quot;Three-dimensiona/ human airway segmentation methods for c/inica/ vitiua/ bronchoscopy,quot; Academic 10 Radi%gy, vol. 9, no. 10, pp. 1153-1168,2002] Y de Babin et al. [A. P. D. Babin, E. Vansteenkiste y W. Philips, quot;Segmentation of airways in /ungs using projections in 3-D CT angiography images,quot; en Proc. of the 32nd Annua//nf. Conf. ofthe /EEE EMBS, 2010, pp. 3162-3165]. En realizaciones del procedimiento, puede generarse una malla triangular tridimensional (o 3D) 15 que envuelva los 15 vóxeles (o píxeles volumétricos) 13, 14 que tengan un nivel de gris por debajo de un determinado umbral. Esta malla 15 puede ser generada usando por ejemplo un software AMIRA (http://www.amira.com/. 2010) Y representada por ejemplo como un fichero VRML (sigla del inglés quot;Vitiua/ Rea/ity Mode/ing Languagequot;; en español quot;Lenguaje para Modelado de Realidad Virtualquot;). La imagen 3D obtenida puede ser binarizada y puede obtenerse un mapa de holgura (en inglés: e/e aran ce) mediante el etiquetado de los vóxeles 14 que pertenecen al interior del árbol traqueo-20 bronquial 10 con la distancia L 1 a las paredes del árbol traqueo-bronquial 10. Entonces, todos estos vóxeles 14 pueden ser por ejemplo representados como un grafo (considerando por ejemplo el vecindario Manhattan) usando por ejemplo la librería Boost Graph. La zona objetivo 12 puede ser una zona del árbol traqueo-bronquial sospechosa de comprender una lesión 25 pulmonar. El objetivo del procedimiento de la invención será, por tanto, definir un recorrido del broncoscopio que permita alcanzar la zona objetivo 12. La zona objetivo 12 puede ser identificada por los médicos en las imágenes de las tomografías computarizadas y representada mediante una esfera 12 en el fichero VRML. Puede realizarse también un procedimiento que permita detectar todos los vóxeles del interior del árbol traqueo-bronquial que se encuentren dentro de la esfera 12 y determinar el vóxel que se encuentra más cerca del centro de la esfera 12, 30 pudiendo este vóxel denominarse el vóxel objetivo. La figura 2a ilustra esquemáticamente una punta de un tubo visor de un broncoscopio. Esta punta 20 está modelada mediante una cadena cinemática de cuerpos rígidos, en este caso esferas 22-25, con dimensiones predefinidas y conectados entre si mediante articulaciones de un grado de libertad de rotación 26, comprendiendo las esferas 22-35 25 al menos una esfera base 22 que representa la base de la punta y una esfera visor 23 que representa el extremo visor de la punta. La rotación 26 de las articulaciones, exceptuando la de la esfera base 22, representan un movimiento de flexión de la punta 20. La cadena cinemática puede comprender un cilindro entre cada par de esferas consecutivas con el fin de completar 25 el hueco 27 existente entre cada par de esferas consecutivas. De este modo, se consigue una representación de la punta más real. En esta figura también se muestra una representación 40 simplificada 21 de la punta 20, la cual presenta forma de tubo 21 y será usada en figuras comentadas posteriormente. La figura 2b ilustra esquemáticamente una punta de un tubo visor de un broncoscopio, pero de forma diferente a como lo hace la figura 2a. En el caso de la figura 2b, el objetivo es explicar unos cálculos que pueden realizarse en 45 el contexto de realizaciones del procedimiento de la invención. Es por ello que los cuerpos rígidos están representados de forma más simple mediante unos enlaces lineales de longitud 1, entre los que se encuentran los que representan tanto el cuerpo base 22 (enlace O) como el cuerpo visor 23 (último enlace). En esta figura, la cadena cinemática está compuesta por un conjunto de n+1 enlaces iguales con unas articulaciones acopladas entre ellas, excepto para el primer enlace 22, el cual es diferente en el sentido de que su articulación no está acoplada. La 50 tabla 1 muestra unos posibles parámetros DH, en la cual los ángulos de las articulaciones ea y ei \eh = l ... n están indicados mediante o: ye, y la flexión total debida a las articulaciones acopladas está indicado mediante ,6, es decir ¡3 = n~. El ángulo o: representa la torsión de la punta, y el ángulo ,6 representa la flexión de la punta. Se añade una transformada fija para definir la base de la cadena con el eje Zh apuntando en la dirección opuesta de la cadena. La cámara está ubicada en el cuerpo visor 23 de la cadena mirando hacia la dirección -Zt. 55 60 Tabla 1 (parámetros DH) (){DH a e d enlace O 0.0 0.0 eo = (){ 0.0 enlaces 1 a n 0.0 l Oí = lE. 0.0 De forma similar a lo comentado antes en referencia a la figura 2a, geométricamente, el primer enlace (enlace O) puede ser una esfera de radio 1; los otros enlaces (desde el 1 hasta el n) pueden estar modelados con dos esferas de radio 1 conectadas con un cilindro de radio y altura también igual a l. En el centro de la esfera visor 23 del último enlace puede definirse un punto central visor (en adelante PCV). El modelo puede tener por ejemplo 11 articulaciones (es decir, n=10) y la longitud 1 de los enlaces puede ser por ejemplo 1 mm, los valores de o: pueden variar entre por ejemplo _60° y 90°, Y los valores de ,6 pueden variar entre por ejemplo _90° y 120°. No obstante, 5 estos parámetros pueden ser fácilmente parametrizables a través de por ejemplo un fichero de entrada en formato XML. 10 En algunas realizaciones, los posibles movimientos de la punta 20, 21 pueden ser descritos con los siguientes tres grados de libertad (acoplados): 1) El movimiento de torsión alrededor del eje del tubo 20, 21, el cual puede ser modelado como un cambio en el ángulo 0:, es decir en la esfera base 22 o en el valor de la primera articulación. 2) La flexión de la punta 20, 21, el cual puede ser modelado como un cambio en el valor e de las articulaciones 15 acopladas, siendo la flexión total igual a ¡3 = nE,o 20 25 3) El movimiento de avance/retroceso del tubo 20, 21 a lo largo de su eje, el cual puede ser modelado por un incremento ,6.z aplicado al cuerpo base que produce una rotación negativa de un ángulo t::.¡3 alrededor del eje Xc: f:::..{3 = f:::..z = 2f:::..z sin(t;j2) d l cos(U2) Para el caso particular de e = o (es decir, la punta está totalmente extendida), corresponde a un movimiento traslacional rectilíneo a lo largo del eje z/). En realizaciones alternativas, el modelo de la punta del broncoscopio podría no comprender el ángulo o: (que representa la torsión de la punta). En estas realizaciones, por tanto, sólo se tendrían en cuenta los movimientos de avance/retroceso y de flexión de la punta. De acuerdo con realizaciones alternativas, ninguno de los ángulos o: (torsión) y ,6 (flexión) estarían limitados a unos ángulos máximo y mínimo. En otras realizaciones, sin embargo, sólo 30 uno de ellos (o:, .6) podría estar limitado a unos ángulos máximo y mínimo. El siguiente algoritmo 1 muestra como puede calcularse la transformación del PCV de la punta después de un movimiento de avance ,6.z, dados unos ángulos de torsión o: y de flexión ,6 determinados. Este algoritmo tiene en cuenta la siguiente notación: (t::.z, a, (3) se refiere al avance, ángulo de torsión y ángulo de flexión, naSei se refiere a 35 la configuración del cuerpo base, n se refiere al número de articulaciones acopladas, 1 se refiere a la longitud de cada enlace, T cin (eo, equot; ... , en) se refiere a la cinemática directa de la cadena, y Tpcv i-1 se refiere a la nueva configuración del PCV. 40 45 50 55 60 Algoritmo 1 3. o 4. (1 1 fl o o 5. 'Tc () 6. o 7. 8. Con el fin de determinar si un enlace L; está en colisión pueden realizarse por ejemplo las siguientes etapas: 1) Localizar el vóxel v(Li) que contiene el centro de la esfera base del enlace (esto puede repetirse también para la esfera final 23 del último enlace). 5 2) Verificar si su valor de holgura cl(v(Lill calculado como la distancia L 1 con respecto a las paredes, satisface la siguiente condición: l d(v(Li)) s: -S en la que ii es el tamaño del lado más grande del vóxel. (1 ) Si se satisface dicha condición, puede considerarse que el enlace está en colisión y la punta no está, por tanto, en 10 una configuración libre. Cuando ninguno de los enlaces está en colisión, puede considerarse que la punta está en una configuración libre y que tiene un valor de distancia asociado a ésta. Este valor de distancia puede ser calculado mediante la suma de todas las holguras calculadas en el proceso de verificación de colisiones descrito antes. Los tramos de desplazamiento y costes asociados pueden obtenerse mediante la aplicación de por ejemplo una 15 función de navegación que puede ser por ejemplo una función del tipo NF1. Esta función de navegación NF1 puede ser obtenida mediante el cálculo de distancias entre cada celda de la malla y el objetivo mediante una propagación de un frente de onda. Esta función NF1, por tanto, otorgaría a cada celda un valor representativo de la distancia entre ésta y el objetivo, con lo que podría calcularse para cada celda un coste según la distancia desde esta celda al objetivo, siendo dicho coste menor cuanto menor sea dicha distancia. 20 Con el fin de evitar posibles contactos de la punta con las paredes del árbol traqueo-bronquial, la función NF1 puede ser adaptada teniendo en cuenta además la holgura entre la punta y las paredes. Esta adaptación puede basarse en reducir el potencial que se propaga a partir de un valor proporcional a la holgura. Teniendo en cuenta por ejemplo que dj es el potencial de un determinado nodo j, que di es el potencial de un nodo vecino i que está siendo 25 expandido, que Cj es la holgura del nodo j (es decir, la distancia L 1 con respecto a los obstáculos o paredes), y que Cmax es un umbral de holgura (u holgura máxima), el potencial dj puede calcularse, partiendo de un potencial cero para la celda objetivo, aplicando la siguiente fórmula: 30 35 if Cj lt; 0.9 Cmax (2) en cualquier otro caso De este modo, cualquier nodo visitado j puede ser visitado otra vez desde otros nodos vecinos en expansión. El potencial dj puede ser actualizado siempre que el nuevo nodo vecino en expansión resulte en un valor menor de dj. Esta adaptación de la función NF1 produce un potencial libre de mínimos locales que resulta en unos tramos de desplazamiento con una gran holgura. Esta función NF1 adaptada puede ser calculada en el árbol traqueo-bronquial empezando desde el vóxel objetivo (que puede ser obtenido de la manera descrita en referencia a la figura 1) y usando Cmax como media de la distancia máxima a las paredes (ésta puede ser calculada eficientemente usando 40 las funciones de la librería Boost Graph). Los valores potenciales calculados por la función NF1 adaptada serán denominados valores NF1. Con el fin de evaluar un control (valores de o: y ,6) aplicado para obtener un avance L1z de la punta del broncoscopio una vez que se ha obtenido una determinada configuración, puede por ejemplo definirse una función de coste que 45 verifique si la nueva configuración resultante es más cercana al objetivo y/o tiene una holgura mejor y/o no requiere un gran cambio en el ángulo o: (torsión). La selección del mejor posible movimiento puede ser aproximado seleccionándolo de entre un conjunto S de por ejemplo 121 pares de valores (o:, .6). Estos valores pueden ser obtenidos mediante un barrido de todo el rango de o: y un subconjunto del rango de ,6 centrado en un valor ;30 correspondiente a la configuración actual: 50 55 C(i,j) = (aí,(3j) = (i5a,(3o +j5(3) i,j E Z, i,j E [-5,5] (3) en el que 6n Rango (n)/lO y o¡3 ~ 5° (si (:3 r:j: Rango (;3) entonces C(i,j) puede no ser considerado). Puede definirse un subconjunto eS libre del conjunto S de pares de valores (o:, ,6) que resultan, después de un avance L1z, en una configuración libre de colisiones. También puede definirse un subconjunto Sválido de eS libre cuyos valores (o:, ,6) también satisfacen que el PCV de la punta del broncoscopio acaba en un vóxel con un valor NF1 menor. De este modo, pueden calcularse los siguientes costes para todos los pares de valores (o:, ,6) pertenecientes a Sválido: 60 KNF1, lCI y Ke,. 5 El coste KNFl permite evaluar la reducción de la función NF1 adaptada, y puede calcularse aplicando la siguiente fórmula: (4) en la que pev NFl (C(i,j)) es el valor de la función NF1 en el vóxel ocupado por el PCV de la punta del broncoscopio después de la aplicación de un avance Llz con un par C(i,)) perteneciente a S válido , y 10 rnNFl minvC(i,j)ES'válidoPCVNl'I(C(i,j)) y AfNF1 = maxVC(i,j)ES'VálidoPCVNFl(C(i,j)), El coste KNF1 menor será por tanto el mejor, es decir el que desplaza el PCV de la punta del broncoscopio más cerca del objetivo (que tiene un valor NF1 igual a cero), 15 El coste Kcl permite evaluar si el movimiento aplicado mejora la centralidad del PCV de la punta del broncoscopio con respecto a la cavidad sustancialmente tubular conformada por las paredes del árbol traqueo-bronquial, Para calcular el Kcl puede calcularse primero el gradiente de la centralidad aplicando la siguiente fórmula: 26 20 g = I)p(Vk) -p(Vo))(cl(Vk) -cl(vo)) (5) k=l en la que p(va) y el( va) son las coordenadas del vóxel más cercano al PCV del broncoscopio y su centralidad 25 respectivamente, y P(Vk) y cl(v.) son las coordenadas y centralidad de uno de los 26 vóxeles vecinos de Va, Para calcular el Kcl puede calcularse también el producto escalar de la dirección del movimiento con el gradiente de la distancia, el cual permite evaluar si la punta del broncoscopio se está moviendo hacia una posición más central de la cavidad sustancialmente tubular conformada por las paredes del árbol traqueo-bronquial, Este producto escalar 30 puede obtenerse aplicando la siguiente fórmula: 35 40 cg(í,j) = { ~(i,j). g if q( i, j) . g gt; O en cualquier otro caso (6) en la que p(i,j)(vO) es la posición del vóxel que contiene el PCV del broncoscopio después de aplicar un avance Llz e ') -p(i,j) (vo)-p(vo) con el par (CtiJ3j), y q 1, J -IIp(i,j) (vol-p(vn) I es la dirección unitaria resultante del movimiento del PCV, Finalmente, puede calcularse el coste Kc/(i,j) aplicando la siguiente fórmula: K (' ') -1 _ cg(i,j) -mcg el Z,J -Mcg -mcg (7) 45 en la que mcg = mínvc( ,j)ESvúlido cg(i,j) y Afcg =maxVCi,jESválirfo cg(i,j), El coste Kcl menor será por tanto el mejor, es decir el que mueve la punta del broncoscopio hacia configuraciones más centrales de la cavidad sustancialmente tubular conformada por las paredes del árbol traqueo-bronquial, 50 El coste K,,, permite evaluar y dar mayor o menor peso tanto a los cambios en o: como al valor absoluto de 0:, No son deseables grandes cambios en 0:, En concreto, son preferibles valores pequeños de 0:, por motivos ergonómicos, cuando la flexión es pequeña, Cuando la flexión no es pequeña, no puede elegirse el valor de o: sino que viene determinado por la geometría de los bronquios, El coste ICe, puede calcularse por ejemplo aplicando la siguiente fórmula: 55 .1) = 0.5(1 -+ (8) en la que y son valores normalizados en el rango [-1,1], El coste Kquot; menor será por tanto el mejor, es decir el que se resulte del menor cambio posible en a y/o del menor valor absoluto de a. A partir de los componentes KNFl, Kc/ Y Kquot; puede obtenerse un coste total en forma de una media ponderada de al 5 menos dos de dichos componentes. Este coste total puede obtenerse por ejemplo aplicando la siguiente fórmula: en la que WNFl es un peso asociado al coste KNFl, Wel es un peso asociado al coste Kc/, Y wquot; es un peso asociado al 1 O coste Kquot;. El valor de K puede estar dentro del rango [0,1] si KNF1, Kcl Y Kquot; están dentro de este rango (como es el caso teniendo en cuenta los cálculos anteriormente descritos) y los pesos WNF1, Wel y wquot; son positivos y satisfacen quot;quot;'NFI -1-Wcl -1-Wa = 1. Teniendo en cuenta todo esto, el mejor movimiento será el que produce un valor menor de K. El siguiente algoritmo 2 permite obtener un recorrido de la punta del broncoscopio a partir de una configuración 15 inicial hasta una configuración final en la que el PCV está dentro del vóxel objetivo. En este algoritmo, Llz se refiere a un avance, quot;ini se refiere a una configuración inicial de la punta del broncoscopio, Vohjetívo se refiere a un vóxel objetivo, P se refiere al recorrido generado por el algoritmo, y alcanzado se refiere a si el Vohjetiro ha sido alcanzado o no por el PCV de la punta del broncoscopio. 20 25 30 35 Algoritmo 2 l. Calcular la fllllción de navegación NFl adaptada 2. P +-Cini mientras (PCV de la punta no está en V obietivo ) hacer 3.1. S = Calcular( a,;3) candidatos usando D.z (calculado con la ecuación (3» 3.2. Sválido = Evaluar S si Sválido = 0 entonces retorna {P, alcanzado=NO} final del si 3.3. c(;,j) = Elegir candidato con el coste K menor (calculado con la ecuación (9» 3.4. C +-mover punta del broncoscopio 3.5. P +-C final del mientras retorna {P, alcanzado=Sí} En este algoritmo 2, cada iteración causada por la sentencia quot;mientrasquot; corresponde al cálculo de un tramo de desplazamiento como parte del recorrido de la punta del broncoscopio. Por lo tanto, cada tramo de desplazamiento calculado estaría definido por Llz y C(í,]), siendo C(í,]) el valor de (a, ,6) que implica un coste menor (etapa 3.3). La 40 etapa 3.1 comprendida en dicho bucle quot;mientrasquot; correspondería a la determinación del conjunto de tramos de desplazamiento candidatos, de entre los que se selecciona el que tiene el coste menor (etapa 3.3). De acuerdo con realizaciones del procedimiento, cada cálculo de cada tramo de desplazamiento de la cadena cinemática (es decir, dentro del bucle quot;mientrasquot; del algoritmo 2) puede comprender además reducir el tramo de 45 desplazamiento candidato seleccionado (como parte del recorrido) descartando una parte final del tramo. Por ejemplo, en determinadas realizaciones, el paso 3.4 del algoritmo 2 puede ser realizado mediante el algoritmo 1 teniendo en cuenta un avance más pequeño 6z lt; Llzy los correspondientes ángulos de torsión y flexión interpolados ao -1-(ai -ao) y (30 -1-((3j -(30) i:, siendo (ao, /30) los ángulos de torsión y flexión de la configuración actual, y siendo C(í.j) = ((l;i, (3j) aquellos que producen el valor de coste K menor cuando se produce 50 un avance Llz. En estas realizaciones, por tanto, el tramo asociado al avance Llz inicialmente considerado quedaría reducido a un tramo más corto (según el avance oz). Algunas o todas las fórmulas indicadas anteriormente en el contexto de realizaciones de la invención, podrían ser parametrizables. Por ejemplo, algunas o todas las constantes que intervienen en estas fórmulas podrían ser 55 parametrizables, con el fin de poder adaptarlas continuamente en función de los resultados que se vayan obteniendo en diferentes ejecuciones del procedimiento. Por ejemplo, los pesos WNF1, quot;quot;'el Y wquot; podrían ser alterados continuamente para dar más o menos relevancia a los costes relativos asociados en función de los resultados obtenidos. 60 Según realizaciones del procedimiento, determinar el conjunto de tramos de desplazamiento candidatos (según por ejemplo el algoritmo 2) puede comprender, para cada uno de dichos tramos de desplazamiento candidatos, verificar si el tramo de desplazamiento candidato causa al menos una colisión de la cadena cinemática con alguna de las 5 paredes del árbol traqueo-bronquial; y realizar, para cada colisión detectada, una simulación dinámica de la colisión y ajustar el tramo de desplazamiento candidato según el resultado de esta simulación. Esta simulación dinámica puede ser realizada por ejemplo mediante el uso de la librería OPEN DYNAMICS ENGINE, aunque podrían usarse otras librerías adecuadas. De acuerdo con realizaciones de la invención, el procedimiento puede comprender recibir una o más señales procedentes de un dispositivo de usuario, causando dichas señales recibidas la obtención de una sucesión de uno o más tramos de desplazamiento de la cadena cinemática forzados por un usuario. En estas realizaciones, calcular la secuencia de tramos de desplazamiento de la cadena cinemática podría comprender, para cada uno de dichos 10 tramos de desplazamiento forzados por el usuario, ajustar dicho cálculo tomando como punto de partida este tramo de desplazamiento forzado por el usuario. En realizaciones de la invención, el procedimiento puede comprender además generar, para cada tramo de desplazamiento forzado por el usuario, al menos una señal háptica representativa del desplazamiento de la cadena 15 cinemática entre las paredes del árbol traqueo-bronquial; y enviar cada una de las señales hápticas generadas a un dispositivo háptico de usuario para su transmisión a dicho usuario. Por ejemplo, colisiones de la cadena cinemática con las paredes del árbol traqueo-bronquial podrían ser transmitidas al usuario a través de dicho dispositivo háptico. Por ejemplo, en el contexto del algoritmo 2, el usuario podría tomar el control de los movimientos (es decir, forzados 20 por el usuario) durante la exploración virtual, es decir, el paso 3.4 podría ser realizado por el usuario mediante un dispositivo, que podría ser un dispositivo háptico. Entonces, con el fin de ayudar al usuario en esta tarea, el mejor movimiento (o tramo de desplazamiento) calculado por el algoritmo 2 en el paso 3.3 podría ser continuamente propuesto al usuario, tanto visualmente como hápticamente (si el dispositivo de usuario es un dispositivo háptico). 25 Diferentes realizaciones del procedimiento podrían usarse en un procedimiento para verificar en una broncoscopia virtual si un modelo de broncoscopio puede alcanzar una zona objetivo que está representada en un modelo de árbol traqueo-bronquial. En este procedimiento de verificación, se podría realizar el procedimiento de generación de un recorrido para una broncoscopia virtual descrito anteriormente, teniendo en cuenta este modelo de broncoscopio y este modelo de árbol traqueo-bronquial junto con su representación de la zona objetivo. Entonces, a partir del 30 recorrido generado, se podría verificar si éste alcanza la zona objetivo y, en caso de resultado positivo de dicha verificación, podría generarse al menos una señal indicando que el modelo de broncoscopio sí puede alcanzar la zona objetivo. La figura 3 ilustra esquemáticamente un recorrido 32 de la punta de un broncoscopio desde una posición inicial 30 35 hasta una posición final 31, permitiendo dicho recorrido 32 que la punta alcance la zona objetivo 12. En este caso, podría generarse (y por ejemplo visualizarse) una señal adecuada indicando que podría valer la pena realizar una broncoscopia real, dado que las posibilidades de que el objetivo sea alcanzado por la punta del broncoscopio podrían ser elevadas. 40 La figura 4 ilustra esquemáticamente un recorrido 42 de la punta de un broncoscopio desde una posición inicial 40 hasta una posición final 41, no permitiendo dicho recorrido 42 que la punta alcance la zona objetivo 43. En este caso, podría generarse (y por ejemplo visualizarse) una señal adecuada indicando que no podría valer la pena realizar una broncoscopia real, dado que las posibilidades de que el objetivo sea alcanzado por la punta del broncoscopio podrían ser reducidas. 45 50 En el caso de la figura 4, también podría ser posible que la punta no pudiera alcanzar la zona objetivo 43 pero que sí fuera alcanzable con, por ejemplo, unas pinzas o similar dispuestas en la punta del broncoscopio. De este modo, podría generarse una señal que indique que la zona objetivo no es alcanzable con la punta del broncoscopio pero que sí sería alcanzable mediante la utilización de una herramienta adecuada, a través del broncoscopio. A pesar de que se han descrito aquí sólo algunas realizaciones y ejemplos particulares de la invención, el experto en la materia comprenderá que son posibles otras realizaciones alternativas y/o usos de la invención, así como modificaciones obvias y elementos equivalentes. Además, la presente invención abarca todas las posibles combinaciones de las realizaciones concretas que se han descrito. El alcance de la presente invención no debe 55 limitarse a realizaciones concretas, sino que debe ser determinado únicamente por una lectura apropiada de las reivindicaciones adjuntas. A pesar también de que las realizaciones descritas de la invención con referencia a los dibujos comprenden sistemas de computación y procesos realizados en sistemas de computación, la invención también se extiende a 60 programas informáticos, más particularmente a programas informáticos en o sobre unos medios portadores, adaptados para poner la invención en práctica. El programa informático puede estar en forma de código fuente, de código objeto o en un código intermedio entre código fuente y código objeto, tal como en forma parcialmente compilada, o en cualquier otra forma adecuada para usar en la implementación de los procesos de acuerdo con la invención. El medio portador puede ser cualquier entidad o dispositivo capaz de portar el programa. Por ejemplo, el medio portador puede comprender un medio de almacenamiento, tal como una ROM, por ejemplo un 5 CD ROM o una ROM semiconductora, o un medio de grabación magnético, por ejemplo un floppy disc o un disco duro. Además, el medio portador puede ser un medio portador transmisible tal como una señal eléctrica u óptica que puede transmitirse vía cable eléctrico u óptico o mediante radio u otros medios. Cuando el programa informático está contenido en una señal que puede transmitirse directamente mediante un 10 cable u otro dispositivo o medio, el medio portador puede estar constituido por dicho cable u otro dispositivo o medio. Alternativamente, el medio portador puede ser un circuito integrado en el que está encapsulado (embedded) el programa informático, estando adaptado dicho circuito integrado para realizar, o para usarse en la realización de, los procesos relevantes.

Claims (21)

REIVINDICACIONES
1. Procedimiento de generación de un recorrido para una broncoscopia virtual, que comprende: generar un modelo tridimensional de un árbol traqueo-bronquial, comprendiendo dicho modelo una 5 representación de las paredes del árbol traqueo-bronquial y una representación de una zona objetivo; generar un modelo tridimensional de un broncoscopio, comprendiendo dicho modelo una representación de una punta de un tubo visor del broncoscopio mediante una cadena cinemática de cuerpos rígidos con dimensiones predefinidas y conectados entre si mediante articulaciones de un grado de libertad de rotación, comprendiendo los cuerpos rígidos al menos un cuerpo base que representa la base de la punta y un cuerpo visor que representa el 10 extremo visor de la punta, y representando dicha rotación de las articulaciones, exceptuando la del cuerpo base, un movimiento de flexión de la punta; calcular una secuencia de tramos de desplazamiento de la cadena cinemática que conduzca el cuerpo visor hacia la zona objetivo sin que ninguno de los cuerpos de la cadena sobrepase las paredes del árbol traqueo-bronquial, siendo calculado cada tramo de desplazamiento mediante la aplicación de al menos un valor de rotación 15 de las articulaciones de la cadena y un movimiento de avance de la cadena una vez aplicado dicho valor de rotación.
2. Procedimiento según la reivindicación 1, en el que la rotación de las articulaciones está limitada a unos ángulos máximo y mínimo predefinidos de rotación de las articulaciones. 20
3. Procedimiento según una cualquiera de las reivindicaciones 1 ó 2, en el que cada cálculo de cada tramo de desplazamiento de la cadena cinemática comprende: determinar un conjunto de tramos de desplazamiento candidatos, siendo calculado cada tramo de desplazamiento candidato mediante la aplicación de al menos un valor candidato de rotación de las articulaciones de la cadena y un movimiento candidato de avance de la cadena una vez aplicado dicho valor candidato de rotación; 25· calcular un coste asociado a cada uno de los tramos de desplazamiento candidatos a partir del cálculo de un coste relativo a la reducción de la distancia entre el cuerpo visor y la zona objetivo que produciría dicho tramo de desplazamiento candidato, siendo menor dicho coste relativo cuanto mayor sea dicha reducción; 30 determinar el menor de dichos costes calculados asociados a los tramos de desplazamiento candidatos; seleccionar el tramo de desplazamiento candidato asociado a dicho coste calculado menor.
4. Procedimiento según la reivindicación 3, en el que calcular el coste asociado a cada uno de los tramos de desplazamiento candidatos comprende además: calcular un coste relativo al aumento de la distancia entre el cuerpo visor y las paredes del árbol traqueo-bronquial que produciría dicho tramo de desplazamiento candidato, siendo menor dicho coste relativo cuanto mayor 35 sea dicho aumento.
5. Procedimiento según una cualquiera de las reivindicaciones 3 ó 4, en el que el cálculo de cada tramo de desplazamiento candidato comprende además, antes de la aplicación del movimiento candidato de avance, la aplicación de un movimiento candidato de rotación del cuerpo base con respecto a un eje longitudinal de este cuerpo 40 base, representando dicha rotación del cuerpo base un movimiento de torsión de la punta; y en el que calcular el coste asociado a cada uno de los tramos de desplazamiento candidatos comprende además: calcular un coste relativo al movimiento candidato de rotación del cuerpo base, siendo menor dicho coste relativo cuanto menor sea dicha rotación en valor absoluto y con respecto al movimiento precedente. 45
6. Procedimiento según la reivindicación 5, en el que la rotación del cuerpo base está limitado a unos ángulos máximo y mínimo predefinidos de rotación del cuerpo base.
7. Procedimiento según una cualquiera de las reivindicaciones 3 a 6, en el que calcular el coste asociado a cada uno de los tramos de desplazamiento candidatos comprende además: 50· calcular un coste relativo al aumento de la centralidad del cuerpo visor con respecto a la cavidad sustancialmente tubular conformada por las paredes del árbol traqueo-bronquial, siendo menor dicho coste relativo cuanto mayor sea dicho aumento.
8. Procedimiento según una cualquiera de las reivindicaciones 3 a 7, en el que cada coste relativo tiene asociado un 55 peso; y 60 en el que calcular el coste asociado a cada uno de los tramos de desplazamiento candidatos comprende además: aplicar a cada coste relativo calculado su peso asociado.
9. Procedimiento según la reivindicación 8, en el que cada peso asociado a un coste relativo es parametrizable.
10. Procedimiento según una cualquiera de las reivindicaciones 2 a 9, en el que cada cálculo de cada tramo de desplazamiento de la cadena cinemática comprende además: reducir el tramo de desplazamiento candidato seleccionado descartando una parte final del tramo.
11. Procedimiento según la reivindicación 10, en el que la parte final del tramo descartada es un porcentaje predefinido del tramo. 5
12. Procedimiento según una cualquiera de las reivindicaciones 3 a 11, en el que determinar el conjunto de tramos de desplazamiento candidatos comprende, para cada uno de dichos tramos de desplazamiento candidatos: verificar si el tramo de desplazamiento candidato causa al menos una colisión de la cadena cinemática con alguna de las paredes del árbol traqueo-bronquial; realizar, para cada colisión detectada, una simulación dinámica de la colisión y ajustar el tramo de 10 desplazamiento candidato según el resultado de esta simulación.
13. Procedimiento según la reivindicación 12, en el que la simulación dinámica de esta colisión es realizada mediante el uso de la librería OPEN DYNAMICS ENGINE. 15
14. Procedimiento según una cualquiera de las reivindicaciones anteriores, que comprende además: recibir una o más señales procedentes de un dispositivo de usuario, causando dichas señales recibidas la obtención de una sucesión de uno o más tramos de desplazamiento de la cadena cinemática forzados por un usuario; y en el que calcular la secuencia de tramos de desplazamiento de la cadena cinemática comprende, para cada tramo 20 de desplazamiento forzado por el usuario, ajustar dicho cálculo tomando como punto de partida este tramo de desplazamiento forzado por el usuario.
15. Procedimiento según la reivindicación 14, que comprende además: generar, para cada tramo de desplazamiento forzado por el usuario, al menos una señal háptica representativa 25 del desplazamiento de la cadena cinemática entre las paredes del árbol traqueo-bronquial; enviar cada una de las señales hápticas generadas a un dispositivo háptico de usuario para su transmisión a dicho usuario.
16. Procedimiento para verificar en una broncoscopia virtual si un modelo de broncoscopio puede alcanzar una zona 30 objetivo representada en un modelo de árbol traqueo-bronquial, que comprende: realizar el procedimiento de generación de un recorrido para una broncoscopia virtual según una cualquiera de las reivindicaciones 1 a 15, teniendo en cuenta este modelo de broncoscopio y este modelo de árbol traqueo-bronquial junto con su representación de la zona objetivo; verificar si el recorrido generado alcanza la zona objetivo y, en caso de resultado positivo de dicha verificación, 35 generar al menos una señal indicando que el modelo de broncoscopio sí puede alcanzar la zona objetivo.
17. Programa informático que comprende instrucciones de programa para provocar que un sistema de computación realice el procedimiento según una cualquiera de las reivindicaciones 1 a 16. 40
18. Programa informático según la reivindicación 17, que está almacenado en unos medios de grabación.
19. Programa informático según la reivindicación 17, que es portado por una señal portadora.
20. Sistema para la generación de un recorrido para una broncoscopia virtual, que comprende: 45· medios de computación para generar un modelo tridimensional de un árbol traqueo-bronquial, comprendiendo dicho modelo una representación de las paredes del árbol traqueo-bronquial y una representación de una zona objetivo; medios de computación para generar un modelo tridimensional de un broncoscopio, comprendiendo dicho modelo una representación de una punta de un tubo visor del broncoscopio mediante una cadena cinemática de 50 cuerpos rígidos con dimensiones predefinidas y conectados entre si mediante articulaciones de un grado de libertad de rotación, comprendiendo los cuerpos rígidos al menos un cuerpo base que representa la base de la punta y un cuerpo visor que representa el extremo visor de la punta, y representando dicha rotación de las articulaciones, exceptuando la del cuerpo base, un movimiento de flexión de la punta; medios de computación para calcular una secuencia de tramos de desplazamiento de la cadena cinemática que 55 conduzca el cuerpo visor hacia la zona objetivo sin que ninguno de los cuerpos de la cadena sobrepase las paredes del árbol traqueo-bronquial, siendo calculado cada tramo de desplazamiento mediante la aplicación de al menos un valor de rotación de las articulaciones de la cadena y un movimiento de avance de la cadena una vez aplicado dicho valor de rotación. 60
21. Sistema para la generación de un recorrido para una broncoscopia virtual, que comprende un procesador y una memoria; en el que la memoria está adaptada para almacenar instrucciones de ordenador ejecutables que, cuando son ejecutadas por el procesador, causan la realización del procedimiento según una cualquiera de las reivindicaciones 1 a 16.
ES201230732A 2012-05-14 2012-05-14 Procedimiento y sistema de generación de un recorrido para una broncoscopia virtual Expired - Fee Related ES2387785B1 (es)

Priority Applications (2)

Application Number Priority Date Filing Date Title
ES201230732A ES2387785B1 (es) 2012-05-14 2012-05-14 Procedimiento y sistema de generación de un recorrido para una broncoscopia virtual
PCT/ES2013/070306 WO2013171356A1 (es) 2012-05-14 2013-05-14 Procedimiento de generación de un recorrido para una broncoscopia virtual

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
ES201230732A ES2387785B1 (es) 2012-05-14 2012-05-14 Procedimiento y sistema de generación de un recorrido para una broncoscopia virtual

Publications (2)

Publication Number Publication Date
ES2387785A1 ES2387785A1 (es) 2012-10-01
ES2387785B1 true ES2387785B1 (es) 2013-05-08

Family

ID=46826963

Family Applications (1)

Application Number Title Priority Date Filing Date
ES201230732A Expired - Fee Related ES2387785B1 (es) 2012-05-14 2012-05-14 Procedimiento y sistema de generación de un recorrido para una broncoscopia virtual

Country Status (2)

Country Link
ES (1) ES2387785B1 (es)
WO (1) WO2013171356A1 (es)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10163262B2 (en) 2015-06-19 2018-12-25 Covidien Lp Systems and methods for navigating through airways in a virtual bronchoscopy view

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6148095A (en) * 1997-09-08 2000-11-14 University Of Iowa Research Foundation Apparatus and method for determining three-dimensional representations of tortuous vessels
US6538634B1 (en) * 1998-12-18 2003-03-25 Kent Ridge Digital Labs Apparatus for the simulation of image-guided surgery
WO2002086797A1 (en) * 2001-03-06 2002-10-31 The John Hopkins University School Of Medicine Simulation method for designing customized medical devices
EP1937178B1 (en) * 2005-10-11 2011-12-14 Koninklijke Philips Electronics N.V. 3d tool path planning, simulation and control system
US8568302B2 (en) * 2008-11-11 2013-10-29 Intuitive Surgical Operations, Inc. Method and system for steerable medical device path definition and following during insertion and retraction

Also Published As

Publication number Publication date
WO2013171356A1 (es) 2013-11-21
ES2387785A1 (es) 2012-10-01

Similar Documents

Publication Publication Date Title
US11631174B2 (en) Adaptive navigation technique for navigating a catheter through a body channel or cavity
US8116847B2 (en) System and method for determining an optimal surgical trajectory
JP5442993B2 (ja) 3d器具経路計画立案、シミュレーションおよび制御システム
US7277833B2 (en) Modeling of the workspace and active pending behavior of an endscope using filter functions
Geiger et al. Simulation of endoscopy
US20170035517A1 (en) Dynamic and interactive navigation in a surgical environment
CN107067398B (zh) 用于三维医学模型中缺失血管的补全方法及装置
He et al. Reliable path for virtual endoscopy: Ensuring complete examination of human organs
Neubauer et al. Advanced virtual endoscopic pituitary surgery
WO2009019617A2 (en) 3d tissue model formation from non-parallel 2d images
CN114145846A (zh) 基于增强现实辅助的手术导航方法及系统
CN110301883B (zh) 用于导航管状网络的基于图像的向导
Cabras et al. Haptic-based navigation for the virtual bronchoscopy
JP2022506985A (ja) 管状構造の切断面表示
Paulus et al. Handling topological changes during elastic registration: Application to augmented reality in laparoscopic surgery
US20240041535A1 (en) Dynamic deformation tracking for navigational bronchoscopy
ES2387785B1 (es) Procedimiento y sistema de generación de un recorrido para una broncoscopia virtual
JP3704652B2 (ja) 3次元画像処理方法
Bentley et al. Interactive-rate supervisory control for arbitrarily-routed multitendon robots via motion planning
KR102583320B1 (ko) 증강현실 기반 뇌실천자술을 위한 뇌 변형 예측 방법, 이를 수행하기 위한 기록 매체 및 장치
Shibuya et al. Proposal of Simulation-Based Surgical Navigation and Development of Laparoscopic Surgical Simulator that Reflects Motion of Surgical Instruments in Real-World
CN116157088A (zh) 用于规划和执行活检程序的系统及相关方法
Kukuk Modeling the internal and external constraints of a flexible endoscope for calculating its workspace: application in transbronchial needle aspiration guidance
CN104138296A (zh) 一种手术导航系统
CN116801828A (zh) 导航支气管镜检查的动态变形跟踪

Legal Events

Date Code Title Description
FG2A Definitive protection

Ref document number: 2387785

Country of ref document: ES

Kind code of ref document: B1

Effective date: 20130508

FD2A Announcement of lapse in spain

Effective date: 20210929