ES3010641T3 - Image processing techniques for plunger depth measurement - Google Patents
Image processing techniques for plunger depth measurement Download PDFInfo
- Publication number
- ES3010641T3 ES3010641T3 ES17758666T ES17758666T ES3010641T3 ES 3010641 T3 ES3010641 T3 ES 3010641T3 ES 17758666 T ES17758666 T ES 17758666T ES 17758666 T ES17758666 T ES 17758666T ES 3010641 T3 ES3010641 T3 ES 3010641T3
- Authority
- ES
- Spain
- Prior art keywords
- plunger
- image
- flange
- roi
- syringe
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61M—DEVICES FOR INTRODUCING MEDIA INTO, OR ONTO, THE BODY; DEVICES FOR TRANSDUCING BODY MEDIA OR FOR TAKING MEDIA FROM THE BODY; DEVICES FOR PRODUCING OR ENDING SLEEP OR STUPOR
- A61M5/00—Devices for bringing media into the body in a subcutaneous, intra-vascular or intramuscular way; Accessories therefor, e.g. filling or cleaning devices, arm-rests
- A61M5/178—Syringes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61M—DEVICES FOR INTRODUCING MEDIA INTO, OR ONTO, THE BODY; DEVICES FOR TRANSDUCING BODY MEDIA OR FOR TAKING MEDIA FROM THE BODY; DEVICES FOR PRODUCING OR ENDING SLEEP OR STUPOR
- A61M2205/00—General characteristics of the apparatus
- A61M2205/33—Controlling, regulating or measuring
- A61M2205/3306—Optical measuring means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Anesthesiology (AREA)
- Heart & Thoracic Surgery (AREA)
- Hematology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Animal Behavior & Ethology (AREA)
- General Health & Medical Sciences (AREA)
- Public Health (AREA)
- Veterinary Medicine (AREA)
- Vascular Medicine (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
Se describe un sistema de inspección visual automatizada (AVI) para medir la profundidad de los émbolos ubicados en vasos sanguíneos. El sistema AVI implementa diversos tipos de procesamiento de imágenes, así como otras técnicas, para identificar, en un vaso sanguíneo, un punto de referencia y el borde superior del émbolo. Debido a la posibilidad de introducir inconsistencias o artefactos en la imagen del vaso, se pueden aplicar diferentes técnicas de procesamiento en la región que contiene el punto de referencia y en la región del émbolo. De esta manera, el sistema AVI proporciona un método robusto para medir con precisión la profundidad del émbolo, altamente resistente a los artefactos mencionados, y que mide de forma consistente la profundidad del émbolo en una amplia variedad de tipos de vasos. (Traducción automática con Google Translate, sin valor legal)
Description
DESCRIPCIÓN
Técnicas de procesamiento de imágenes para la medición de la profundidad del émbolo
Campo de la descripción
La presente solicitud hace referencia, en general, a las técnicas de procesamiento de imágenes utilizadas como parte de un sistema de inspección visual automatizado (AVI) para medir la profundidad de los émbolos colocados dentro de vasos colocados opcionalmente en bandejas semitranslúcidas.
Antecedentes
Los sistemas AVI se utilizan en el ámbito del envasado clínico para controlar la calidad. En particular, los sistemas AVI se pueden utilizar para probar jeringuillas, como las utilizadas en las plumas autoinyectoras, para determinar la profundidad adecuada del émbolo (es decir, el émbolo de caucho o el tapón). Para las jeringas autoinyectoras, la posición del émbolo dentro de la jeringa es de particular importancia, ya que una profundidad del émbolo que caiga fuera del rango de mediciones especificado puede hacer que el autoinyector funcione incorrectamente o proporcione una dosis inadecuada. Por ejemplo, si el émbolo se coloca demasiado bajo en la jeringa (es decir, cerca de la aguja), el pistón activado por resorte de la pluma autoinyectora puede recorrer una distancia mayor antes de entrar en contacto, acumulando de este modo una energía cinética excesiva. Esto puede producir una onda de choque en el cuerpo de vidrio de la jeringa al entrar en contacto con el émbolo, lo que puede provocar la rotura del vidrio cerca del extremo cónico de la aguja. Además, la medición de la profundidad del émbolo es una comprobación importante para controlar el proceso de llenado y garantizar la integridad del cierre del contenedor.
Los sistemas AVI tradicionales miden la profundidad del émbolo identificando un borde superior de la brida de la jeringa y un borde superior del émbolo, y determinan la diferencia entre estos dos bordes en términos de píxeles y, a continuación, convierten el valor de píxel en una medida lineal del mundo real basada en un factor de conversión. Sin embargo, debido al proceso de fabricación, las bridas de las jeringas de vidrio suelen tener una forma algo irregular e impredecible y pueden incluir ondulaciones que dificultan la identificación precisa del borde superior de la brida por parte de los algoritmos típicos de procesamiento de imágenes. Además, a menudo se realiza el procedimiento de prueba en un área que no es un entorno de sala limpia, por lo que se puede depositar polvo o residuos en la brida de la jeringa y provocar que las técnicas tradicionales de procesamiento de imágenes identifiquen incorrectamente el borde superior de la brida como un área asociada a dichos artefactos. Para agravar aún más este problema, los defectos de las bandejas que sostienen las jeringas se pueden trasladar a la imagen que se está analizando y las técnicas habituales de procesamiento de imágenes pueden identificar incorrectamente dichos defectos de la bandeja como el borde superior de la brida. Los documentos WO2016/045699A1 y EP 2 247 324 describen sistemas para obtener imágenes de jeringuillas.
Con respecto a la medición del borde superior del émbolo, los análisis de imágenes convencionales, como la función de detección de bordes, identifican los bordes superior y lateral del émbolo dentro de una región de interés (ROI) fija. Utilizando esta información, los sistemas AVI convencionales suelen identificar la línea central del émbolo y utilizar la intersección de esta línea con el borde superior del émbolo como referencia para medir la profundidad del émbolo desde el borde superior de la brida. Sin embargo, estas técnicas están limitadas por la utilización de una ROI fija, y por consiguiente estos sistemas convencionales solo se pueden utilizar para probar un único tamaño y tipo de jeringa. Además, las características de la bandeja utilizadas para asegurar cada jeringa dentro de la bandeja pueden ocultar parcialmente el émbolo y/o el operador puede no alinear correctamente las jeringas, lo que provocaría que las técnicas de detección de bordes fallaran. Para complicar aún más este problema, las imperfecciones de la pared del contenedor de la jeringa y/o los hoyuelos del émbolo que existen a lo largo de su borde superior pueden provocar que los algoritmos típicos de detección de bordes fallen o identifiquen incorrectamente el borde superior del émbolo. Como resultado, los sistemas AVI típicos utilizados para las pruebas de jeringas tienen varios inconvenientes.
Resumen de la descripción
La invención se define en las reivindicaciones. Las formas de realización descritas en la presente memoria están dirigidas a un sistema AVI que mide la profundidad de los émbolos colocados dentro de un recipiente (por ejemplo, una jeringa o cartucho). De este modo, el sistema AVI descrito en la presente memoria puede ayudar a reducir el rechazo inadecuado de los recipientes probados, garantizando al mismo tiempo que una empresa se adhiere a las directrices de prueba reglamentarias y de cumplimiento dentro de un nivel aceptable de riesgo empresarial. El sistema AVI descrito en la presente memoria incluye una platina que acepta un solo recipiente o una bandeja de recipientes. En las formas de realización, un sistema motorizado lineal avanza incrementalmente cada recipiente dentro del campo de visión de un generador de imágenes para adquirir secuencialmente y probar cada recipiente mediante el procesamiento de imágenes en conjunto con otras técnicas de procesamiento. En otras formas de realización, se pueden obtener imágenes de varios recipientes a la vez con un campo de visión más amplio. Una vez que se adquiere una imagen de un recipiente particular (o de varios recipientes) por medio del generador de imágenes, el sistema AVI descrito en la presente memoria ejecuta una serie de algoritmos de procesamiento de imágenes en diferentes regiones de la imagen adquirida. En el caso de que el recipiente que se está probando sea una jeringa, los algoritmos de procesamiento de imágenes identifican la coordenada y del borde superior de la brida de la jeringa y el émbolo de esta. Una vez identificada, el sistema AVI mide la diferencia entre estos valores de coordenada y, en términos de píxeles y, a continuación, convierte este valor de píxeles a una medida del mundo real, que representa la profundidad del émbolo.
Para superar los problemas mencionados anteriormente relacionados con la identificación del borde superior de la brida, el sistema AVI identifica una ROI de la brida dentro de la imagen de la jeringa y la binariza utilizando una técnica denominada «análisis de manchas». El sistema AVI puede llevar a cabo algoritmos adicionales de procesamiento de imágenes para reducir los artefactos, como un algoritmo de cierre que incluye la dilatación de píxeles, el relleno de agujeros y la erosión, y la utilización de una fila horizontal de exploración y la técnica de vinculación para llenar los vacíos de fragmentos de manchas fragmentadas. Tras la finalización de este procesamiento de imágenes, el sistema AVI identifica un borde superior de la brida dentro de la imagen binarizada procesada, garantizando de este modo una identificación precisa incluso en presencia de polvo, residuos, defectos en la bandeja, inconsistencias en la brida, etc.
Para superar los problemas mencionados anteriormente relacionados con la identificación del borde superior del émbolo, el sistema AVI identifica una ROI del émbolo dentro de la imagen del recipiente y utiliza un algoritmo de coincidencia de plantillas para hacer coincidir matemáticamente el émbolo con una imagen de plantilla más pequeña. Una vez identificada esta plantilla, el sistema AVI refine la ROI original del émbolo alineando, o anclando, la plantilla de coincidencia sobre la imagen del émbolo. Esta ROI del émbolo refinado permite llevar a cabo un análisis más detallado de la parte superior del émbolo, que puede no ser completamente plana y/o perpendicular a la pared interior de vidrio, y que puede presentar hoyuelos u otros artefactos, como protuberancias de la bandeja. Para hacer frente a estos artefactos, el sistema AVI ejecuta una serie de detecciones de bordes de una dimensión (1D) que están separados uniformemente a lo largo de la parte superior del émbolo utilizando la ROI refinada como guía. Esta serie de detecciones de bordes 1D produce una matriz de valores de coordenadas y, asignando un valor de coordenada y a cada división uniformemente separada. La matriz de valores de coordenadas y se restringe aún más por medio de un proceso de filtrado para eliminar valores atípicos (es decir, valores de coordenadas y que se desvían considerablemente de la parte plana de la parte superior del émbolo). A continuación, se calcula el borde superior del émbolo con precisión y se utiliza como punto de referencia para medir la profundidad del émbolo utilizando este conjunto de valores de coordenadas y restringidos.
Breve descripción de los dibujos
El experto en la técnica comprenderá que las figuras descritas en la presente memoria se incluyen con fines ilustrativos y no limitan la presente descripción. Los dibujos no están necesariamente a escala, sino que se hace hincapié en ilustrar los principios de la presente descripción. Se debe entender que, en algunos casos, diversos aspectos de las implementaciones descritas se pueden mostrar exagerados o ampliados para facilitar la comprensión de las implementaciones descritas. En los dibujos, los caracteres de referencia similares a lo largo de los diversos dibujos hacen referencia generalmente a componentes funcionalmente similares y/o estructuralmente similares.
La Fig. 1 ilustra un sistema de inspección visual automatizada (AVI) 100, de acuerdo con una forma de realización de la presente descripción.
La Fig. 2 es un ejemplo de diagrama de bloques que ilustra un sistema de control 200 asociado al sistema AVI 100, de acuerdo con una forma de realización de la presente descripción.
La Fig. 3 muestra un ejemplo de imagen adquirida de una jeringa 300, de acuerdo con una forma de realización de la presente descripción.
La Fig. 4A es un ejemplo de una región de interés (ROI) de brida 400 con un defecto de bandeja en el fondo, de acuerdo con una forma de realización de la presente descripción.
La Fig. 4B es un ejemplo de una ROI de la brida binarizada 450, que indica un borde superior de la brida falso debido al defecto de la bandeja.
La Fig. 5 es un ejemplo de una ROI de brida binarizada 500 que indica un borde superior de la brida falsamente identificado debido a la fragmentación de la mancha.
La Fig. 6A es un ejemplo de una técnica de enlace para una ROI de brida binarizada 600, de acuerdo con una forma de realización de la presente descripción.
La Fig. 6B es un ejemplo de una ROI de brida binarizada 650 rellena de vacíos resultante de aplicar la técnica de enlace mostrada en la Fig. 6A, de acuerdo con una forma de realización de la presente descripción.
La Fig. 7 es un ejemplo de una ROI 700 del émbolo que indica protuberancias de la bandeja que esconden parcialmente el émbolo, de acuerdo con una forma de realización de la presente descripción.
Las FIG. 8A y 8B son imágenes de ejemplo 800 y 850, respectivamente, de la parte superior de un émbolo que indican un borde superior del émbolo que ha sido incorrectamente identificado.
Las FIG. 9A-9B son imágenes de ejemplo 900 y 950, respectivamente, de una ROI de émbolo refinado que está alineada con la parte superior del émbolo para facilitar la detección unidimensional (1D) de bordes, de acuerdo con una forma de realización de la presente descripción.
La Fig. 10 ilustra un ejemplo de flujo de método 1000 para probar la profundidad apropiada del émbolo de la jeringa, de acuerdo con una forma de realización de la presente descripción.
Descripción detallada
Los diversos conceptos introducidos anteriormente y descritos en mayor detalle a continuación se pueden implementar de muchas maneras, y los conceptos descritos no se limitan a ninguna manera particular de implementación. Los ejemplos de implementaciones se proporcionan con fines ilustrativos.
La Fig. 1 ilustra un sistema de inspección visual automatizado (AVI) 100, de acuerdo con una forma de realización de la presente descripción. El sistema AVI 100 incluye una platina 112 en la que se montan varios componentes del sistema, incluido un controlador 104 que puede contener los diversos componentes electrónicos de comunicación, control y/o procesamiento utilizados de acuerdo con las formas de realización descritas en la presente memoria y descritas más adelante con referencia a la Fig. 2.
El sistema AVI 100 incluye un soporte de bandeja 109. Según se muestra en la Fig. 1, el soporte de bandeja 109 se ilustra como configurado para recibir una bandeja 108 que incluye uno o más recipientes 106. Según se ha descrito en la presente memoria, la operación del sistema AVI 100 se describe en términos de medir la profundidad del émbolo dentro de una jeringa. Sin embargo, el sistema AVI 100 se puede implementar para medir la profundidad del émbolo en cualquier tipo de recipiente adecuado que tenga un émbolo, como cartuchos. Por lo tanto, el soporte de bandeja 109 se puede implementar, en diversas formas de realización, como un componente modular que facilite las mediciones de profundidad del émbolo para una amplia variedad de tamaños y/o tipos de recipientes. Por ejemplo, las bandejas 108 se pueden implementar como bandejas acanaladas, como las fabricadas por Rondo-Pak, Inc. de Camden, NJ, y se pueden dimensionar para alojar un total de 17 jeringas con un volumen máximo de 2,25 ml, un total de 20 jeringas con un volumen máximo de 1 ml, etc. Por lo tanto, las formas de realización incluyen que el sistema AVI 100 utilice un soporte de bandeja 109 de cualquier tamaño y forma adecuados para dar cabida a diferentes bandejas y recipientes, y para mantener firmemente la bandeja de recipientes en una posición fija durante la prueba, independientemente del tamaño y el número de recipientes contenidos dentro de la bandeja 108.
Según se describe más adelante, las formas de realización incluyen que el sistema AVI 100 opere de manera iterativa, es decir, mide secuencialmente la profundidad del émbolo de cada recipiente 106 contenido en la bandeja 108 de acuerdo con las diversas técnicas de procesamiento de imágenes descritas en la presente memoria. Para ello, el sistema AVI 100 incluye un mecanismo de accionamiento lineal 113 acoplado a la platina 112 y al soporte de la bandeja 109. El mecanismo de accionamiento lineal 113 se puede implementar como cualquier tipo de sistema accionado por motor que pueda alinear de forma fiable y constante los recipientes 106 debajo del generador de imágenes 102. Por ejemplo, el mecanismo de accionamiento lineal 113 se puede implementar como un componente modular que tenga un motor integrado, un controlador, un amplificador, un codificador y un bus de comunicación, como el Smartmotor SM23165D, fabricado por Moog Animatics de Mountain View (California). Otro ejemplo sería el mecanismo de accionamiento lineal 113, que se puede implementar como cualquier tipo de cinta transportadora adecuado (por ejemplo, una cinta transportadora translúcida) configurada para avanzar la bandeja 108 para la medición de la profundidad del émbolo. Por supuesto, algunos componentes pueden necesitar adaptaciones para los sistemas de cinta transportadora. Por ejemplo, se puede implementar una cámara guiada por visión (no mostrada) para escanear cada recipiente, deteniéndose y avanzando, a menos que la cámara se mueva brevemente con la cinta transportadora antes de volver a su origen.
En algunas formas de realización, el generador de imágenes 102 puede incluir cualquier número y/o tipo de cámaras digitales y/o elementos ópticos configurados para adquirir una imagen de cada recipiente 106 a medida que avanza dentro del campo de visión del generador de imágenes 102, de calidad y resolución adecuadas para el procesamiento de imágenes. El generador de imágenes 102 puede incluir cualquier combinación adecuada de hardware y/o software para facilitar esta funcionalidad, como sensores de imagen, estabilizadores ópticos, búferes de imagen, búferes de fotogramas, capturadores de fotogramas, dispositivos de acoplamiento de carga (CCD), dispositivos semiconductores de óxido metálico complementarios (CMOS), etc. Además, el generador de imágenes 102 puede incluir una o más lentes telecéntricas para proporcionar una ampliación de la imagen de los recipientes 106 que sea independiente de la distancia o posición del recipiente en el campo de visión. Además, el generador de imágenes 102 se puede comunicar con el controlador 104 (según se describe más adelante con referencia a la Fig. 2) y enviar las imágenes adquiridas al controlador 104 para su procesamiento. Como alternativa, el generador de imágenes 102 puede almacenar las imágenes adquiridas localmente en cualquier tipo de memoria adecuado y el controlador 104 puede acceder a esta memoria para procesarlas.
Para proporcionar otro ejemplo, el generador de imágenes 102 se puede implementar como una «cámara inteligente», con lógica de procesamiento de imágenes incorporada en la cámara mediante cualquier técnica adecuada, como tecnologías de matriz de puertas programables en campo (FPGA), por ejemplo. Para proporcionar todavía otro ejemplo, el generador de imágenes 102 puede formar parte de un sistema de cámara 3D plenóptica. Para proporcionar un ejemplo específico de una implementación del generador de imágenes 102, la parte de la cámara del generador de imágenes 102 se puede implementar como una unidad de cámara de exploración de área industrial con una interfaz de comunicación Gigabit Ethernet, como la cámara monocroma industrial piA2400-17gm fabricada por Basler AG de Ahrensburg (Alemania), que graba imágenes a una resolución de 5 MP. Para proporcionar otro ejemplo específico de una implementación del generador de imágenes 102, el generador de imágenes 102 puede utilizar una lente telecéntrica fabricada por Edmund Optics de Barrington (Nueva Jersey, EE. UU.) con el número de pieza 62-933, que proporciona un aumento de 0,28x. Utilizando las implementaciones de ejemplo de la cámara Basler con la lente telecéntrica Edmund Optics descrita anteriormente, el generador de imágenes 102 puede adquirir imágenes con una resolución espacial de aproximadamente 12 micras por píxel.
Para implementar la obtención de imágenes de jeringas, el sistema AVI 100 también puede incluir una fuente de luz 110 montada por debajo del generador de imágenes 102, que ilumina el área detrás de la bandeja 108 mientras se obtiene una imagen de cada recipiente 106. Esta fuente de luz se puede implementar como cualquier número y/o tipo de unidades de iluminación adecuadas para proporcionar una fuente de luz suficientemente uniforme y brillante para el generador de imágenes 102. Por ejemplo, la fuente de luz 110 se puede implementar como un LED de alta uniformidad fabricado por CCS America, Inc. de Burlington, MA, con el número de pieza TH-83X75RD.
El controlador 104 puede incluir uno o más componentes configurados para comunicarse con y/o controlar el mecanismo de accionamiento lineal 113, la fuente de luz 110 y el generador de imágenes 102. Por lo tanto, el controlador 104 puede ordenar al mecanismo de accionamiento lineal 113 que mueva de forma selectiva el soporte de bandeja 109 y, por lo tanto, los recipientes 106 contenidos en la bandeja 108, dentro del campo de visión por debajo del generador de imágenes 102, para activar la fuente de luz 110 y adquirir una imagen de cada recipiente 106 para procesar las imágenes y medir la profundidad del émbolo. Como cada recipiente 106 se prueba de esta manera, el sistema AVI 100 también puede notificar al usuario si la medición de la profundidad del émbolo se sale de un rango de valores aceptable con cualquier tipo de alerta o sistema de advertencia adecuado, que no se muestra en la Fig. 1 por motivos de brevedad.
Aunque en la Fig. 1 el sistema AVI 100 se muestra recibiendo la bandeja 108 y avanzando los recipientes 106 de manera horizontal, las formas de realización incluyen que el sistema AVI 100 se configure para obtener de forma secuencial imágenes de los recipientes 106 en cualquier orientación y/o dirección adecuada. Por ejemplo, el mecanismo de accionamiento lineal 113, el soporte de la bandeja 109 y la fuente de luz 110 se pueden montar verticalmente con respecto a la platina 112, mientras que el generador de imágenes 102 se puede montar horizontalmente, de modo que los recipientes 106 puedan avanzar y visualizarse en dirección vertical.
Además, el sistema AVI 100 se describe como una forma de llevar a cabo sucesivamente mediciones de profundidad del émbolo de varios recipientes en términos de incremento lineal de la bandeja 108 y de tomar imágenes individuales de cada recipiente 106. Sin embargo, las formas de realización descritas en la presente memoria no se limitan a estas. Por ejemplo, el generador de imágenes 102 puede implementar ópticas para proporcionar un campo de visión más amplio, de tal forma que se pueda capturar una sola imagen que incluya varios recipientes simultáneamente, con las formas de realización incluyendo la aplicación de los algoritmos descritos en la presente memoria a cada uno de los recipientes individuales incluidos en la misma imagen. Además, en algunas formas de realización, la bandeja 108 y el soporte de bandeja 109 se pueden omitir o modificar de tal forma que se obtenga una imagen de un solo recipiente 106 cada vez.
La Fig. 2 es un ejemplo de diagrama de bloques que ilustra un sistema de control 200 asociado con el sistema AVI 100, de acuerdo con una forma de realización de la presente descripción. Según se describe con más detalle más adelante, el sistema de control 200 puede incluir un controlador 202 configurado para comunicarse con y controlar varios componentes del sistema AVI 100, como el generador de imágenes 240, el mecanismo de accionamiento lineal 260 y/o la fuente de luz 280, por ejemplo. En una forma de realización, el controlador 202, el generador de imágenes 240, el mecanismo de accionamiento lineal 260 y la fuente de luz 280 pueden ser una implementación del controlador 104, el generador de imágenes 102, el mecanismo de accionamiento lineal 113 y la fuente de luz 110, respectivamente, según se describe en la presente memoria con respecto a la Fig. 1.
Además, en una forma de realización, el sistema de control 200 se configura para facilitar el funcionamiento totalmente autónomo o semiautónomo del sistema AVI 100. Para ello, el sistema de control 200 puede soportar llevar a cabo un análisis automático de las imágenes de una serie de jeringas que se incluyen en una bandeja para medir la profundidad del émbolo de cada jeringa. Una vez más, esta medición de la profundidad del émbolo de la jeringa se puede comparar entonces con un rango de valores aceptables (para cada jeringa probada), que se puede establecer en función del tamaño y/o del tipo de jeringas que se están probando.
El controlador 202 se puede implementar, por ejemplo, como cualquier combinación adecuada de hardware y/o software acoplado a o en comunicación de otro modo con uno o más del generador de imágenes 240, el mecanismo de accionamiento lineal 260, la fuente de luz 280 y/o otros componentes del sistema AVI 100. Por ejemplo, el controlador 202 se puede implementar como un dispositivo montado o integrado en como parte de la platina 112, según se muestra en la Fig. 1, o el controlador 202 puede estar situado a distancia del sistema AVI 100. En cualquier caso, el controlador 202 se puede acoplar a uno o más del generador de imágenes 240, el mecanismo de accionamiento lineal 260 y/o la fuente de luz 280 por medio de enlaces cableados, enlaces inalámbricos o cualquier combinación adecuada de los mismos. Por consiguiente, los enlaces 220, 222 y/o 224 pueden representar dichos enlaces para facilitar las comunicaciones entre estos componentes. Aunque en la FIG. 2 se muestran tres enlaces separados 220, 222 y 224, se entenderá que el controlador 202 se puede comunicar con uno o más del generador de imágenes 240, el mecanismo de accionamiento lineal 260 y/o la fuente de luz 280 por medio de cualquier número adecuado de enlaces, incluidos los compartidos.
Para facilitar la comunicación con estos componentes y/o su control, el controlador 202 puede incluir una unidad de procesamiento 204, una unidad de comunicación 206 y una unidad de memoria 208. La unidad de procesamiento 204 se puede implementar como cualquier tipo y/o número adecuado de procesadores, por ejemplo, el procesador anfitrión del controlador 202. Para proporcionar ejemplos adicionales, la unidad de procesamiento 204 se puede implementar como un circuito integrado de aplicación específica (ASIC), un procesador integrado, una unidad central de procesamiento asociada con el controlador 202, etc. La unidad de procesamiento 204 se puede acoplar y/o configurar de otro modo para comunicar, controlar, operar junto con, y/o afectar a la operación de una o más de la unidad de comunicación 206 y/o de memoria 208 por medio de una o más interconexiones cableadas y/o inalámbricas, tales como cualquier número adecuado de buses de datos y/o direcciones, por ejemplo. Estas interconexiones no se muestran en la Fig. 2 por motivos de brevedad.
Por ejemplo, la unidad de procesamiento 204 se puede configurar para recuperar, procesar y/o analizar datos almacenados en la unidad de memoria 208, para almacenar datos en la unidad de memoria 208, para reemplazar datos almacenados en la unidad de memoria 208 y/o para controlar diversas funciones asociadas con el generador de imágenes 240, el mecanismo de accionamiento lineal 260 y/o la fuente de luz 280. Por ejemplo, la unidad de procesamiento 204, sola o junto con otros componentes implementados por el controlador 202 (algunos de los cuales pueden no mostrarse en la FIG. 2 por motivos de brevedad), puede hacer que el mecanismo de accionamiento lineal 260 haga avanzar una bandeja de jeringas para alinearla con el generador de imágenes 240, activar la fuente de luz 280, adquirir imágenes de jeringas y almacenarlas en cualquier parte adecuada de la unidad de memoria 208 (u otro dispositivo de almacenamiento adecuado). Además, la unidad de procesamiento 204, sola o junto con otros componentes implementados por el controlador 202, puede facilitar que el controlador 202 analice las imágenes de las jeringas almacenadas de acuerdo con las técnicas de procesamiento de imágenes descritas en la presente memoria, calculando una profundidad de émbolo en función de este procesamiento de imágenes, determinando si la profundidad de émbolo medida está dentro de un rango de valores aceptables y notificando a un usuario los resultados de cualquier manera adecuada. A continuación, se describen detalles adicionales asociados con dichas funciones.
La unidad de comunicación 206 se puede configurar para soportar cualquier número y/o tipo de protocolos de comunicación adecuados para facilitar las comunicaciones entre el controlador 202 y uno o más del generador de imágenes 240, el mecanismo de accionamiento lineal 260 y/o la fuente de luz 280. La unidad de comunicación 206 se puede configurar para facilitar el intercambio de cualquier tipo de información adecuado entre el controlador 202 y uno o más de estos componentes (por ejemplo, por medio de los enlaces 220, 222 y/o 224) y se puede implementar como cualquier combinación adecuada de hardware y/o software para facilitar dicha funcionalidad. Por ejemplo, la unidad de comunicación 206 se puede implementar con cualquier número de transceptores cableados y/o inalámbricos, búferes, módems, puertos, interfaces de entrada/salida, conectores, antenas, etc.
De acuerdo con diversas formas de realización, la unidad de memoria 208 puede ser un dispositivo de almacenamiento no transitorio legible por ordenador que puede incluir cualquier combinación adecuada de memoria volátil (por ejemplo, una memoria de acceso aleatorio (RAM)) o no volátil (por ejemplo, RAM respaldada por batería, flash, etc.). La unidad de memoria 208 se puede configurar para almacenar instrucciones ejecutables en la unidad de procesamiento 204. Estas instrucciones pueden incluir instrucciones legibles por máquina que, cuando son ejecutadas por la unidad de procesamiento 204, hacen que esta unidad 204 lleve a cabo diversos actos, según se describe en la presente memoria. Aunque las diversas funciones del controlador 202 se describen en la presente memoria en términos de ejecución de instrucciones almacenadas en la unidad de memoria 208 por medio de la unidad de procesamiento 204, se entenderá que funciones equivalentes se pueden realizar exclusivamente por medio de componentes de hardware (por ejemplo, componentes de circuito) o componentes de hardware (por ejemplo, los implementados por medio de la unidad de comunicación 206) que trabajan junto con la unidad de procesamiento 204 ejecutando instrucciones almacenadas en la unidad de memoria 208. La unidad de memoria 208 también se puede configurar para almacenar cualquier otro dato adecuado utilizado junto con el sistema AVI 100, como imágenes capturadas por el generador de imágenes 240.
Los diversos módulos almacenados en la unidad de memoria 208 pueden representar una o más aplicaciones (por ejemplo, software, hardware o combinaciones de ambos) que se asocian con diferentes funciones y/o llevan a cabo tareas específicas asociadas con el funcionamiento del sistema AVI 100, y por lo tanto se modularizan en la Fig. 2 para facilitar la explicación. Estos módulos pueden representar, por ejemplo, uno o más algoritmos, lógica y código, instrucciones ejecutables, programas, componentes de hardware generales, especializados o programables, etc.
Por ejemplo, el módulo de control 209 puede ser una región de la unidad de memoria 208 configurada para almacenar instrucciones que, cuando son ejecutadas por la unidad de procesamiento 204, hacen que esta unidad 204 transmita una o más órdenes y/o reciba información de uno o más componentes del sistema AVI 100. En una forma de realización, la unidad de procesamiento 204 puede ejecutar instrucciones almacenadas en el módulo de control 209 para leer la posición actual del mecanismo de accionamiento lineal 260 y transmitir una o más órdenes (por ejemplo, por medio del enlace 222) al mecanismo de accionamiento lineal 260 para hacer avanzar la bandeja 108 y posicionar la siguiente jeringa por debajo del generador de imágenes 240. Además, las instrucciones almacenadas en el módulo de control 209 pueden hacer que el controlador 202 transmita una o más órdenes a la fuente de luz 280 (por ejemplo, por medio del enlace 224) para controlar el estado de la fuente de luz 280, que puede incluir encenderla y apagarla, ajustar la longitud de onda y/o la intensidad de la luz, etc.
Además, las instrucciones almacenadas en el módulo de control 209 pueden hacer que el controlador 202 transmita una o más órdenes a el generador de imágenes 240 para controlar el estado de la impresora de imágenes 240, que puede incluir la adquisición y almacenamiento de imágenes de recipientes. Un ejemplo de una de estas imágenes se muestra en la Fig. 3 como imagen de jeringa 300, a la que se hace referencia en la presente memoria para facilitar la explicación. En particular, la imagen de la jeringa 300 se puede utilizar para describir las técnicas de procesamiento de imágenes utilizadas para medir la profundidad del émbolo 314, que se representa en la Fig. 3 como la diferencia entre el borde superior de la brida 310 y el borde superior del émbolo 312.
El módulo de análisis de imágenes de referencia 211 es una región de la unidad de memoria 208 configurada para almacenar instrucciones que, cuando son ejecutadas por la unidad de procesamiento 204, hacen que esta unidad de procesamiento 204 lleve a cabo diversos actos de acuerdo con las formas de realización aplicables descritas en la presente memoria. En una forma de realización, el módulo de análisis de imágenes de referencia 211 incluye instrucciones que, cuando son ejecutadas por la unidad de procesamiento 204, hacen que esta unidad analice una imagen de recipiente adquirida por el generador de imágenes 240 para identificar un punto de referencia o de anclaje adecuado para medir la profundidad del émbolo. Por ejemplo, si se toman imágenes de jeringas, el módulo de análisis de imágenes de referencia 211 incluye instrucciones que, cuando son ejecutadas por la unidad de procesamiento 204, hacen que esta unidad identifique el borde superior de una brida de jeringa dentro de la imagen. Para proporcionar otro ejemplo, si se obtienen imágenes de cartuchos, el módulo de análisis de imágenes de referencia 211 puede incluir instrucciones que, cuando se ejecutan por la unidad de procesamiento 204, hacen que esta unidad identifique un borde terminal o distal del cuerpo del cartucho de vidrio dentro de la imagen. En cualquier caso, esto se puede definir de la manera que se considere más adecuada. Por ejemplo, un punto de anclaje se puede establecer como el punto «más alto» (es decir, la coordenada y del píxel más alto) de la superficie superior de una brida o el punto más alto asociado con el borde superior del cartucho en relación con el eje del cuerpo de la jeringa. En el ejemplo de la imagen de una jeringa, esto se indica mediante el borde superior de la brida 310, según se muestra en la Fig. 3.
Definir el borde superior de la brida de esta manera permite identificarlo a pesar de cualquier ondulación de la brida. Para ello, el módulo de análisis de imágenes de la brida 211 incluye instrucciones que permiten a la unidad de procesamiento 204 identificar una región de interés (ROI) de brida 302 dentro de la imagen global de la jeringa 300 que abarca la brida 303. En algunas formas de realización, la ROI de la brida 302, así como las otras ROI dentro de la imagen 300 de la jeringa, se identifican para mejorar la eficiencia de las operaciones de procesamiento de imágenes. En otras palabras, la utilización de ROI permite procesar la imagen en una parte más pequeña de la imagen del recipiente en lugar de toda la imagen, lo que sería innecesario y requeriría mucho más tiempo y recursos de procesamiento.
En diversas formas de realización, cualquier ROI de punto de referencia adecuada, como la ROI de brida 302 en este ejemplo, se puede identificar de cualquier manera adecuada. Por ejemplo, la unidad de procesamiento 204 puede localizar la ROI de brida 302 identificando la característica oscura más grande dentro de una región más grande predefinida de la imagen 300 de la jeringa. La imagen de la brida 300 también incluye otras ROI, como una ROI del émbolo 304 inicial, o basta, así como las ROI del émbolo 306 y 308 refinadas. Estas ROI de émbolo se describen más adelante en relación con las técnicas de análisis de imágenes utilizadas para identificar el borde superior del émbolo 312.
Una vez identificada la ROI de brida 302, las formas de realización incluyen que la unidad de procesamiento 204 ejecute instrucciones almacenadas en el módulo de análisis de imágenes de la brida 211 para llevar a cabo varias operaciones de procesamiento de imágenes y determinar el borde superior de la brida 310. En una forma de realización, una etapa inicial de procesamiento de imágenes incluye aplicar un valor umbral al punto de referencia ROI (por ejemplo, la brida ROI) para crear una imagen ''binarizada''. A continuación, en este ejemplo, una vez que la ROI de la brida ha sido binarizada, los píxeles adyacentes de valor similar se pueden organizar en objetos continuos o manchas. A continuación, a partir de los objetos bidimensionales contenidos en la imagen binarizada, se pueden definir características como el área, la posición del centroide y los bordes delimitadores, que se pueden utilizar para identificar el borde superior de la brida.
En algunas formas de realización, esta imagen binarizada se genera, por ejemplo, de acuerdo con técnicas de análisis de manchas que comparan el valor de color de cada píxel con un valor de color de píxel umbral y establecen el valor de color de cada píxel dentro de la ROI de la brida en uno (blanco) o cero (negro) en función de esta comparación. Por ejemplo, para una imagen en escala de grises de 8 bits, cada píxel dentro de la ROI de la brida puede representar un valor de color entre el negro (0) y el blanco (255). Se puede seleccionar un valor de color umbral entre esta escala de valores de color, de tal forma que los valores de color de los píxeles por debajo de este valor de color umbral se establezcan en un valor binario de 0 (negro), mientras que los valores de color de los píxeles por encima de este valor de color umbral se establezcan en un valor binario de 1 (blanco). En varias formas de realización, se puede elegir cualquier valor de color umbral adecuado para diferenciar adecuadamente la brida dentro de la ROI de la brida del fondo de la imagen. Por ejemplo, se puede elegir un valor de color umbral de 130/255, de tal forma que los valores de color de los píxeles entre 0 y 129 se establezcan en negro, y los valores de color de los píxeles entre 130 y 255, en blanco.
En las Fig. 4A-4B se muestra un ejemplo de aplicación del análisis de manchas para convertir una ROI de la brida en una imagen binarizada. En particular, la FIG. 4A muestra con mayor detalle una ROI de la brida 400 y la Fig. 4B muestra una ROI de la brida 450 binarizada después de aplicar el análisis de manchas descrito anteriormente a la ROI de la brida 400. Debido a que la ROI de la brida 400 incluye un defecto de bandeja 401 en el fondo, este defecto en particular también está presente en la ROI de la brida 450 binarizada. Como resultado, un análisis convencional de procesamiento de imágenes de la ROI binarizada 450 identificaría incorrectamente el borde superior de la brida como la línea 452 en lugar de la línea 454.
En diversas formas de realización, una o más etapas de procesamiento de imágenes se pueden llevar a cabo antes de convertir la ROI a una imagen binarizada, como las mostradas en las Fig.4A-4B, por ejemplo. Por ejemplo, algunos recipientes más grandes (por ejemplo, aquellos con un volumen máximo de 2,25 ml) tienden a alinearse con ciertas características de la bandeja. Para proporcionar un ejemplo ilustrativo, las jeringas más grandes se pueden colocar dentro de una bandeja de tal forma que las bridas se posicionan por encima de un área más oscura de la bandeja dentro de la imagen que la de las jeringas más pequeñas. Una razón para esta alineación son las diferencias de tamaño entre los recipientes, así como las diferencias en el diseño de las bandejas para acomodar diferentes tipos de jeringas.
En cualquier caso, cuando una brida (u otro punto de referencia asociado con otro tipo de recipiente) descansa sobre un área más oscura de la bandeja dentro de la imagen, la pérdida de contraste puede dificultar la identificación del borde superior de la brida. Para solucionar este problema, las formas de realización incluyen que primero se extraiga la ROI de la brida y, a continuación, se aplique una convolución de la ROI de la brida con uno o más núcleos de cualquier tamaño y/o tipo adecuado. Para proporcionar un ejemplo ilustrativo, se puede implementar una variante del núcleo de Sobel 3x3, de acuerdo con una aplicación de codificación Labview, para llevar a cabo esta operación de procesamiento de imágenes. Esto produce una imagen de "borde" que resalta esencialmente los bordes superiores de las características oscuras de la imagen original. Una vez llevada a cabo esta convolución, las formas de realización incluyen además que la sustracción de la imagen convolucionada (es decir, el borde) de la imagen original oscurezca el borde superior de la brida y aumentar el contraste de esta contra el fondo de la bandeja. Como resultado, la distinción posterior de la brida de la bandeja en el fondo se puede llevar a cabo más fácilmente y de manera más eficaz. En la última página del apéndice se muestra un ejemplo de las imágenes generadas de acuerdo con esta etapa de procesamiento de imágenes. Una vez llevado a cabo este procesamiento de imágenes, las formas de realización incluyen que la binarización de la imagen resultante produzca la ROI binarizada, según se describe en la presente memoria.
Otros artefactos presentes en la ROI de la brida también se pueden introducir en la ROI de la brida binarizada y provocar asimismo que las técnicas convencionales de procesamiento de imágenes identifiquen incorrectamente el borde superior real de la brida. Por ejemplo, en función de la forma específica del recipiente y de la orientación rotacional del recipiente en la bandeja cuando se toma la imagen, la ROI binarizada de la brida puede variar sustancialmente de una jeringa a otra. Por ejemplo, según se muestra en la Fig. 5, una ROI de brida binarizada fragmentada 500 ilustra el resultado de la fragmentación de la mancha. En particular, la parte superior de la ROI de la brida binarizada 500 incluye varias manchas más pequeñas 502 que constituyen la brida, así como una mancha 504 provocada por la bandeja del fondo que se está visualizando y binarizando. Para identificar el borde superior de la brida, las técnicas de procesamiento de imágenes pueden asumir que la mancha continua más grande dentro de la ROI de la brida binarizada está asociada con esta. Sin embargo, si la mancha está fragmentada y/o hay otros artefactos en la imagen binarizada, esto puede no ser necesariamente el caso, según se muestra en la Fig. 5. Como resultado, un análisis convencional de procesamiento de imágenes de la ROI de la brida binarizada 500 identificaría incorrectamente el borde superior de la brida como la línea 506 en lugar de la línea 508, ya que la mancha 504 es la mancha continua más grande dentro de la ROI de la brida binarizada 500.
Por consiguiente, las formas de realización incluyen que la unidad de procesamiento 204 ejecute instrucciones almacenadas en el módulo de análisis de imágenes de la brida 211 para llevar a cabo una o más operaciones de procesamiento de imágenes adicionales con las que identificar de forma fiable el borde superior de la brida independientemente del polvo, los residuos, los defectos de la bandeja, la fragmentación del objeto de la brida, etc. En diversas formas de realización, se pueden variar diferentes métricas asociadas con el sistema de formación de imágenes para contrarrestar muchos de estos artefactos, que se pueden ajustar en combinación con varios algoritmos de procesamiento de imágenes, según se describe a continuación y en otras partes de la presente memoria.
Por ejemplo, la intensidad de la luz de fondo, entre otros parámetros de la formación de imágenes, se puede ajustar para reducir los artefactos de fondo. Con referencia de nuevo a la Fig. 1, esto puede incluir el ajuste de la intensidad de la luz asociada con la fuente de luz 110, de tal forma que algunos de estos artefactos sean "blanqueados" o reduzcan su tamaño, lo que a su vez aumenta la eficacia de los demás algoritmos de procesamiento de imágenes, según se describe en la presente memoria. Por otra parte, el aumento de la intensidad de la luz de fondo plantea un pequeño riesgo para la fidelidad de la medición, ya que las extremidades del objeto brida (u otra parte adecuada del recipiente fotografiado, según corresponda) también se pueden blanquear. Esto puede conducir a una reducción global del tamaño del objeto en cuestión (por ejemplo, la brida), así como a una reducción de la posición aparente del borde superior. Por consiguiente, las formas de realización incluyen que el equilibrio de la intensidad de la luz de cualquier manera adecuada, como en función de la bandeja y/o del tipo de recipiente que se está probando y/o por medio de otras métricas de formación de imágenes, tenga en cuenta el impacto biológico del producto cuando sea relevante. Para proporcionar un ejemplo ilustrativo, una intensidad de luz de fondo del generador de imágenes de 200-220 lx.hr puede reducir adecuadamente los artefactos de acuerdo con las formas de realización descritas en la presente memoria. Además, las formas de realización incluyen que una o más métricas asociadas con el generador de imágenes (por ejemplo, el generador de imágenes 102) sean ajustadas, como la apertura del objetivo telecéntrico, la ganancia de la cámara y/o técnicas de procesamiento digital de imágenes, además o en lugar de aumentar la intensidad de iluminación, para reducir los artefactos.
Independientemente de la configuración de imágenes utilizada para adquirir imágenes, una vez que una imagen es adquirida y binarizada, las formas de realización incluyen que uno o más algoritmos de procesamiento de imágenes se lleven a cabo adicionalmente o como alternativa en la ROI de brida inicial binarizada para "cerrar" las manchas, eliminar artefactos y garantizar que la mancha continua más grande dentro de la ROI de brida binarizada está, de hecho, asociada con la brida. En una forma de realización, la unidad de procesamiento 204 puede ejecutar un algoritmo de "cierre". Para ello, las formas de realización primero aplican un algoritmo de dilatación de píxeles a la ROI de la brida binarizada inicial, de tal forma que el borde de cada mancha se expande en cada dirección por un número determinado de píxeles para generar una imagen de la brida binarizada dilatada. Esta dilatación se puede llevar a cabo en el número de iteraciones adecuado (por ejemplo, 6, 8, 10, etc.), con cada iteración que expande los bordes de cada mancha en uno o más píxeles. Por ejemplo, el algoritmo de dilatación se puede aplicar 8 veces, con cada iteración expandiendo los bordes de las manchas contenidas en la ROI de la brida binarizada por un solo píxel, de modo que los bordes de las manchas se expandan por 8 píxeles en cada dirección. Una vez expandidos los bordes de cada mancha en uno o más píxeles, el algoritmo de cierre también puede incluir la unidad de procesamiento 204, que ejecuta un algoritmo de "agujero relleno" para rellenar las cavidades dentro de cada mancha (ahora expandida).
Después de completar la dilatación y el relleno de agujeros, el algoritmo de cierre puede incluir además la unidad de procesamiento 204 aplicando un algoritmo de erosión a la imagen de la brida binarizada dilatada y rellena de agujeros para eliminar iterativamente píxeles de sus bordes por un número determinado de píxeles en cada iteración sucesiva, creando de este modo la ROI de la brida binarizada. En una forma de realización, el número de iteraciones de erosión puede ser igual al número de iteraciones de dilatación mencionadas anteriormente, con cada iteración reduciendo los bordes de cada mancha en uno o más píxeles. Siguiendo con el ejemplo anterior, el algoritmo de erosión se puede aplicar 8 veces, con cada iteración reduciendo los bordes de la imagen de la brida binarizada dilatada y llena de agujeros en un solo píxel, de modo que los bordes de la mancha se reduzcan en 8 píxeles en cada dirección.
En algunas formas de realización, la unidad de procesamiento 204 puede aplicar un algoritmo de relleno de vacíos o de "enlace" a los fragmentos de manchas después de ejecutar el algoritmo de cierre descrito anteriormente. En otras formas de realización, el algoritmo de enlace se puede ejecutar independientemente de si el algoritmo de cierre se ha llevado a cabo. En cualquier caso, este algoritmo de enlace puede permitir a la unidad de procesamiento 204 combinar las manchas asociadas a la brida entre sí sin combinarlas con las manchas asociadas a la bandeja del fondo. Esto puede incluir, por ejemplo, el escaneo horizontal y la vinculación de filas individuales dentro de las manchas contenidas en la imagen de la brida binarizada, que se describe con más detalle a continuación con referencia a la imagen de la brida binarizada 600, según se muestra en la Fig. 6A.
En una forma de realización, el algoritmo de enlace puede incluir que la unidad de procesamiento 204 escanee cada fila horizontal individual dentro de la imagen de la brida binarizada 600 en cualquier dirección (es decir, de derecha a izquierda o de izquierda a derecha). Una de estas filas escaneadas se muestra en la Fig. 6A como fila 602, aunque las formas de realización incluyen que la unidad de procesamiento 204 repita este proceso para cada fila horizontal contenida en la imagen de brida binarizada 600. En una forma de realización, la fila horizontal se puede asociar con una única dimensión de píxel, lo que permite que la unidad de procesamiento 204 lleve a cabo un escaneo unidimensional (1D) de cada fila horizontal píxel a píxel. A medida que se escanea la fila 602 (por ejemplo, de izquierda a derecha en el ejemplo mostrado en la Fig. 6A), la unidad de procesamiento 204 puede identificar el valor de píxel asociado a cada píxel de la imagen de la brida binarizada 600 como 1 (es decir, blanco u otro color monocromo) o 0 (es decir, el fondo negro).
De este modo, la unidad de procesamiento 204 puede identificar, además, la ubicación y ocurrencia de transiciones de valor binario de píxel de un valor binario de 1 a un valor binario de 0, denominadas en la presente memoria "bordes descendentes", según se muestra en la Fig. 6A. Además, la unidad de procesamiento 204 puede identificar la ubicación y ocurrencia de transiciones de valor binario de píxel de un valor binario de 0 a un valor binario de 1, que se denominan en la presente memoria "bordes ascendentes". Por lo tanto, a medida que se escanea cada fila horizontal, se pueden identificar pares de píxeles de borde descendente y ascendente, y el espacio de píxeles 1 D entre estos pares de píxeles de borde descendente y ascendente se puede "rellenar" o "enlazar". Este proceso de enlace puede incluir, por ejemplo, que la unidad de procesamiento 204 establezca, o ajuste de otro modo, el valor de píxel de cada píxel entre pares de píxeles de borde descendente y ascendente adyacentes de un valor binario de 0 a un valor binario de 1, según se muestra en la Fig. 6A para la fila 602. Tras escanear y rellenar cada fila de la imagen de la brida binarizada 600 de esta manera, las formas de realización incluyen que la unidad de procesamiento 204 genere una imagen de la brida binarizada unificada 650 que incluye los píxeles dentro de cada fila horizontal escaneada de forma individual y ajustada de esta manera, según se muestra en la Fig. 6B. Por lo tanto, el proceso de ejecutar el algoritmo de cierre junto con el algoritmo de enlace puede funcionar para "cerrar" cada una de las manchas contenidas en la ROI de la brida binarizada y combinar fragmentos de imagen de la brida. Además, la etapa de «erosión» descrita anteriormente con respecto al algoritmo de cierre puede eliminar más artefactos, como polvo y residuos y otros artefactos de las bandejas en el fondo. Esto garantiza que la mancha continua más grande está realmente asociada con la brida, por lo que el borde superior de esta se identifica con precisión. En particular, una vez generada la imagen binarizada unificada de la brida, las formas de realización incluyen que la unidad de procesamiento 204 almacene dicha imagen en la unidad de memoria 208 (u otro dispositivo de almacenamiento adecuado) e identifica el borde superior de la brida de la jeringa, según se muestra en la Fig. 3 (310), la coordenada y del píxel de mayor altura dentro de la imagen binarizada unificada de la brida asociados con la mancha continua más grande.
El módulo de análisis de imágenes de émbolo 213 es una región de la unidad de memoria 208 configurada para almacenar instrucciones que, cuando son ejecutadas por la unidad de procesamiento 204, hacen que esta unidad lleve a cabo diversos actos de acuerdo con las formas de realización aplicables descritas en la presente memoria. En la forma de realización, el módulo de análisis de imágenes del émbolo 213 incluye instrucciones que, cuando son ejecutadas por la unidad de procesamiento 204, hacen que esta unidad 204 analice una imagen de jeringa adquirida por el generador de imágenes 240 para identificar el borde superior del émbolo dentro de la imagen. Para el émbolo, esto se puede definir de cualquier manera adecuada que utilice un punto de referencia desde el que se pueda medir la profundidad del émbolo dentro de un tipo particular de recipiente. Por ejemplo, el borde superior del émbolo se puede definir como el centro del borde superior del émbolo (excluyendo hoyuelos y otros pequeños defectos). Continuando este ejemplo, el borde superior del émbolo se puede identificar como un punto en el que dicho borde se cruza con la línea central del cuerpo de la jeringa. Este punto se puede identificar por tanto como otra coordenada y, en esta ubicación y, a continuación, asociarse con la superficie superior del émbolo, según se indica por el borde superior del émbolo 312, según se muestra en la Fig. 3.
De nuevo, para medir la profundidad del émbolo a partir de una imagen adquirida de la jeringa, se detectan el borde superior de la brida y el borde superior del émbolo. Las formas de realización utilizadas para implementar la detección del borde superior de la brida se describieron anteriormente y utilizan técnicas específicas de procesamiento de imágenes para abordar cuestiones relacionadas con el análisis de imágenes de la región de la brida. Por otra parte, y según se describe a continuación, las formas de realización incluyen la ejecución de una o más técnicas de procesamiento de imágenes y/o de otros análisis para identificar con precisión el borde superior del émbolo, que presenta su propio conjunto de problemas que se abordan utilizando diferentes técnicas de procesamiento de imágenes.
Para ello, el módulo de análisis de imágenes del émbolo 213 incluye instrucciones que permiten a la unidad de procesamiento 204 «localizar» el émbolo dentro de la imagen, para lo cual no es necesario binarizarla, ya que el émbolo es de color oscuro en contraste con la brida translúcida. Sin embargo, las formas de realización incluyen la localización del émbolo dentro de la imagen de acuerdo con el proceso de emparejamiento de plantillas descrito en la presente memoria. En cualquier caso, la ROI inicial del émbolo se puede considerar una ROI "basta", que corresponde a un área dentro de la imagen en la que razonablemente se podría esperar encontrar el émbolo. Según se ha descrito anteriormente con referencia a la FIG. 1, en algunas formas de realización, cada jeringa puede avanzar de forma secuencial en el campo de visión del generador de imágenes por medio del mecanismo de accionamiento lineal 113. De este modo, cada jeringa se centra dentro del campo de visión del generador de imágenes para facilitar la identificación de la ROI inicial del émbolo. En las formas de realización en las que no se visualizan los recipientes de forma incremental, se puede implementar cualquier técnica adecuada para localizar el émbolo dentro de cada imagen de recipiente respectiva cuando sea necesario. Un ejemplo de una ROI inicial del émbolo se muestra en la Fig. 3 dentro de una jeringa como ROI del émbolo 304 inicial, que incluye el cuerpo de la jeringa debajo de la ROI de la brida 302 y abarca el émbolo 305.
Las técnicas convencionales de procesamiento de imágenes llevan a cabo la localización del émbolo analizando la ROI del émbolo 304 inicial para la característica oscura más grande y, a continuación, utilizando el centro de masa de este objeto correspondiente, calculan tres ROI más pequeñas. Convencionalmente, dos de estas ROI se establecen determinando los bordes izquierdo y derecho del objeto correspondiente (es decir, el supuesto émbolo). Una técnica estándar de procesamiento de imágenes conocida como detección de bordes se utiliza típicamente para medir la posición de estos bordes en cada ROI respectiva. A continuación, se define una tercera ROI para el borde superior del émbolo utilizando la posición aparente del émbolo dentro de la imagen, que se utiliza entonces para identificar dicho borde. Una vez localizado el émbolo de esta manera, los análisis de imágenes convencionales que utilizan la detección de bordes identifican los bordes superior y lateral del émbolo dentro de la ROI, identifican la línea central del émbolo y utilizan la intersección de esta línea con el borde superior del émbolo para medir la profundidad del émbolo desde el borde superior de la brida.
Sin embargo, las técnicas convencionales de procesamiento de imágenes mencionadas anteriormente no funcionan bien con una variedad de tipos y volúmenes de recipientes, algunos de los cuales pueden incorporar diferentes diseños de émbolo. En particular, las jeringas con mayores volúmenes de llenado (por ejemplo, las llenadas de acuerdo con recipientes de 2,25 ml de volumen, que pueden tener un volumen de llenado que es una fracción del mismo) tienen émbolos que se sitúan más arriba (es decir, más cerca de la brida) que las jeringas con volúmenes de llenado más bajos. En dichos escenarios, estos émbolos pueden estar posicionados, cuando se visualizan, detrás de las características sobresalientes asociadas a la bandeja (por ejemplo, la bandeja 108), que sirven para agarrar la jeringa y mantenerla en su sitio. Si el émbolo se sitúa detrás de estas características, puede estar parcialmente oculto, provocando que las técnicas tradicionales de detección de bordes descritas anteriormente no localizarán adecuadamente los bordes del émbolo. Esto puede dar como resultado una detección inexacta del borde superior del émbolo o incluso impedir que se detecte dicho borde. En la Fig. 7 se muestra una ROI de émbolo 700, en la que se observan las protuberancias A y B que forman parte de la bandeja 702 y que oscurecen parcialmente la imagen del émbolo 704.
Por consiguiente, para solucionar este problema, las formas de realización incluyen que el módulo de análisis de imágenes del émbolo 213 incluya instrucciones que, cuando son ejecutadas mediante la unidad de procesamiento 204, facilitan la ejecución de uno o más algoritmos de coincidencia de plantilla para asignar ROI refinadas (por ejemplo, las ROI refinadas 306 y 308, según se muestra en la Fig. 3) dentro de la ROI del émbolo inicial (es decir, basta) en función de las características de una plantilla de imagen de émbolo coincidente. Por ejemplo, la unidad de memoria 208 (u otro dispositivo de almacenamiento adecuado al que pueda acceder el controlador 202) puede almacenar varias plantillas de imágenes de émbolo, que pueden ser plantillas teóricas idealizadas o basadas en muestras de imágenes del mundo real, en diversas formas de realización.
Para proporcionar un ejemplo ilustrativo, para un único tipo de jeringa, se pueden obtener imágenes de varias jeringas (por ejemplo, 10, 50, 100, etc.) como parte de un proceso de "entrenamiento" independiente de las técnicas de análisis de imágenes de profundidad del émbolo descritas en la presente memoria. Este proceso de entrenamiento puede incluir el procesamiento de las imágenes adquiridas para un tipo específico de diseño de jeringa, con el fin de promediar matemáticamente las características de estas imágenes y formar una plantilla de émbolo "ideal". Por ejemplo, para cada tipo de jeringa/émbolo (cada jeringa tiene un émbolo único), se puede obtener un número N (por ejemplo, 100) de émbolos diferentes, cada uno localizado dentro de sus respectivas ROI iniciales de émbolo y, a continuación, recortarlas. A continuación, el controlador 202 puede ejecutar un algoritmo en cada una de las plantillas de émbolo recortadas para identificar diversas características (por ejemplo, características geométricas y dimensiones), de tal forma que las imágenes de émbolo posteriores puedan compararse con sus respectivas plantillas de émbolo ideales (que también pueden tener protuberancias de bandeja presentes cuando se obtienen imágenes basadas en ejemplos del mundo real). A continuación, las características de cada una de estas N plantillas de émbolo recortadas se pueden promediar para crear una plantilla de émbolo ideal específica para cada tipo particular. A continuación, esta plantilla ideal del émbolo se almacena en cualquier parte conveniente del controlador 202 (por ejemplo, en la unidad de memoria 208) o en un almacenamiento externo al que pueda acceder el controlador 202. Estas plantillas de émbolo ideal se pueden almacenar con su característica de identificación respectiva (por ejemplo, como metadatos almacenados con cada imagen de plantilla de émbolo ideal).
Una vez creadas las plantillas de émbolo ideal, las formas de realización incluyen que la unidad de procesamiento 204 pueda ejecutar instrucciones almacenadas en el módulo de análisis de imágenes de émbolo 213 para identificar una plantilla de émbolo ideal particular y cualquier dato característico de identificación (por ejemplo, los metadatos descritos anteriormente) y, hacer coincidir la ROI de émbolo inicial con dicha plantilla ideal utilizando dichos datos. Es decir, el controlador 202 puede emparejar una plantilla de émbolo ideal particular con la imagen de émbolo actual dentro de la ROI de émbolo inicial. Este proceso de emparejamiento se puede implementar de cualquier manera adecuada, en diversas formas de realización, como por ejemplo utilizando los metadatos almacenados en la imagen de la plantilla del émbolo ideal, según se describió anteriormente.
Para proporcionar un ejemplo ilustrativo, el emparejamiento del émbolo se puede ejecutar por medio de un algoritmo de coincidencia de plantilla de pirámide de valores en escala de grises. En cualquier caso, una vez identificada la plantilla de émbolo coincidente, las formas de realización incluyen además que la unidad de procesamiento 204 pueda identificar una imagen localizada adicional del émbolo dentro de la imagen de la jeringa utilizando las características identificadas (por ejemplo, dimensiones y otras características detectadas) de la plantilla coincidente con la imagen real del émbolo que se está analizando. Esta región localizada se puede considerar una ROI refinada, por ejemplo, la ROI refinada 306, según se muestra en la Fig. 3.
Además, una vez que el émbolo ha sido localizado dentro de la ROI refinada utilizando la coincidencia de plantilla, las formas de realización incluyen que la unidad de procesamiento 204 ejecute instrucciones almacenadas en el módulo de análisis de imágenes de émbolo 213 para alinear una ROI de émbolo refinada adicional encima del émbolo dentro de la ROI refinada. Por ejemplo, dado que se conocen las características geométricas clave de la imagen de la plantilla coincidente, las formas de realización pueden incluir la superposición de la plantilla de émbolo coincidente sobre la imagen del émbolo.
Para proporcionar un ejemplo ilustrativo, las formas de realización incluyen que la unidad de procesamiento 204 ejecute instrucciones almacenadas en el módulo de análisis de imágenes de émbolo 213 para ejecutar un algoritmo de emparejamiento de émbolo, según se describió anteriormente, con el fin de identificar una plantilla de émbolo ideal coincidente. Los datos característicos que se asocian con esta plantilla de émbolo ideal coincidente pueden incluir, además, un conjunto de coordenadas que definen un cuadro delimitador. En una forma de realización, este conjunto de coordenadas se puede utilizar como base para la ROI refinada y para anclar y alinear la ROI refinada adicional dentro de la ROI ya refinada. De este modo, las características clave, como por ejemplo las formas y bordes de la plantilla del émbolo, se pueden asignar a esas mismas características en la imagen del émbolo, lo que permite identificar y alinear la ROI más refinada con la parte superior del émbolo que abarca el borde superior del mismo con detalles aún más finos. Esta ROI más refinada puede incluir, por ejemplo, la ROI refinada 308, según se muestra en la Fig. 3, o la ROI refinada 902, según se muestra en la Fig. 9A, que se describirá más adelante.
De nuevo, algunos émbolos pueden tener pequeños hoyuelos u otras imperfecciones que plantean problemas adicionales cuando se utilizan técnicas de procesamiento de imágenes para identificar el borde superior del émbolo. Dos ejemplos de las dificultades que enfrentan los sistemas de procesamiento de imágenes convencionales para identificar adecuadamente los bordes superiores de un émbolo se muestran en las imágenes 800 y 850 de las Fig. 8A y 8B, respectivamente. Por ejemplo, llevar a cabo la detección convencional de bordes en la imagen 800, según se muestra en la FIG. 8A, da como resultado el cálculo de un borde superior 802 incorrectamente identificado, que está desplazado del borde superior real del émbolo 801 la altura de los hoyuelos. Por otra parte, llevar a cabo la detección de bordes convencional sobre la imagen 850, según se muestra en la FIG. 8B, da como resultado el cálculo de un borde superior identificado incorrectamente 852, que no está alineado con el borde superior del émbolo 851.
Por consiguiente, para abordar estas cuestiones, las formas de realización incluyen que la unidad de procesamiento 204 ejecute instrucciones almacenadas en el módulo de análisis de imágenes de émbolo 213 para llevar a cabo operaciones de postprocesamiento en los datos identificados dentro de la ROI refinada y alineada (es decir, utilizando la coincidencia de plantilla), según se describió anteriormente. Un ejemplo de dichas operaciones de procesamiento posterior se describe con referencia a las Fig. 9A-9B. Por ejemplo, la FIG. 9A muestra un ejemplo de una ROI refinada 902 para una imagen 900 de un émbolo, según se describió anteriormente. Las formas de realización incluyen una unidad de procesamiento 204 que, lleve a cabo una serie de detecciones de bordes de una dimensión (1D) y los separe de manera uniforme a lo largo de la parte superior de la ROI del émbolo 902, y filtre las coordenadas y obtenidas en esta manera para identificar la parte superior del émbolo 906.
La ROI refinada 902 se divide en una serie de columnas separadas uniformemente 904, cada una de las cuales puede estar ocupada por uno o más píxeles. En una forma de realización, cada columna 904 puede tener un ancho de píxel único para facilitar un algoritmo de detección de bordes 1D que se ejecuta iterativamente en la dirección vertical (es decir, de arriba a abajo o perpendicular a la superficie superior del émbolo, según se muestra en las Fig. 9A-9B), a través de la superficie superior del émbolo dentro de cada columna. Como resultado, la unidad de procesamiento 204 calcula, para cada columna 904 de un solo píxel de ancho, un único valor de coordenada y correspondiente a la puntuación de clasificación más alta del algoritmo de detección de bordes para un borde descendente (brillante a oscuro) a lo largo de ese borde en particular. Estos valores de coordenadas y se representan como puntos 905 en la Fig. 9A.
Sin embargo, llevar a cabo la detección de bordes 1D dentro de cada una de las columnas 904 produce valores de coordenada y (905) que rastrean el contorno del émbolo, que puede incluir cualquier artefacto, como hoyuelos, por ejemplo. Por consiguiente, las formas de realización incluyen que una unidad de procesamiento 204 ejecute instrucciones almacenadas en el módulo de análisis de imágenes del émbolo 213 para filtrar estos resultados con el fin de producir un valor de coordenada y que se corresponda con precisión y de forma fiable con el borde superior del émbolo 906. Este proceso de filtrado se puede llevar a cabo de acuerdo con cualquier técnica de filtrado adecuada, como el promedio, el análisis de histogramas, el promedio ponderado, el análisis estadístico, el análisis de altura media, etc.
En una forma de realización, la unidad de procesamiento 204 genera una matriz 1D a partir de los valores individuales de coordenadas y (905), que pueden representar valores de coordenadas y organizados por su coordenada x (es decir, posición horizontal) dentro de la ROI 902 refinada, de izquierda a derecha. A continuación, los valores de coordenadas y contenidos en la matriz 1D se clasifican en grupos de acuerdo con un histograma de dichos valores. En diversas formas de realización, se puede seleccionar cualquier número adecuado de intervalos de histograma en función de la variación esperada entre los valores de las coordenadas y (por ejemplo, 5, 10, 15, 20, 25, etc.). A continuación, se descartan los grupos que tengan menos de un número umbral de entradas de valores de coordenadas y o elementos. Como resultado de la utilización de la técnica de clasificación en grupos de histogramas de esta manera, los valores de coordenadas y periféricos (por ejemplo, aquellos que se desvían excesivamente de una altura media debido a hoyuelos u otros artefactos) se pueden eliminar de la matriz 1D. Un ejemplo de los valores de coordenadas y filtrados como resultado de este proceso se representa en la FIG. 9B, mediante la caja 952, que muestra un conjunto restringido de valores de coordenadas y refinados por altura media de acuerdo con la técnica de clasificación en grupos de histogramas descrita anteriormente.
Este proceso de filtrado o restricción de los valores de coordenadas y se puede repetir cualquier número de veces para lograr una selección final de valores de coordenadas y para calcular el borde superior del émbolo 906. Una vez que la matriz 1D ha sido filtrada de esta manera, la mayoría estadística de los puntos de la matriz 1D ahora representan alturas del émbolo dentro de un pequeño rango de un valor máximo, que ahora se puede asociar con el borde superior del émbolo y no con los hoyuelos u otros artefactos. Independientemente del número de iteraciones de filtrado llevadas a cabo en la matriz 1D para generar un conjunto de valores restringidos, las formas de realización incluyen que la unidad de procesamiento 204 ejecute instrucciones almacenadas en el módulo de análisis de imágenes de émbolo 213 para aplicar un algoritmo de mejor ajuste de línea al conjunto restringido de valores de coordenadas y. A continuación, el resultado de este algoritmo de mejor ajuste puede generar una línea que se utiliza como el borde superior del émbolo 906.
El módulo de cálculo de profundidad del émbolo 215 es una región de la unidad de memoria 208 configurada para almacenar instrucciones que, cuando son ejecutadas por la unidad de procesamiento 204, hacen que esta unidad lleve a cabo diversos actos de acuerdo con las formas de realización aplicables descritas en la presente memoria. En una forma de realización, el módulo de cálculo de profundidad del émbolo 215 incluye instrucciones que, cuando son ejecutadas por la unidad de procesamiento 204, hacen que esta unidad calcule una profundidad del émbolo a partir de una imagen adquirida de una jeringa mediante la determinación de la diferencia en los valores de coordenadas y desde el borde superior de la brida y el borde superior del émbolo, según se describió anteriormente. Una vez conocida esta diferencia, la unidad de procesamiento 204 puede ejecutar instrucciones almacenadas en el módulo de cálculo de profundidad del émbolo 215 para convertir el valor de la coordenada y, que se puede medir en términos de píxeles, en una medida del mundo real en función de un factor de conversión calibrado. Este factor de conversión se puede basar en las características de la imagen adquirida y los componentes asociados, como la resolución espacial de la imagen, por ejemplo. Una vez conocido, este valor de profundidad medido se puede comparar con un rango de valores aceptables y este proceso se puede repetir para cualquier número adecuado de jeringas, por ejemplo, todas las jeringas de una bandeja entera. De nuevo, el controlador 202 puede notificar al usuario que una jeringa tiene una profundidad de émbolo fuera de un rango especificado, lo que se puede implementar por medio de la unidad de procesamiento 204 ejecutando instrucciones almacenadas en el módulo de cálculo de profundidad del émbolo 215.
La Fig. 10 ilustra un ejemplo de flujo de método 1000 para probar la profundidad apropiada del émbolo de la jeringa, de acuerdo con una forma de realización de la presente descripción. En diversas formas de realización, una o más regiones del método 1000 (o todo el método 1000) se pueden implementar por cualquier dispositivo adecuado. Por ejemplo, una o más regiones del método 1000 se pueden llevar a cabo por el controlador 202, el generador de imágenes 240, el mecanismo de accionamiento lineal 260 y/o la fuente de luz 280, según se muestra en la Fig. 2, de forma independiente o conjunta. El método 1000 representa las diversas etapas que se llevan a cabo durante la prueba de una sola jeringa, que se pueden repetir con cualquier número de jeringas adecuado y que pueden incluir la prueba iterativa de cada jeringa dentro de una bandeja (por ejemplo, la bandeja 108, según se muestra en la Fig. 1).
El método 1000 puede comenzar cuando uno o más procesadores adquieren una imagen de un recipiente, por ejemplo, una jeringa (bloque 1002). Esta imagen puede ser, por ejemplo, una de varias imágenes secuenciales adquiridas durante la prueba de varias jeringas en una bandeja, según se describió anteriormente con referencia al sistema AVI 100 mostrado en la Fig. 1 (bloque 1002). Esta imagen adquirida puede incluir, por ejemplo, una imagen de una jeringa con una ROI de brida y una ROI de émbolo, según se muestra y describe con referencia a la Fig. 3.
El método 1000 puede incluir que uno o más procesadores generen una imagen de la brida binarizada de la ROI de la brida utilizando análisis de manchas y postprocesamiento de imagen (bloque 1004). Esto puede incluir diversas técnicas de procesamiento de imágenes para cerrar manchas de brida fragmentadas y reducir artefactos y fragmentos de manchas, según se describió anteriormente con referencia a las Fig. 4A-B y 5 (bloque 1004). Esto también puede incluir, por ejemplo, llevar a cabo un algoritmo de enlace horizontal en las manchas de la brida fragmentadas para combinarlas entre sí, según se describió anteriormente en referencia a las Fig. 6A-B (bloque 1004).
El método 1000 puede incluir uno o más procesadores que calculan el borde de brida superior dentro de la imagen de brida binarizada (bloque 1006). Esto puede incluir, por ejemplo, la identificación de la coordenada y asociada con el píxel más alto dentro de la imagen de brida binarizada después de aplicar operaciones de postprocesamiento (bloque 1004) a la ROI de la brida (bloque 1006).
El método 1000 puede incluir uno o más procesadores que alineen una ROI del émbolo refinada con la parte superior del émbolo utilizando la coincidencia de la plantilla (bloque 1008). Esto puede incluir, por ejemplo, identificar una plantilla de émbolo coincidente y utilizar las características incluidas en el en el émbolo correspondiente a la plantilla para alinear una o más ROI refinadas con la parte superior del émbolo (bloque 1008). Por ejemplo, esto puede incluir generar y alinear las ROI refinadas 306 y 308 con la parte superior del émbolo dentro de la ROI inicial 308, según se describió anteriormente con referencia a la Fig. 3 (bloque 1008).
El método 1000 puede incluir uno o más procesadores que calculan el borde superior del émbolo dentro de la ROI del émbolo refinada (bloque 1010). Esto puede incluir, por ejemplo, dividir la superficie superior de la imagen del émbolo en columnas de un píxel de ancho, llevar a cabo la detección de bordes 1D dentro de cada columna y filtrar los valores de la coordenada y obtenidos de esta manera, según se describe en la presente memoria con referencia a las Fig. 9A-9B (bloque 1010).
El método 1000 puede incluir uno o más procesadores que calculen la profundidad del émbolo (bloque 1012). Esto puede incluir, por ejemplo, el cálculo de la profundidad del émbolo utilizando la diferencia entre los valores de las coordenadas y desde el borde superior de la brida (bloque 1006) y el borde superior del émbolo (bloque 1010), según se describe en la presente memoria (bloque 1012). El método 100 también puede incluir la conversión de este valor de coordenada y a una medida del mundo real en función de un factor de conversión calibrado (bloque 1012).
El método 1000 puede incluir uno o más procesadores que determinan si la profundidad del émbolo está dentro de un rango aceptable (bloque 1014). Esto puede incluir, por ejemplo, comparar la profundidad calculada del émbolo (bloque 1012) con un rango de profundidades de émbolo aceptables especificado, que se puede basar en el tipo y/o tamaño particular del recipiente que se está probando (bloque 1014).
Si la profundidad medida del émbolo está dentro del rango de profundidad aceptable, entonces el método 1000 puede continuar indicando que la jeringa que se está probando pasa la inspección (bloque 1016). Esto puede incluir, por ejemplo, avanzar al siguiente recipiente para la prueba, lo que provocaría la emisión de una notificación (por ejemplo, la iluminación de una luz verde o la aparición de un indicador adecuado, la emisión de un tono de «pasa», etc.), o bien continuar la prueba hasta que se haya probado cada jeringa de la bandeja o que uno de los recipientes haya fallado la inspección.
En el caso de que la profundidad del émbolo esté fuera de un rango aceptable, el método 1000 puede continuar indicando que el recipiente probado ha fallado la inspección (bloque 1018). Además, un recipiente puede fallar la inspección en el caso de que a una bandeja le falte uno o más recipientes, o si una prueba incremental particular indica que falta un recipiente esperado (bloque 1018). Esto puede incluir, de forma adicional o como alternativa, la pausa de la prueba, que causaría la emisión de una notificación (por ejemplo, la iluminación de una luz roja o la presentación de un indicador adecuado, la emisión de un tono de «fallo», etc.), o la notificación de otro modo al usuario del estado de fallo (bloque 1018). En algunas formas de realización, la prueba del recipiente puede continuar independientemente de si algunos recipientes fallan la inspección, y al final de la bandeja se indicará cuáles han fallado y sus correspondientes mediciones de profundidad del émbolo (bloque 1018). En otras formas de realización, el método 1000 se puede detener cada vez que un recipiente falla la inspección (bloque 1018).
Algunas de las Figuras descritas en la presente memoria ilustran diagramas de bloques de ejemplo con uno o más componentes funcionales. Se entenderá que dichos diagramas de bloques tienen fines ilustrativos y que los dispositivos descritos y mostrados pueden tener componentes adicionales, menos componentes o componentes alternativos a los ilustrados. Además, en diversas formas de realización, los componentes (así como la funcionalidad proporcionada por los componentes respectivos) pueden estar asociados o integrados de otro modo como parte de cualquier componente adecuado. Por ejemplo, el controlador 302 se puede integrar con el sistema de iluminación 340 o el generador de imágenes 380.
Muchos ejemplos descritos en la presente memoria hacen referencia a la medición de la profundidad del émbolo con referencia a una jeringa. Una vez más, se entenderá que las formas de realización descritas en la presente memoria se pueden aplicar a cualquier tipo de medición adecuado de la profundidad del émbolo dentro de cualquier tipo adecuado de recipiente para el que se puedan implementar sistemas AVI. Por ejemplo, la profundidad del émbolo se puede medir dentro de cartuchos que se colocan en bandejas de manera similar a las jeringas.
Además, las formas de realización descritas en la presente memoria están dirigidas a medir la profundidad del émbolo dentro de varios tipos de recipientes (por ejemplo, jeringas y cartuchos). Para facilitar la explicación, esta técnica se ha descrito centrándose principalmente en la identificación del borde superior de una referencia o punto de anclaje en el recipiente (por ejemplo, el borde superior de la brida) y el émbolo.
Las formas de realización descritas hacen referencia a un medio de almacenamiento legible por ordenador no transitorio que contiene código informático para llevar a cabo diversas operaciones implementadas por ordenador. El término "medio de almacenamiento legible por ordenador" se utiliza en la presente memoria para incluir cualquier medio que sea capaz de almacenar o codificar una secuencia de instrucciones o códigos informáticos para llevar a cabo las operaciones, metodologías y técnicas descritas en la presente memoria. Los medios y los códigos informáticos pueden estar especialmente diseñados y construidos para los fines de las formas de realización de la presente descripción, o pueden ser del tipo bien conocido y disponible para los expertos en la técnica del software informático. Ejemplos de medios de almacenamiento legibles por ordenador incluyen, entre otros: medios magnéticos como por ejemplo discos duros, disquetes y cintas magnéticas; medios ópticos como por ejemplo CD-ROM y dispositivos holográficos; medios magneto-ópticos como por ejemplo discos ópticos; y dispositivos de hardware especialmente configurados para almacenar y ejecutar código de programa, como por ejemplo ASIC, dispositivos lógicos programables ("PLD") y dispositivos ROM y RAM.
Ejemplos de código informático incluyen código máquina, tal como el producido por un compilador, y ficheros que contienen código de alto nivel que se ejecutan en un ordenador utilizando un intérprete o un compilador. Por ejemplo, una forma de realización de la descripción se puede implementar utilizando Java, C++ u otro lenguaje de programación orientado a objetos y herramientas de desarrollo. Otros ejemplos de código informático son el código cifrado y el código comprimido. Por otra parte, una forma de realización de la descripción se puede descargar como un producto de programa informático, que se puede transferir desde un ordenador remoto (por ejemplo, un ordenador servidor) a un ordenador solicitante (por ejemplo, un ordenador cliente o un ordenador servidor diferente) por medio de un canal de transmisión. Otra forma de realización de la descripción se puede implementar en circuitos cableados en lugar de, o en combinación con, instrucciones de software ejecutables por máquina.
Según se utilizan en la presente memoria, los términos singulares "uno", "una", "el" y "ella" pueden incluir referentes plurales a menos que el contexto dicte claramente lo contrario.
Según se utilizan en la presente memoria, los términos relativos, tales como "arriba", "abajo", "izquierda", "derecha", "abajo", "arriba", "vertical", "horizontal", "lateral", "más alto", "más bajo", "superior", "por encima, "por debajo", "interior", "interior", "exterior", "exterior", "delante", "detrás", "arriba, "abajo", "vertical, "verticalmente", "lateral, "lateralmente" y similares hacen referencia a la orientación de un conjunto de componentes entre sí. Esta orientación es conforme a los dibujos, pero no es necesaria durante la fabricación ni durante la utilización.
Según se utilizan en la presente memoria, los términos "conectar", "conectado" y "conexión" hacen referencia a un acoplamiento o enlace operativo. Los componentes conectados pueden estar directa o indirectamente acoplados entre sí, por ejemplo, a través de otro conjunto de componentes.
Según se utilizan en la presente memoria, los términos "aproximadamente", "sustancialmente" y "aproximadamente" se emplean para describir y dar cuenta de pequeñas variaciones. Cuando se utilizan junto con un suceso o circunstancia, los términos pueden hacer referencia a casos en los que el suceso o circunstancia se produce de forma precisa, así como a casos en los que el suceso o circunstancia se produce de forma aproximada. Por ejemplo, cuando se utilizan junto con un valor numérico, los términos pueden referirse a un rango de variación menor o igual al ±10 % de ese valor numérico, como menor o igual al ±5 %, menor o igual al ±4 %, menor o igual al ±3 %, menor o igual al ±2 %, menor o igual al ±1 %, menor o igual al ±0,5 %, menor o igual al ±0,1 % o menor o igual al ±0,05 %. Por ejemplo, dos valores numéricos se pueden considerar "en esencia" iguales si una diferencia entre los valores es menor o igual a ±10 % de una media de los valores, como por ejemplo menor o igual a ±5 %, menor o igual a ±4 %, menor o igual a ±3 %, menor o igual a ±2 %, menor o igual a ±1 %, menor o igual a ±0,5 %, menor o igual a ±0,1 %, o menor o igual a ±0,05 %.
Además, las cantidades, propiedades y otros valores numéricos se presentan a veces en la presente memoria en formato de rango. Se debe entender que dicho formato de rango se utiliza por comodidad y brevedad y se debe entender de forma flexible para incluir valores numéricos especificados de forma explícita como límites de un rango, pero también para incluir todos los valores numéricos individuales o subrangos comprendidos dentro de ese rango como si cada valor numérico y subrango se especificara de forma explícita.
Aunque la presente descripción se ha descrito e ilustrado con referencia a formas de realización específicas, estas descripciones e ilustraciones no limitan la presente descripción. Los expertos en la técnica deben entender que se pueden realizar diversos cambios y sustituirse equivalentes sin apartarse del alcance de la presente descripción, según se define en las reivindicaciones adjuntas. Las ilustraciones pueden no estar necesariamente dibujadas a escala. Puede haber distinciones entre las ejecuciones artísticas de la presente descripción y el aparato real debido a procesos de fabricación y tolerancias. Puede haber otras formas de realización de la presente descripción que no se ilustren de forma específica. La memoria descriptiva y los dibujos se deben considerar ilustrativos y no restrictivos. Es posible realizar modificaciones para adaptar una situación, material, composición de materia, técnica o proceso particular al objetivo, espíritu y alcance de la presente descripción. Todas dichas modificaciones se incluyen en el alcance de aplicación de las reivindicaciones adjuntas a la presente memoria. Aunque las técnicas descritas en la presente memoria se han descrito con referencia a operaciones particulares llevadas a cabo en un orden concreto, se entenderá que estas operaciones se pueden combinar, subdividir o reordenar para formar una técnica equivalente sin apartarse de las enseñanzas de la presente descripción. En consecuencia, a menos que se indique específicamente en la presente memoria, el orden y la agrupación de las operaciones no constituyen limitaciones de la presente descripción.
Claims (14)
1. Un método para llevar a cabo la inspección de la profundidad del émbolo de un recipiente (106) que tiene un émbolo (305, 704), que comprende:
adquirir, por medio de un generador de imágenes (102, 240), una imagen (300) del recipiente que incluya una región de interés de punto de referencia, ROI, (302, 400), que abarque una imagen del punto de referencia a partir del cual medir la profundidad del émbolo, y una ROI del émbolo (304) inicial que abarque una imagen del émbolo; identificar, por medio de un controlador (104, 202), la ROI del punto de referencia y la ROI del émbolo inicial en la imagen del recipiente;
generar, por medio del controlador, una imagen binarizada del punto de referencia (450, 500, 650) en función del análisis de manchas de la ROI del punto de referencia;
calcular, por medio del controlador, el borde superior del recipiente (310, 454, 508) dentro de la imagen del punto de referencia binarizada
alinear, por medio del controlador, una ROI del émbolo refinada (306, 308, 902) con la parte superior del émbolo dentro de la ROI del émbolo inicial utilizando una plantilla de imagen de émbolo coincidente de entre varias plantillas de imagen de émbolo;
calcular, por medio del controlador, un borde superior del émbolo (312, 906) dentro de la ROI del émbolo refinada; y calcular, por medio del controlador, una profundidad (314) del émbolo dentro del recipiente utilizando la diferencia entre los valores de las coordenadas respectivas del borde superior del recipiente y del borde superior del émbolo con respecto a una dirección perpendicular a la superficie superior del émbolo.
en donde el acto de calcular el borde superior del émbolo dentro de la ROI del émbolo refinada comprende: dividir la parte superior de la ROI del émbolo refinada en varias columnas (904);
llevar a cabo una detección de borde unidimensional en cada una de las varias columnas para determinar, para cada columna, un valor de coordenada y (905) asociado con un borde superior del émbolo
clasificar en grupos el valor de la coordenada y en cada una de las columnas de acuerdo con un histograma de acuerdo con los valores de dicha coordenada y;
eliminar los grupos que tengan menos de un número umbral de elementos para generar un conjunto restringido de valores de coordenadas y; y
calcular el borde superior del émbolo dentro de la ROI del émbolo refinada en función del conjunto restringido de valores de coordenadas y.
2. El método de la reivindicación 1, en donde el acto de generar la imagen del punto de referencia binarizada comprende:
aplicar umbralización de intensidad y un algoritmo de cierre a la ROI del punto de referencia para generar la imagen del punto de referencia binarizada.
3. El método de la reivindicación 1 o de la reivindicación 2, en donde el acto de generar la imagen binarizada del punto de referencia binarizada comprende:
escanear las filas horizontales (602) dentro de la imagen binarizada del punto de referencia para identificar transiciones de píxel de borde descendente y transiciones de píxel de borde ascendente; las transiciones de píxel de borde descendente representan una transición de un valor binario de 1 a un valor binario de 0, y las transiciones de píxel de borde ascendente representan una transición de un valor binario de 0 a un valor binario de 1;
identificar, dentro de cada fila horizontal escaneada, pares de transiciones de píxeles de borde descendente y transiciones de píxeles de borde ascendente; y
ajustar, dentro de cada fila horizontal escaneada, los valores de los píxeles entre los pares de transiciones de píxeles de borde descendente y transiciones de píxeles de borde ascendente de un valor binario de 0 a un valor binario de 1.
4. El método de una cualquiera de las reivindicaciones 1 -3, que comprende, además:
identificar, por medio del controlador (104), la plantilla de imagen de émbolo coincidente utilizando un algoritmo de coincidencia de plantilla de pirámide de valores en escala de grises.
5. El método de una cualquiera de las reivindicaciones 1-4, en donde el cálculo del borde superior del émbolo dentro de la ROI del émbolo refinada comprende, además:
aplicar un algoritmo de mejor ajuste de línea al conjunto restringido de valores de coordenadas y.
6. Un sistema automatizado de inspección visual, AVI, que comprende:
un generador de imágenes (102, 240) configurado para adquirir una imagen (300) de cada una de las jeringas (106) de manera secuencial para generar varias imágenes de jeringas, teniendo cada una de las varias jeringas una brida (303) y un émbolo (305, 704) respectivos;
una platina (112) configurada para recibir una bandeja (108) que contiene las varias jeringas y moverla incrementalmente para facilitar la obtención secuencial de imágenes de las jeringas por el generador de imágenes; y un controlador (104, 202) configurado para, para cada imagen de jeringa adquirida de forma secuencial de entre las varias imágenes de jeringa:
identificar una región de interés (ROI) de la brida (302, 400) que abarque la brida dentro de la imagen de la jeringa; llevar a cabo un análisis de imágenes de la ROI de la brida para generar una imagen de la brida binarizada (450, 500, 650);
identificar una ROI del émbolo (308, 902) que esté alineada con una parte superior del émbolo dentro de la imagen de la jeringa utilizando una plantilla de imagen de émbolo coincidente de entre varias plantillas de imagen de émbolo; calcular un borde superior de la brida (310, 454, 508) dentro de la imagen de la brida binarizada;
calcular el borde superior del émbolo (312, 906) dentro de la ROI del émbolo; y
calcular una profundidad (314) del émbolo dentro de la jeringa utilizando la diferencia entre los valores de las coordenadas respectivas del borde superior de la brida y del borde superior del émbolo con respecto a una dirección perpendicular a la superficie superior del émbolo;
en donde el acto de calcular el borde superior del émbolo dentro de la ROI del émbolo comprende:
dividir la parte superior de la ROI del émbolo en varias columnas (904);
llevar a cabo una detección de borde unidimensional en cada una de las varias columnas para determinar, para cada columna, un valor de coordenada y (905) asociado con un borde superior del émbolo
clasificar en grupos el valor de la coordenada y en cada una de las columnas de acuerdo con un histograma de acuerdo con los valores de dicha coordenada y;
eliminar los grupos que tengan menos de un número umbral de elementos para generar un conjunto restringido de valores de coordenadas y; y
calcular el borde superior del émbolo dentro de la ROI del émbolo en función del conjunto restringido de valores de coordenadas y.
7. El sistema AVI de la reivindicación 6,
en donde el análisis de imágenes de la ROI de la brida es un análisis de manchas; y/o
en donde el análisis de imágenes de la ROI de la brida para generar la imagen de la brida binarizada incluye un algoritmo de cierre para eliminar artefactos y rellenar vacíos dentro de dicha imagen.
8. El sistema AVI de las reivindicaciones 6 o 7, en donde el análisis de imágenes de la ROI de la brida para generar la imagen de la brida binarizada incluye:
escanear filas horizontales (602) dentro de la imagen de brida binarizada para identificar transiciones de píxel de borde descendente y transiciones de píxel de borde ascendente; las transiciones de píxel de borde descendente representan una transición de un valor binario de 1 a un valor binario de 0, y las transiciones de píxel de borde ascendente representan una transición de un valor binario de 0 a un valor binario de 1;
identificar, dentro de cada fila horizontal escaneada, pares de transiciones de píxeles de borde descendente y transiciones de píxeles de borde ascendente; y
ajustar, dentro de cada fila horizontal escaneada, los valores de los píxeles entre los pares de transiciones de píxeles de borde descendente y transiciones de píxeles de borde ascendente de un valor binario de 0 a un valor binario de 1.
9. El sistema AVI de una cualquiera de las reivindicaciones 6-8, en donde el controlador se configura además para identificar la plantilla de imagen de émbolo coincidente utilizando un algoritmo de coincidencia de plantilla de pirámide de valores en escala de grises.
10. Un medio tangible, no transitorio y legible por ordenador que almacena instrucciones en un dispositivo informático que, cuando son ejecutadas por uno o más procesadores asociados con el dispositivo, hacen que este actúe para: adquirir una imagen (300) de una jeringa (106) que tiene una brida (303) y un émbolo (305, 704);
calcular un borde de brida superior (310, 454, 508) dentro de la imagen de la jeringa;
hacer coincidir una imagen del émbolo dentro de la imagen de la jeringa con una plantilla de imagen de émbolo coincidente de entre varias plantillas de imagen de émbolo;
identificar, por medio de un controlador, una región de interés, ROI, del émbolo (308, 902) en la imagen de la jeringa; alinear, por medio del controlador, la ROI del émbolo con la parte superior del émbolo dentro de la imagen de la jeringa utilizando la plantilla de imagen del émbolo coincidente
calcular un borde superior del émbolo (312, 906) asociado con la imagen del émbolo dentro de la ROI del émbolo; y calcular una profundidad (314) del émbolo dentro de la jeringa utilizando la diferencia entre los valores de las coordenadas respectivas del borde superior de la brida y del borde superior del émbolo con respecto a una dirección perpendicular a la superficie superior del émbolo;
en donde las instrucciones para calcular el borde superior del émbolo incluyen, además, instrucciones que, cuando se ejecutan por el uno o más procesadores asociados al dispositivo informático, hacen que este lleve a cabo una detección de borde unidimensional en cada una de las columnas divididas uniformemente (904) dentro de la ROI del émbolo para determinar, Para cada columna, un valor de coordenada y (905) asociado con el borde superior del émbolo, y para calcular el borde superior del émbolo en función de un conjunto restringido de valores de la coordenada y seleccionados de acuerdo con una agrupación de histograma de los valores de la coordenada y de cada una de las columnas divididas uniformemente.
11. El medio tangible, no transitorio, legible por ordenador de la reivindicación 10, en donde la imagen de la jeringa incluye una ROI de brida (302, 400) que abarca una imagen de la brida, y
en donde las instrucciones para calcular el borde de brida superior dentro de la imagen de la jeringa incluyen instrucciones que, cuando se ejecutan por el uno o más procesadores asociados con el dispositivo informático, hacen que el dispositivo informático:
identificar la ROI de la brida en la imagen de la jeringa,
generar una imagen de la brida binarizada (450, 500, 650) en función del análisis de manchas de la ROI de la brida. calcular el borde superior de la brida dentro de la imagen como el borde superior de la brida dentro de la imagen de la brida binarizada.
12. El medio tangible, no transitorio y legible por ordenador de la reivindicación 11, en donde las instrucciones para calcular el borde superior de la brida dentro de la imagen de la jeringa incluyen además instrucciones que, cuando son ejecutadas por el uno o más procesadores asociados con el dispositivo informático, hacen que este ejecute un algoritmo de cierre que elimine artefactos y rellene vacíos dentro de la imagen de la brida binarizada.
13. El medio tangible, no transitorio y legible por ordenador de cualquiera de las reivindicaciones 10-12, en donde las instrucciones para hacer coincidir la imagen del émbolo con la plantilla de imagen de émbolo coincidente incluyen, además, instrucciones que, cuando se ejecutan por el uno o más procesadores asociados con el dispositivo informático, hacen que este ejecute un algoritmo de coincidencia de plantilla de pirámide de valores en escala de grises.
14. El medio tangible, no transitorio y legible por ordenador de cualquiera de las reivindicaciones 10-13, en donde las instrucciones para calcular el borde superior del émbolo incluyen, además, instrucciones que, cuando son ejecutadas por el uno o más procesadores asociados con el dispositivo informático, hacen que este aplique un algoritmo de mejor ajuste de línea al conjunto restringido de valores de coordenadas y.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2017/046032 WO2019032101A1 (en) | 2017-08-09 | 2017-08-09 | IMAGE PROCESSING TECHNIQUES FOR PISTON DEPTH MEASUREMENT |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3010641T3 true ES3010641T3 (en) | 2025-04-04 |
Family
ID=59738417
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES17758666T Active ES3010641T3 (en) | 2017-08-09 | 2017-08-09 | Image processing techniques for plunger depth measurement |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP3665612B1 (es) |
| ES (1) | ES3010641T3 (es) |
| WO (1) | WO2019032101A1 (es) |
Families Citing this family (18)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP4291854A1 (en) * | 2021-02-15 | 2023-12-20 | Amgen, Inc | Systems and methods for automated in-line plunger depth measurement |
| US11872369B1 (en) | 2021-02-18 | 2024-01-16 | Fresenius Kabi Deutschland Gmbh | Wearable medicament delivery device with leakage and skin contact sensing and method of use thereof |
| US11464902B1 (en) | 2021-02-18 | 2022-10-11 | Fresenius Kabi Deutschland Gmbh | Wearable medicament delivery device with compressible reservoir and method of use thereof |
| US11311666B1 (en) | 2021-02-18 | 2022-04-26 | Fresenius Kabi Deutschland Gmbh | Modular wearable medicament delivery device and method of use thereof |
| US11344682B1 (en) | 2021-02-19 | 2022-05-31 | Fresenius Kabi Deutschland Gmbh | Drug supply cartridge with visual use indicator and delivery devices that use the same |
| US11633537B1 (en) | 2021-02-19 | 2023-04-25 | Fresenius Kabi Deutschland Gmbh | Drug delivery assembly including a pre-filled cartridge |
| US11426523B1 (en) | 2021-02-19 | 2022-08-30 | Fresenius Kabi Deutschland Gmbh | Drug delivery assembly including a removable cartridge |
| US11497847B1 (en) | 2021-02-19 | 2022-11-15 | Fresenius Kabi Deutschland Gmbh | Wearable injector with adhesive substrate |
| US11413394B1 (en) | 2021-02-19 | 2022-08-16 | Fresenius Kabi Deutschland Gmbh | Display for wearable drug delivery device |
| US11607505B1 (en) | 2021-02-19 | 2023-03-21 | Fresenius Kabi Deutschland Gmbh | Wearable injector with sterility sensors |
| US11406755B1 (en) | 2021-02-19 | 2022-08-09 | Fresenius Kabi Deutschland Gmbh | Sensing fluid flow irregularities in an on-body injector |
| US11504470B1 (en) | 2021-04-30 | 2022-11-22 | Fresenius Kabi Deutschland Gmbh | Deformable drug reservoir for wearable drug delivery device |
| US11419976B1 (en) | 2021-04-30 | 2022-08-23 | Fresenius Kabi Deutschland Gmbh | Wearable drug delivery device with pressurized fluid dispensing |
| US11529459B1 (en) | 2021-04-30 | 2022-12-20 | Fresenius Kabi Deutschland Gmbh | Wearable injector with adhesive module |
| US11351300B1 (en) | 2021-04-30 | 2022-06-07 | Fresenius Kabl Deutschland GmbH | Drug dispensing system with replaceable drug supply cartridges |
| US11717608B1 (en) | 2021-05-03 | 2023-08-08 | Fresenius Kabi Deutschland Gmbh | Drug delivery assembly including an adhesive pad |
| US11484646B1 (en) | 2021-05-04 | 2022-11-01 | Fresenius Kabi Deutschland Gmbh | Sealing systems for a reservoir of an on-body injector |
| CN117999106A (zh) * | 2021-09-29 | 2024-05-07 | 美国安进公司 | 用于预填充式注射器中的柱塞-塞子深度测量的设备、系统和方法 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8161810B2 (en) * | 2008-01-29 | 2012-04-24 | Carefusion 303, Inc. | Syringe imaging systems |
| EP3197535B1 (en) * | 2014-09-23 | 2018-11-14 | Romaltek Medical, S.L. | Monitoring manually operated syringes |
| EP3302248A4 (en) * | 2015-06-01 | 2019-01-30 | Digital Hospital, Inc. | DOSAGE CONFIRMATION DEVICE |
-
2017
- 2017-08-09 WO PCT/US2017/046032 patent/WO2019032101A1/en not_active Ceased
- 2017-08-09 EP EP17758666.6A patent/EP3665612B1/en active Active
- 2017-08-09 ES ES17758666T patent/ES3010641T3/es active Active
Also Published As
| Publication number | Publication date |
|---|---|
| EP3665612A1 (en) | 2020-06-17 |
| WO2019032101A1 (en) | 2019-02-14 |
| EP3665612B1 (en) | 2024-12-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3010641T3 (en) | Image processing techniques for plunger depth measurement | |
| US9881367B1 (en) | Image processing techniques for plunger depth measurement | |
| US12387352B2 (en) | Depth acquisition device and depth acquisition method | |
| JP6125188B2 (ja) | 映像処理方法及び装置 | |
| US20240127540A1 (en) | 3d particle imaging in pharmaceutical containers | |
| KR20230005350A (ko) | 자동화된 시각적 검사를 위한 딥 러닝 플랫폼 | |
| US10192135B2 (en) | 3D image analyzer for determining the gaze direction | |
| US10748297B2 (en) | Dimension measurement device, parcel locker system, and dimension measurement method | |
| CN110490847A (zh) | 基于视觉的led芯片质量检测方法 | |
| CN110108711A (zh) | 圆环侧壁缺陷的视觉检测系统 | |
| CN104574365B (zh) | 障碍物检测装置及方法 | |
| CN111612765A (zh) | 一种圆形透明镜片识别和定位的方法 | |
| CN105531562A (zh) | 隐形眼镜检查系统和方法 | |
| US11373324B2 (en) | Depth acquisition device and depth acquisition method for providing a corrected depth image | |
| JP7450163B2 (ja) | 奥行取得装置、奥行取得方法およびプログラム | |
| TW201701820A (zh) | 檢測眼球運動的方法、其程式、該程式的記憶媒體以及檢測眼球運動的裝置 | |
| CN105784722A (zh) | 一种流水线上药液瓶中可见异物的检测方法及系统 | |
| CN111602047B (zh) | 片剂检查方法以及片剂检查装置 | |
| CN106529551B (zh) | 面向包装行业的类圆对象智能识别计数检测方法 | |
| CN108573476A (zh) | 基于视觉的太阳花模组表面螺钉孔位置检测方法 | |
| CN104408409A (zh) | 一种适用于散光镜片环境下的瞳孔定位方法 | |
| CN112700400B (zh) | 用于在视网膜跟踪中拒绝完全和部分眨眼的系统和方法 | |
| ES2785276B2 (es) | Sistema y procedimiento para la estimacion automatica del tamano y masa de aceitunas | |
| JP4639840B2 (ja) | 粒状物体の検査方法及びそれを用いる検査装置 | |
| HK40038566B (zh) | 用於进行基於模式识别的药物容器检查的机械手系统 |