ES2559411T3 - Procedimiento de corrección de movimiento relativo de un detector de objetos entre vistas sucesivas - Google Patents

Procedimiento de corrección de movimiento relativo de un detector de objetos entre vistas sucesivas Download PDF

Info

Publication number
ES2559411T3
ES2559411T3 ES05757464.2T ES05757464T ES2559411T3 ES 2559411 T3 ES2559411 T3 ES 2559411T3 ES 05757464 T ES05757464 T ES 05757464T ES 2559411 T3 ES2559411 T3 ES 2559411T3
Authority
ES
Spain
Prior art keywords
image
current
tube
images
previous
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
Application number
ES05757464.2T
Other languages
English (en)
Inventor
John Richard Rahn
Alan C. Nelson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
VisionGate Inc
Original Assignee
VisionGate Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by VisionGate Inc filed Critical VisionGate Inc
Application granted granted Critical
Publication of ES2559411T3 publication Critical patent/ES2559411T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B21/00Microscopes
    • G02B21/24Base structure
    • G02B21/26Stages; Adjusting means therefor
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N15/00Investigating characteristics of particles; Investigating permeability, pore-volume or surface-area of porous materials
    • G01N15/10Investigating individual particles
    • G01N15/14Optical investigation techniques, e.g. flow cytometry
    • G01N15/1429Signal processing
    • G01N15/1433Signal processing using image recognition
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N15/00Investigating characteristics of particles; Investigating permeability, pore-volume or surface-area of porous materials
    • G01N15/10Investigating individual particles
    • G01N15/14Optical investigation techniques, e.g. flow cytometry
    • G01N15/1468Optical investigation techniques, e.g. flow cytometry with spatial resolution of the texture or inner structure of the particle
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/01Arrangements or apparatus for facilitating the optical investigation
    • G01N21/03Cuvette constructions
    • G01N21/05Flow-through cuvettes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/17Systems in which incident light is modified in accordance with the properties of the material investigated
    • G01N21/47Scattering, i.e. diffuse reflection
    • G01N21/4795Scattering, i.e. diffuse reflection spatially resolved investigating of object in scattering medium
    • GPHYSICS
    • G02OPTICS
    • G02BOPTICAL ELEMENTS, SYSTEMS OR APPARATUS
    • G02B21/00Microscopes
    • G02B21/36Microscopes arranged for photographic purposes or projection purposes or digital imaging or video purposes including associated control and data processing arrangements
    • G02B21/365Control or image processing arrangements for digital or video microscopes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • G06T11/005Specific pre-processing for tomographic reconstruction, e.g. calibration, source positioning, rebinning, scatter correction, retrospective gating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/003Reconstruction from projections, e.g. tomography
    • G06T11/006Inverse problem, transformation from projection-space into object-space, e.g. transform methods, back-projection, algebraic methods
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N15/00Investigating characteristics of particles; Investigating permeability, pore-volume or surface-area of porous materials
    • G01N15/10Investigating individual particles
    • G01N15/14Optical investigation techniques, e.g. flow cytometry
    • G01N15/1468Optical investigation techniques, e.g. flow cytometry with spatial resolution of the texture or inner structure of the particle
    • G01N15/147Optical investigation techniques, e.g. flow cytometry with spatial resolution of the texture or inner structure of the particle the analysis being performed on a sample stream
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N15/00Investigating characteristics of particles; Investigating permeability, pore-volume or surface-area of porous materials
    • G01N15/10Investigating individual particles
    • G01N2015/1006Investigating individual particles for cytology
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N15/00Investigating characteristics of particles; Investigating permeability, pore-volume or surface-area of porous materials
    • G01N15/10Investigating individual particles
    • G01N2015/1027Determining speed or velocity of a particle
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/01Arrangements or apparatus for facilitating the optical investigation
    • G01N21/03Cuvette constructions
    • G01N2021/0346Capillary cells; Microcells
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/17Systems in which incident light is modified in accordance with the properties of the material investigated
    • G01N2021/178Methods for obtaining spatial resolution of the property being measured
    • G01N2021/1785Three dimensional
    • G01N2021/1787Tomographic, i.e. computerised reconstruction from projective measurements
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N2201/00Features of devices classified in G01N21/00
    • G01N2201/08Optical fibres; light guides
    • G01N2201/0813Arrangement of collimator tubes, glass or empty
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N2223/00Investigating materials by wave or particle radiation
    • G01N2223/60Specific applications or type of materials
    • G01N2223/612Specific applications or type of materials biological material
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2211/00Image generation
    • G06T2211/40Computed tomography
    • G06T2211/412Dynamic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2211/00Image generation
    • G06T2211/40Computed tomography
    • G06T2211/421Filtered back projection [FBP]

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Engineering & Computer Science (AREA)
  • Biochemistry (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Optics & Photonics (AREA)
  • Dispersion Chemistry (AREA)
  • Multimedia (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Algebra (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)
  • Investigating Or Analysing Materials By Optical Means (AREA)
  • Microscoopes, Condenser (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Abstract

Un procedimiento de corrección del movimiento relativo de un detector de objetos entre vistas sucesivas en un sistema de microscopía tomográfica de proyección óptica que incluye un tubo microcapilar (3) que tiene un eje del tubo, en el que las vistas sucesivas comprenden una vista actual y una vista anterior, en el que la vista actual y la vista anterior se toman cada una desde una perspectiva diferente, comprendiendo el procedimiento las etapas de: iluminar un objeto (1) de interés contenido dentro del tubo microcapilar para producir imágenes adquiridas que incluyen una imagen actual (111) a partir de la vista actual y una imagen anterior a partir de la vista anterior; determinar un valor de corrección de desviación lateral para cada una de las imágenes (114) actuales y anteriores, donde la desviación lateral es una traslación a lo largo de la dimensión de la imagen perpendicular al eje del tubo, formando umbrales de cada imagen (21) y realizando correlaciones cruzadas de cada imagen con formación de umbral con una imagen (22, 23, 24, 25, 26, 27) de plantilla a lo largo de las filas de cada imagen con formación de umbral y cada imagen de plantilla, en el que la imagen de plantilla se crea (111) creando dos líneas brillantes separadas por una cantidad conocida encontrada entre las paredes del tubo microcapilar en una de las imágenes adquiridas para formar una imagen de plantilla preliminar, expandir la imagen de plantilla preliminar para proporcionar rellenado con ceros en dos dimensiones, lo que tiene como resultado una imagen de plantilla expandida, y realizar una FFT (22) en dos dimensiones en la imagen de plantilla expandida para crear la imagen de plantilla final; determinar un valor de corrección de desviación axial para la imagen actual (115) donde la desviación axial es una traslación a lo largo de la dimensión de la imagen en paralelo al eje del tubo, realizando una formación de umbral de una copia de la imagen actual para producir una versión con formación de umbral de la imagen actual, realizando una correlación cruzada de la versión con formación de umbral de la imagen actual con una versión con formación de umbral de la imagen anterior y determinar una desviación axial como un máximo en la función de correlación cruzada a lo largo de la línea que se corresponde con la diferencia en los valores de corrección de desviación lateral de las imágenes actuales y anteriores; y aplicar el valor de corrección de desviación lateral y el valor de corrección de desviación axial para la imagen actual en la imagen actual para producir una imagen (116) de archivo corregida.

Description

5
10
15
20
25
30
35
40
45
50
55
DESCRIPCION
Procedimiento de correccion de movimiento relativo de un detector de objetos entre vistas sucesivas Campo de la invencion
La presente invencion se refiere a la formacion de imagenes y, mas en particular, a la deteccion y correccion del movimiento relativo de un detector de objetos en un sistema de formacion de imagenes donde, normalmente, se adquieren vistas sucesivas desde diferentes posiciones, representando cada vista una proyeccion o pseudoproyeccion en dos dimensiones del objeto en tres dimensiones.
Antecedentes de la invencion
Un sistema de microscopfa tomografica de proyeccion optica (OPTM) es adecuado para la formacion de imagenes en alta resolucion de un objeto microscopico, tal como una celula biologica y su nucleo, que se incrustan en un medio fluido y se contienen dentro de un tubo microcapilar que tiene diametros interiores y exteriores de 40 micrometros y 150 micrometros, respectivamente. Una OPTM emplea una pluralidad de vistas, adquirida cada una mediante la rotacion del objeto y su recipiente de contencion alrededor de un eje perpendicular al eje optico y paralelo al eje del tubo microcapilar. Una camara, que tiene un sensor de imagenes CCD compuesto de una matriz de pfxeles MxN, captura la luz despues de que pase a traves del objeto y la optica de formacion de imagenes, lo que produce una imagen ampliada del campo de vision (FOV) en el CCD. Ya que cada vista se toma desde una perspectiva diferente, el contenido de cada vista se diferenciara de las otras.
Debido a los tamanos extremadamente pequenos de los componentes, puede ser bastante diffcil colocar el eje de rotacion (que coincide normalmente con el eje central del tubo microcapilar) en el centro del FOV del detector. Ademas, es muy diffcil mantener el tubo microcapilar estacionario mientras rota. Adicionalmente, la propia celula puede moverse a lo largo del eje del tubo entre diferentes vistas. Como resultado, cada vista, que ya esta alterada debido a la rotacion del tubo, puede ademas someterse a traslaciones tanto axiales (paralelas al eje microcapilar) como laterales (perpendiculares al eje optico y al eje del tubo). Estas traslaciones laterales se suman a las que ya estan presentes para los objetos que no estan en el eje de rotacion.
Para obtener una reconstruccion precisa en 3D, ya sea a traves de proyeccion por transparencia filtrada u otro medio, es por tanto necesario corregir el movimiento axial y esa porcion del movimiento lateral que no se debe a la perspectiva cambiante desde una vista a otra. Es ademas necesario determinar donde se ubica el eje de rotacion en el FOV del detector.
La patente de Estados Unidos 4.858.128, de Nowak describe un procedimiento donde unas escenas consecutivas se relacionan unas con otras, primero en un eje y despues, independientemente, en el otro eje. La ubicacion del valor maximo para las dos correlaciones determina la desviacion requerida para los dos ejes. El procedimiento describe fallos al proporcionar medios para distinguir la traslacion lateral “natural”, debido al cambio en perspectiva, de la traslacion lateral “erronea”, debido a la traslacion del tubo microcapilar. La patente de Nowak ensena que, “puede ser util estimar tal componente de fondo de la senal y sustraer la estimacion de los datos de imagen”.
William H. Press y col., Numerical Recipes in C: The Art of Scientific Computing, Cambridge University Press; 2a edicion (1 de enero de 1993) describe medios para implementar, por medio de un programa informatico, las tecnicas de correlacion mutua entre dos matrices de datos usando transformadas rapidas de Fourier (FFT). En resumen, la correlacion mutua de dos matrices de datos (tales como datos de imagen) puede obtenerse aplicando una FFT a cada matriz, multiplicando una de las matrices resultantes por el conjugado complejo de la otra, y aplicando una FFT inversa al resultado.
Para superar los inconvenientes actuales en el estado de la tecnica, es un objetivo de la presente invencion proporcionar un procedimiento para encontrar la ubicacion del eje central del tubo microcapilar para cada vista en un sistema de formacion de imagenes de multiples vistas. Es ademas un objetivo de la invencion proporcionar un procedimiento para detectar el movimiento relativo del detector de objetos entre vistas sucesivas en un sistema de formacion de imagenes de multiples vistas. Es ademas un objetivo de la invencion proporcionar un procedimiento para corregir datos de imagenes para retirar errores debido a un movimiento del objeto durante la recogida de datos de imagen. Es otro objetivo adicional de la invencion proporcionar un sistema de formacion de imagenes de un tipo que produce una polaridad de matrices de datos X-Y que representan listas de proyeccion o pseudoproyeccion de un objeto para una reconstruccion tomografica posterior de cortes axiales del objeto. El movimiento detectado puede retirarse desplazando adecuadamente los datos posteriores para que se alineen con los datos anteriores, o viceversa.
Sumario de la invencion
La presente invencion proporciona un aparato y un procedimiento para la correccion de movimiento para la formacion de imagenes tomograficas y opticas en tres dimensiones. Un objeto de interes se ilumina para producir una imagen. Un valor de correccion de desviacion lateral se determina para la imagen. Un valor de correccion de desviacion axial se determina para la imagen. El valor de correccion de desviacion lateral y el valor de correccion de
5
10
15
20
25
30
35
40
45
50
55
desviacion axial se aplican a la imagen para producir una imagen de archivo corregida.
Breve descripcion de los dibujos
Aunque las caractensticas nuevas de la invencion se exponen con particularidad en las reivindicaciones adjuntas, la invencion, tanto en organizacion como en contenido, se entendera y apreciara mejor, junto con otros objetos y caractensticas de la misma, a partir de la siguiente descripcion detallada tomada junto con los dibujos descritos a continuacion.
La Figura 1 es un diagrama de bloques funcional de una realizacion de ejemplo de un procedimiento para la correccion del movimiento relativo de un detector de objetos entre vistas sucesivas construido de acuerdo con las ensenanzas de la presente invencion.
La Figura 2 es un diagrama de bloques funcional de una porcion de correccion lateral de un sistema de formacion de imagenes que emplea la realizacion de ejemplo descrita en la Figura 1.
La Figura 3 es un diagrama de bloques funcional de una porcion de correccion axial de un sistema de formacion de imagenes que emplea la realizacion de ejemplo descrita en la Figura 1.
La Figura 4A representa una imagen de una celula antes de las operaciones de formacion umbral que se emplean en un ejemplo del procedimiento de la presente invencion.
La Figura 4B representa el resultado de aplicar operaciones de formacion umbral que se emplean en un ejemplo del procedimiento de la presente invencion en la imagen mostrada en la Figura 4A.
La Figura 4C ilustra un histograma que muestra las distribuciones de brillo de las imagenes mostradas en las Figuras 4A-4B.
La Figura 5 representa esquematicamente un sistema de microscopfa tomografica de proyeccion optica (OPTM) empleado en una realizacion de la invencion.
La Figura 6A y la Figura 6B muestran esquematicamente una realizacion de un sistema de tomograffa optica que incorpora un objetivo de microscopio montado en un dispositivo de traslacion piezoelectrica.
La Figura 7 muestra un diagrama de flujo de ejemplo que ilustra un procedimiento para adquirir imagenes usadas en la reconstruccion de imagenes en tres dimensiones (3D) tal como se contempla mediante una realizacion de la presente invencion.
La Figura 8 muestra esquematicamente un ejemplo de desviaciones de correccion de movimiento para su uso en una reconstruccion de imagen en tres dimensiones (3D) tal como se contempla mediante una realizacion de la presente invencion.
Descripcion detallada de las realizaciones preferentes
La invencion se describe en el presente documento con respecto a ejemplos espedficos en relacion con celulas biologicas, sin embargo, se entendera que estos ejemplos tienen el fin de ilustrar los principios de la invencion, y que la invencion no queda limitada de esta manera. Aunque la presente invencion puede emplearse en otros tipos de sistemas de formacion de imagenes, tales como, por ejemplo, formacion de imagenes de tomograffa computada (CT) de rayos X, para concretar la descripcion, la siguiente divulgacion va dirigida a la invencion en el entorno de un sistema de microscopfa tomografica de proyeccion optica (OPTM).
En el analisis a continuacion, se usan las siguientes suposiciones al proporcionar ejemplos numericos:
1. Cada imagen consiste en una matriz, de 640 pfxeles de ancho por 480 pfxeles de alto;
2. Cada pixel contiene un unico valor de brillo de 8 bits (nivel de grises de 0 a 255);
3. En referencia a una OPTM que usa un tubo microcapilar, el eje del tubo es paralelo al eje mas corto (480 pfxeles);
4. En referencia a una OPTM que usa un tubo microcapilar, la separacion de la pared del tubo es 530 pfxeles;
5. El numero de barras usadas para encontrar la desviacion lateral (B1) es 20;
6. El numero de barras usadas para encontrar la desviacion axial (B2) es 2;
7. La matriz se rellena con ceros a 1024 por 1024 pfxeles.
Debe entenderse que estos valores numericos tienen fines ilustrativos unicamente; pueden emplearse otros valores numericos sin apartarse de la naturaleza de la invencion.
En referencia ahora a la Figura 1, se muestra un diagrama de bloques funcional de una realizacion de ejemplo de un procedimiento para correccion del movimiento relativo de un detector de objetos entre vistas sucesivas construido de acuerdo con las ensenanzas de la presente invencion. En la realizacion de ejemplo, se genera una copia alterada de cada imagen, en la que los pfxeles mas luminosos se reasignan a un nivel de brillo cero, mientras que todos los otros pfxeles retienen el mismo brillo que en la imagen inicial. Entonces, se multiplica una FFT en dos dimensiones (2D) de esta imagen con formacion de umbral, pixel por pixel, por el conjugado complejo de la FFT en 2D de una imagen de referencia. El brillo de la matriz resultante se suma entonces a lo largo de cada lmea paralela al eje del tubo microcapilar (que se llamara de aqrn en adelante eje Y) para desarrollar una matriz en una dimension (1D) que contiene informacion sobre el patron de brillo en la direccion (que se denominara de aqrn en adelante como eje X) perpendicular al eje optico y al eje microcapilar. Entonces, se aplica una FFT en 1D, y se determina la ubicacion del maximo. La ubicacion determina la cantidad de desviacion que se aplicara a lo largo del eje X para llevar la imagen
5
10
15
20
25
30
35
40
45
50
55
del eje central del tubo microcapilar a su posicion deseada en la imagen.
La imagen de referencia tiene la ventaja de la constancia de la separacion entre las paredes del tubo microcapilar, y consiste en dos lmeas brillantes al maximo separadas por la cantidad conocida encontrada en las imagenes adquiridas; el resto de la imagen de referencia tiene un brillo cero. Las paredes del tubo aparecen solo debilmente en las imagenes de pseudoproyeccion, ya que los indices de refraccion de las paredes del tubo coinciden con los materiales dentro del tubo y entre el tubo y el conjunto de platina/cubreobjetos. El efecto de la operacion de histograma es mejorar el contraste entre las paredes del tubo y el resto de la imagen. Usando la separacion predeterminada de la pared del tubo, en conjunto con el numero conocido de pfxeles a lo largo del eje X de la imagen, se hace posible distinguir el movimiento del propio tubo del movimiento de los objetos dentro del tubo, debido a la rotacion del tubo y al cambio consecuente de perspectiva. Al correlacionar mutuamente las dos imagenes basandose en una caractenstica constante, nuestro procedimiento minimiza la posibilidad de rastrear los movimientos de caractensticas cambiantes dentro de la celula.
Se usa un procedimiento de correlacion mutua para determinar la cantidad de la desviacion axial con respecto al eje Y. Para hacer esto, se forma de nuevo el umbral de una copia de la imagen original, pero usando criterios diferentes para determinar que pfxeles se restablecen en un brillo cero. Se aplica una FFT en 2D en esta imagen, y se multiplica, pixel por pixel, por el conjugado complejo de la FFT en 2D de la imagen con formacion de umbral derivada de la vista inmediatamente anterior. Una FFT en 2D se aplica al resultado, y la desviacion del eje X se determina como el maximo en la funcion de correlacion mutua a lo largo de la lmea que se corresponde con la diferencia en la correccion lateral de la imagen actual con la de la imagen anterior. Esto es una distincion de los procedimientos anteriores, ya que la desviacion del eje X se limita mediante la desviacion del eje Y; y no se encuentra independientemente de la desviacion del eje Y.
A diferencia de la correccion lateral, la correccion axial es un procedimiento iterativo y de esta manera esta sometido a errores acumulativos. La correlacion mutua axial funciona eficazmente, sin embargo, siempre y cuando el cambio en perspectiva entre imagenes consecutivas no sea demasiado grande; esto se corresponde con pequenos incrementos angulares en la rotacion. Al mantener pequeno el incremento angular, el contenido espacial no vana mucho, permitiendo que la correlacion mutua rastree caractensticas similares en cada imagen. Ya que el incremento angular tambien determina la resolucion lateral de la reconstruccion tomografica en 3D, no es oneroso el requerimiento de que el incremento angular se mantenga pequeno para permitir que la correlacion mutua funcione bien.
Tal como se ha mencionado brevemente, esta realizacion de la presente invencion elimina los efectos del movimiento axial y lateral mediante el tubo microcapilar desplazando adecuadamente las imagenes posteriores para alinearlas con imagenes anteriores, o viceversa. Los procedimientos de correlacion mutua se usan para encontrar la desviacion en el eje lateral, y despues en el eje del tubo, con la restriccion de que la correlacion maxima para el movimiento axial debe llegar tras la determinacion del movimiento lateral.
La primera etapa 111 es generar la imagen de plantilla. Dos lmeas blancas que tienen, por ejemplo, un nivel de escala de grises de 65.535, se crean en sus posiciones ideales. Cada lmea tiene una longitud de 480 pfxeles, que se desarrollan en paralelo a la dimension corta de la imagen. Las ubicaciones de las dos lmeas se determinan mediante la dimension larga de la imagen (640 pfxeles) y la separacion de la pared del tubo, determinada empmcamente como 530 pfxeles. La primera lmea se ubica en la lmea 0 y la segunda lmea se ubica en la lmea 530. En esta realizacion, el tamano de la imagen de plantilla puede expandirse desde 640x480 a 1024x1024 para proporcionar un rellenado con ceros en ambas dimensiones; sin embargo, esta accion no es esencial para la invencion.
Una FFT en 2D se realiza en la imagen de plantilla para que los componentes reales e imaginarios se guarden en indices alternativos de la matriz resultante. De esta manera, para una matriz rellenada con ceros, el tamano de matriz es 2048x1024. La imagen de plantilla esta ahora en un formato listo para su uso.
En la etapa 114 se encuentra la desviacion lateral. En la etapa 114, se realiza una formacion de umbral de la imagen para oscurecer los pfxeles de fondo, y despues se realiza una correlacion mutua con la imagen binaria de las dos lmeas brillantes. Las imagenes de interes se someten a la determinacion de desviacion lateral 114. Para ayudar en la correccion axial, Dlat se guarda para cada imagen.
En referencia ahora a la Figura 2, se muestra un diagrama de bloques funcional de una porcion de correccion lateral de un sistema de formacion de imagenes que emplea la realizacion de ejemplo descrita en la Figura 1. Las etapas implicadas para encontrar la desviacion lateral 114 incluyen construir un histograma de escala de grises de la imagen, donde el numero de barras (B1) puede establecerse en cualquier valor entero desde 2 a 255. Para el presente ejemplo, se asume que B1=20. Se encuentra la barra con el numero mayor de pfxeles (excepto por la primera barra, que se corresponde con los pfxeles mas oscuros), y todos los pfxeles en la imagen original que tienen el valor de escala de grises de esa barra o mayor se establecen igual a cero en una copia de la imagen original. El efecto de este procedimiento 21 es retirar los pfxeles de fondo de consideraciones posteriores para producir una imagen con formacion de umbral.
Como un ejemplo, se supone que la imagen de entrada tiene valores de escala de grises mmimos y maximos de 31
5
10
15
20
25
30
35
40
45
50
55
y 190, respectivamente, por lo que cada barra tiene una anchura de ocho niveles de grises [(1 + 190+31)/20=8]. Ahora se supone ademas que el maximo en el histograma ocurre en la barra #16 (es decir, niveles de gris de 151 a 158). Despues, la imagen con formacion de umbral sera similar a la imagen original, excepto que todos los pfxeles con un nivel de gris inicial mayor de 150 tienen ahora un nivel de gris de cero.
Las Figuras 4A-4C ilustran el efecto de aplicar estas etapas 21 a una imagen. Una comparacion visual de una imagen original con una imagen segmentada puede realizarse en referencia a la Figura 4A, que muestra un ejemplo de una imagen de celula antes de la segmentacion y la formacion de umbrales, y despues en referencia a la Figura 4B que muestra un ejemplo de una imagen de celula segmentada y con formacion de umbral que se corresponde con la imagen original de la Figura 4A. La Figura 4C es un histograma de una imagen de ejemplo que muestra una comparacion de los niveles de gris de la imagen original y la imagen tras la formacion de umbrales.
Se aplica una FFT 2D en la imagen 22 con formacion de umbral, y su transformada de Fourier se multiplica 23 por el conjugado complejo de la transformada de Fourier de la imagen de plantilla. La matriz resultante se suma 24 a lo largo de cada una de las 640 filas para computar una nueva matriz, que es la transformada de Fourier (en 1D) 25 para encontrar la correlacion mutua de las filas de la imagen con formacion de umbral y la imagen de referencia. El valor maximo de la matriz en 1D se ubica 26 y se evalua 28. La posicion del maximo se designa como Dlat y su magnitud se designa como Cmax.
La desviacion necesaria se determina mediante la diferencia entre Dlat y su posicion ideal de 55[(640-530)/2=55]. De esta manera, por ejemplo, si Dlat= 63, entonces es necesario un desplazamiento ascendente de 8 pfxeles (63-55 = 8), mientras que si Dlat= 41, entonces es necesario un desplazamiento descendente de 14 pfxeles (55-41 = 14).
El procedimiento 114 se repite para todas la imagenes en el conjunto de datos. Debe apreciarse que cada imagen hace referencia a la misma plantilla, por lo que no existe error acumulativo. Para ayudar en la correccion axial, Dlat se guarda 29 para cada imagen.
En referencia ahora a la Figura 3, se muestra un diagrama de bloques funcional de una porcion de correccion axial de un sistema de formacion de imagenes que emplea la realizacion de ejemplo descrita en la Figura 1. La correccion axial 115 se realiza en todas las imagenes excepto en la primera. Se forma el umbral de una copia de la imagen de entrada en la etapa 31, y despues se realiza una correlacion mutua con una copia con formacion de umbral de la imagen anterior. La desviacion se determina como el maximo en la funcion de correlacion mutua a lo largo de la lmea que se corresponde con la diferencia en la correccion lateral para la perspectiva actual [Dlat(N)] y la correccion lateral para la perspectiva inmediatamente anterior [Dlat(N-1)]. A diferencia de la correccion lateral 114, por tanto, la correccion axial 115 es un procedimiento iterativo y de esta manera esta sometido a errores acumulativos.
Se realiza una formacion de umbral 31 de una copia de una imagen de entrada de la misma manera que para la correccion lateral, pero en este caso el numero de barras en el histograma es B3. En el ejemplo presente, B3=2. De esta manera, todos los pfxeles con un nivel de grises mayor que el nivel de grises de intervalo medio se establecen en cero, mientras que aquellos con niveles de grises menores retienen sus valores iniciales. Por ejemplo, una imagen de entrada con valores mmimos y maximos de 31 y 190, respectivamente, tendra como resultado una imagen con formacion de umbral identica a la inicial, excepto que todos los pfxeles que eran inicialmente mas brillantes que 110 ahora son cero.
Habiendo oscurecido de esta manera los pfxeles brillantes, la imagen con formacion de umbral sufre una transformada de Fourier en 2D 32. Despues se filtra 33 para eliminar las caractensticas mas pequenas, que pueden producir picos espurios en la correlacion mutua. Solo se multiplican las frecuencias espaciales de hasta 102 ciclos/pfxel, que se corresponden con tamanos especiales de diez pfxeles o menos, y los pfxeles a mayores frecuencias espaciales se establecen en cero. La matriz resultante se guarda 34 como Sn y se multiplica 35 por el conjugado complejo de Sn-1, obtenido a partir de la copia con formacion de umbral de la imagen anterior. Una FFT en 2D se aplica despues a la matriz resultante para encontrar la correlacion mutua de las dos imagenes consecutivas, con formacion de umbral y con filtro de paso bajo. La diferencia en la desviacion lateral entre las dos imagenes consecutivas [Dlat (N) - Dlat(N-1)] encontrada a partir de la etapa 114 de correccion lateral es ahora necesaria, ya que es incorrecto encontrar el maximo global de la matriz de correlacion. En su lugar, debe encontrarse un maximo local, Fmax, en la fila que se corresponde con [Dlat(N)-Dlat(N-1)]. La columna que contiene Fmax se designa como Gmax. Si Gmax es mayor que la mitad de la dimension rellenada de la imagen (1024, en este ejemplo), entonces su valor significa un desplazamiento negativo, en relacion con la imagen anterior, teniendo una magnitud igual que la dimension rellenada con ceros menos el valor de Gmax. Si Gmax es menor que la mitad de la dimension rellenada con ceros, entonces el desplazamiento requerido, en relacion con la imagen anterior, es positivo e igual a Gmax.
Como un ejemplo, se supone que Dlat (N-1)= 45, mientras que Dlat (N) = 63. Entonces, Fmax se encontrara en la fila 18 de la matriz de correlacion (63-45 = 18). Si Fmax, el valor maximo de la fila 18, ocurre en la quinta columna, entonces Gmax=5 y la imagen debe desplazarse cinco pfxeles a la izquierda de la imagen anterior. Si el maximo ocurre en la fila 1019 (Gmax=1019), entonces la imagen debe desplazarse cinco pfxeles a la derecha (1024-1019 = 5) de la imagen anterior, ya que 1019 es mayor que 512.
5
10
15
20
25
30
35
40
45
50
55
Despues de encontrar Gmax, el valor del desplazamiento se anade a la suma de todas las desviaciones axiales previas para determinar Daxial, la diferencia acumulativa desde la primera imagen adquirida hasta la imagen actual. El desplazamiento puede ser positivo o negativo; por tanto, algunas imagenes pueden no necesitar ningun desplazamiento axial. Para cada imagen, se escriben cuatro valores en un archivo de texto:
1. La posicion de la pared del tubo superior, Dlat;
2. Cmax, el valor maximo de la correlacion mutua entre la imagen actual y la imagen de referencia;
3. Gmax, la ubicacion de Fmax en la fila apropiada de la correlacion mutua entre la imagen actual y la imagen anterior (para la primera imagen, Gmax = 0);
4. Fmax (para la primera imagen, Fmax = 0).
El archivo corregido se genera recortando el numero apropiado de pfxeles desde uno o dos bordes y desplazando los pfxeles restantes mediante el numero recortado. Para mantener las dimensiones originales de la imagen (640x480), los espacios en los bordes opuestos desde los bordes recortados se sustituyen por pfxeles establecidos en el maximo nivel de grises de la imagen original.
Por ejemplo, se supone que para una de las imagenes, el nivel de grises maximo es 229, Dlat=63, Daxial= 29, y Gmax = 1022. Entonces, los pfxeles en las ocho filas superiores (63-55=8) y las 27 columnas izquierdas (291024+1022 = 27) se eliminan de la imagen. De esta manera, la novena fila de la columna 28 ocupa la esquina superior izquierda. Ocho filas se anaden a la parte inferior de la imagen, y 28 columnas se anaden a la derecha de la imagen; estos pfxeles tienen niveles de grises de 229. Cuando estos procedimientos se completan, la region de 632x453 pfxeles en la izquierda superior de la imagen corregida es identica a la region de 632x453 pfxeles en la derecha inferior de la imagen original. Ambas imagenes tienen dimensiones de 640x480.
Otra realizacion de ejemplo incorpora solamente la correccion axial 115 y la escritura de la imagen corregida 116. Esta realizacion es util cuando las paredes del tubo microcapilar no son visibles y se conoce que el movimiento lateral del tubo es insignificantemente pequeno.
En otra realizacion adicional, la separacion de la pared del tubo se calcula automaticamente a partir de la primera vista (N=0). De lo contrario, es identica a la realizacion descrita anteriormente en referencia a las Figuras 1-3. En otra realizacion de la invencion, la separacion de las paredes del tubo se determina basandose en un calculo de su separacion en una o mas de las imagenes. Esto se logra usando como referencia una imagen derivada de una unica lmea brillante, tal como mediante una FFT en 2D y una conjugacion compleja. Las filas se suman, como en la primera realizacion, y la ubicacion del maximo se toma como la ubicacion de una pared del tubo en relacion con su ubicacion en la imagen a partir de la que se derivo la imagen de referencia. La ubicacion del siguiente valor de correlacion mas alto proporciona la ubicacion de la otra pared del tubo, en relacion con la primera. En caso deseado, la busqueda de este maximo secundario puede limitarse a un intervalo cuya ubicacion central, en relacion con la primera pared del tubo, se encuentra en las proximidades de la anchura presumida del tubo. Esta realizacion tambien abarca la posibilidad de usar la referencia de lmea unica para los puntos de vista adquiridos. Tal disposicion puede ser util cuando la separacion de la pared del tubo no es conocida, o cuando las paredes interiores del tubo no forman un drculo, como cuando el perfil interior del tubo es cuadrado o elfptico.
En otra realizacion de la invencion, las caractensticas de la etapa de formacion de umbral pueden variar basandose en informacion de la correlacion. Tales enfoques iterativos pueden emplearse en la primera etapa de formacion de umbral para la correccion lateral, en la segunda etapa de formacion de umbral para la correccion axial, o en ambas. Una caractenstica que puede variar es el numero de divisiones o barras usadas en el histograma. Otra caractenstica que puede variar es el numero de niveles de gris contenidos dentro de cada barra del histograma. Por ejemplo, el histograma puede basarse en la rafz cuadrada del nivel de brillo.
De acuerdo con una caractenstica de la invencion, la salida del procedimiento es una copia recortada del archivo de entrada, con las porciones no cortadas desplazadas verticalmente y/u horizontalmente, y con pfxeles vacms adicionales insertados en uno o dos de los lfmites para retener el tamano de la imagen de entrada.
De acuerdo con una caractenstica adicional de la invencion, los resultados del procedimiento empleado se guardan en un archivo digital, que puede alterarse y editarse usando aplicaciones informaticas de procesamiento de texto. El archivo de texto alterado puede usarse entonces para generar las desviaciones en los dos ejes, evitando de esta manera muchos de los calculos antes descritos. En esta realizacion, el procedimiento de correccion lateral de las etapas 114 a 116 se repite para encontrar el maximo de Cmax. Si Cmax tiene una magnitud menor que un valor cntico Ccrit, entonces todo el procedimiento se repite, comenzando con la formacion de umbrales 27, pero con el numero de barras en el histograma cambiado de B1 a B2. De nuevo, Cmax se ubica 26 y se evalua 28.
Ahora, en referencia a la Figura 5, se muestra esquematicamente una ilustracion de ejemplo de celulas empaquetadas en un tubo capilar tal como se contempla mediante una realizacion de la presente invencion. En esta realizacion de ejemplo, una seccion del tubo capilar 3 se llena con objetos de interes 1, tal como celulas, que se empaquetan ngidamente en el tubo. Cada una de las celulas puede incluir un nucleo 2. El tubo capilar 3 tiene un eje central 4 orientado en referencia a un sistema 6 de coordenadas que tiene coordenadas en las direcciones x, y, y z. en algunos casos, al menos una sonda molecular 153 puede unirse dentro de la celula. Un ordenador 7 se acopla
5
10
15
20
25
30
35
40
45
50
55
60
para proporcionar senales de control a un motor rotativo 5 y un motor 8 de traslacion. Se reconocera que tambien pueden emplearse disposiciones equivalentes de uno o mas motores, engranajes o flmdica y otros medios de generacion de movimiento para lograr el movimiento de traslacion y rotativo necesario del tubo capilar u otro sustrato. En algunos casos, uno o mas de los motores pueden sustituirse por dispositivos o engranajes de colocacion manual o por otro medio de generacion de movimiento tal como dispositivos hidraulicos o piezoelectronicos. El eje de traslacion es el eje z, y la rotacion es alrededor del eje z. El motor 9 de colocacion se acopla para mover la celula en un plano definido por los ejes x, y, sustancialmente perpendicular al eje central con el fin de conseguir el centrado, segun sea necesario.
Se reconocera que la superficie curvada del tubo capilar actuara como una lente cilmdrica y que este efecto de enfoque puede no ser aconsejable en un sistema de proyeccion. Los expertos en la materia apreciaran que la flexion de fotones mediante el tubo puede eliminarse si los espacios entre la fuente de punto y el tubo y entre el tubo y las superficies detectoras se llenan con un material 10 cuyo mdice de refraccion coincide con el del tubo capilar, y que el tubo puede acoplarse opticamente (con aceite o un gel, por ejemplo) al material que rellena el espacio.
Considerese el presente ejemplo de celulas empaquetadas en un tubo capilar. Las celulas pueden empaquetarse preferentemente en un unico archivo para que no se superpongan. La densidad de empaquetar celulas completas de aproximadamente 100 micrometros de diametro en un tubo capilar con un diametro menor de 100 micrometros puede ser aproximadamente 100 celulas por cenffmetro de longitud del tubo. Para nucleos basicos de aproximadamente 20 micrometros de diametro, el empaquetado puede ser aproximadamente 500 nucleos por cenffmetro de longitud del tubo, donde el diametro del tubo es proporcional al tamano del objeto, alrededor de 20 micrometros en este caso. De esta manera, dentro de varios cenffmetros de longitud del tubo capilar, pueden empaquetarse varios miles de nucleos basicos no superpuestos. Al trasladar el tubo a lo largo de su eje central 4, puede lograrse el movimiento en la direccion z. Mover el tubo en las direcciones x e y permite que los objetos dentro del tubo se centren, segun sea necesario, en el cilindro de reconstruccion del sistema de tomograffa optica. Al rotar el tubo alrededor de su eje central 4, pueden producirse una multiplicidad de vistas de proyeccion radial. Mover el tubo en la direccion z con una velocidad constante y sin rotacion estimula el caso especial de tomograffa optica de flujo.
Una ventaja de mover un tubo lleno de celulas, que de lo contrario son estacionarias dentro del tubo, es que los objetos de interes pueden detenerse, y luego rotarse, a velocidades que permiten una exposicion casi optima para la tomograffa optica basandose en las celulas una a una. Es decir, la relacion de la senal con respecto al ruido de las imagenes de proyeccion puede mejorarse para producir mejores imagenes de las que pueden producirse normalmente a velocidades y direccion constantes ffpicas de los sistemas de flujo. Los objetos que no son de interes pueden moverse fuera del sistema de formacion de imagenes rapidamente, para obtener una velocidad general al analizar celulas de interes en una mezcla que consiste en una multitud de celulas. Adicionalmente, la capacidad de detenerse en un objeto de interes, y despues rotar segun sea necesario para multiples proyecciones, elimina practicamente los artefactos en movimiento. Adicionalmente, el sistema de movimiento puede guiarse en movimientos de submicrometros y puede aplicarse ventajosamente de una manera que permite un muestreo de la celula a una resolucion mas mtida de lo que permite el tamano de pixel del detector. Mas en particular, el factor de muestreo Nyquist de 2 podffa gestionarse mediante el sistema de movimiento moviendose en incrementos que rellenan la mitad de la anchura de un pixel, por ejemplo. De manera similar, el sistema de movimiento puede compensar el factor de forma imperfecto del detector.
Ahora, en referencia a la Figura 6A, se muestra una vista cercana de un unico especimen, tal como por ejemplo una unica celula, sumergida dentro de un medio de material de indexacion optica. El unico especimen se muestra dentro de un tubo microcapilar 3 (por ejemplo, uno de tales tubos se fabrica por parte de Polymicro Technologies, LLC., AZ, Estados Unidos) que puede rotarse para adoptar multiples proyecciones, y un objetivo 40 que puede escanearse axialmente se muestra esquematicamente. Una fuente de iluminacion incluye una fuente 50 de luz que proyecta luz a traves de una abertura 51, un reten 52, y a traves de una lente condensadora 53 que se coloca delante de una platina 54 de microscopio. Un tubo microcapilar 3 contiene una celula 1 entre la platina y un cubreobjetos 55 delgado. Un objetivo 40, preferentemente una lente de inmersion en aceite, esta dispuesto para recibir luz que pasa a traves del tubo microcapilar 3. El objetivo se traslada a lo largo del eje optico mediante un accionador 57 tal como un elemento piezoelectrico. El cubreobjetos 55 debe ser lo suficientemente fino para que la distancia entre el centro del tubo microcapilar y la superficie exterior del cubreobjetos sea mas pequena que la distancia de trabajo del objetivo. La lente condensadora 53 esta dentro del mdice de refraccion n (por ejemplo, aire). La platina 54 y el cubreobjetos 55 tienen un mdice de refraccion n2. Una region 58 alrededor del tubo microcapilar 3 contiene un medio 15 de coincidencia de mdice tal como gel optico o aceite de inmersion, que tiene un mdice de refraccion n3. El propio tubo microcapilar 3 tiene un mdice de refraccion n4. La region 59 alrededor de la celula 1 dentro del tubo microcapilar contiene un medio 10 que posee un mdice de refraccion n5. Una region 60 dentro de la celula puede rellenarse con el mismo medio 10, o puede diferenciarse en su mdice de refraccion na. Se prefiere que n3 = n4 = n5 = n6 (las diferencias deben minimizarse) entre las dos superficies paralelas y planas formadas mediante la platina 54 y el cubreobjetos 55 para evitar una distorsion de la lente cilmdrica. La imagen se proyecta sobre una camara 43.
En referencia ahora a la Figura 6A y la Figura 6B, se muestra esquematicamente una realizacion de un sistema de tomograffa optica empleado en la presente invencion, que incorpora un objetivo de microscopio montado en un dispositivo de traslacion piezoelectrica. El transductor 57 piezoelectrico se usa para mover un objetivo 60 una
5
10
15
20
25
30
35
40
45
50
55
distancia axial de aproximadamente 40 micrometros o mas. En una realizacion util, un sistema de colocacion de microobjetivo proporciona un accionador 57 adecuado, que se desplaza hacia arriba y hacia abajo a lo largo del eje z del sistema 6 de coordenadas del tubo. En esta realizacion, puede usarse con un gran objetivo numerico de abertura, montado en un microscopio 64 de transmision estandar con una videocamara 43 unida y un conjunto 61 controlado por ordenador de fuente de luz y lente condensadora. El condensador y la fuente de luz 50 controlados por ordenador pueden ser ventajosamente una fuente de luz que incluye una o mas bombillas incandescentes, una lampara de arco, un laser o un diodo emisor de luz. Unas senales 70 de control de ordenador se vinculan con el condensador y la fuente de luz 50 controlados por ordenador para controlar la modulacion de la luz.
La salida desde la camara 43 se almacena en una memoria informatica 72. Un tubo microcapilar 3 que contiene el especimen puede trasladarse a lo largo de los ejes x o y del sistema 6 de coordenadas del tubo. Ademas, e tubo microcapilar 3 puede rotar alrededor de su eje “0” 49, por medio de un motor rotativo 5 que puede controlarse por ordenador. Tal como se usa en el presente documento, el tubo microcapilar se define como un tubo capilar que tiene un diametro donde el campo de vision para la formacion de imagenes microscopicas es comparable con el diametro del tubo capilar. En una realizacion de ejemplo, el motor rotativo 5 se controla mediante senales 71 de control proporcionadas mediante el ordenador 7. Para aplicaciones de alta velocidad pueden anadirse otros controles para reducir las vibraciones durante un escaneo axial. La imagen adquirida puede mostrarse en el monitor 73.
Ahora, en referencia a la Figura 7, se muestra un diagrama de flujo de ejemplo que ilustra un proceso para adquirir imagenes usadas en una reconstruccion de imagenes en tres dimensiones (3D) tal como se contempla mediante una realizacion de la presente invencion. Tal como se contempla mediante un ejemplo de la presente invencion, un proceso de reconstruccion de imagen en 3D incluye las etapas de cargar el tubo empaquetado con celulas en la etapa 81, trasladar el tubo hasta que la primera celula de interes se ha ubicado en la etapa 82, centrar la celula de interes, segun sea necesario, en la etapa 83, generar un conjunto de proyecciones en cada angulo diferente de rotacion en la etapa 84, determinar cuando el conjunto de datos esta completo en la etapa 85, y repetir el proceso desde las etapas 82 a 85 hasta que todas las celulas de interes se han escaneado. En la etapa 86, se realizan correcciones de movimiento. El proceso puede implementarse en un programa de software informatico ejecutado mediante un ordenador personal tal como el ordenador 7, por ejemplo.
Ahora, en referencia a la Figura 8, se muestra esquematicamente un ejemplo de desviaciones de correccion de movimiento para su uso en una reconstruccion de imagen en tres dimensiones (3D) tal como se contempla mediante una realizacion de la presente invencion. La correccion de movimiento se aplica para encontrar la posicion lateral de un objeto 1 de interes, tal como una celula o nucleo 2, contenida en un tubo capilar 3 que tiene una pared 62 del tubo capilar. La desviacion lateral es el error a lo largo de la dimension mas larga de la imagen (640 pfxeles), perpendicular al eje Z del tubo. La desviacion axial es el error a lo largo de la dimension mas corta de la imagen, (480 pfxeles), en paralelo al eje Z del tubo. El objeto 1 de interes tiene una posicion lateral LP y una posicion axial AP. Ya que las imagenes se adquieren desde diversos puntos de vista, la correccion de movimiento se aplica para permitir la reconstruccion del objeto de interes con caractensticas identicas mantenidas en el mismo plano en las diversas vistas.
Ejemplo de descripcion del codigo de software Codigo fuente
A continuacion aparece el texto de un ejemplo de codigo fuente para implementar una realizacion del procedimiento de la invencion para correccion de movimiento. El archivo ejecutable (regcorr.exe) se construye a partir de dos archivos de cabecera (rrahn.h y regcorr.h) y cuatro archivos C++ (fileinfo.cpp, nr-fft.cpp, multiplycomplexvalues.cpp, y regcorr2.cpp), unidos mediante el proyecto regcorr.ide. El proyecto se compilo por parte de Borland C++ 5.01, configurado para el modo "Win32 Console", y usando la infraestructura de biblioteca de clase estatica. El tamano del archivo ejecutable es aproximadamente 60 ke. (Los programas, "regcorr.exe" y "regcorr_no_lateral.exe," solo se diferencian en si proporcionan la opcion de calcular la desviacion lateral y escribirla en un archivo de texto. Ambos programas pueden saltarse los calculos y leer en su lugar las desviaciones desde un archivo de texto.)
A.1 rrahn.h (38 Uneas)
#include <math.h>
#include <malloc.h>
#include <fstream.h>
#include <dos.h>
#include <iostream.h>
#include <stdio.h>
#include <conio.h>
#include <complex.h>
#pragma hdrstop #pragma package(smartjnit)
#define pi_const 3.14159265358979323846
5
10
15
20
25
30
35
40
45
50
55
60
#define unsigned int template<class T>
inline const T SQR(const T a) {return a*a;}
inline float pow(float x, double y) {return pow(dou-
ble(x), y);} inline float pow(double x, float y) {return
pow(x, double(y));} inline float atan2(float x, double
y) {return atan2(double(x), y);}
inline float atan2(double x, float y) {return atan2(x,
double(y));}
template <class T>
inline void SWAP(T &a, T &b)
{T dum=a; a=b; b=dum;}
#define SwapFFT SWAP #define wait while(!kbhit()); return; unsigned *UIivector(unsigned, unsigned);
A.2 regcorr.h (40 Hneas)
#include "rrahn.h"
#pragma hdrstop #pragma package(smart_init)
const unsigned ImageDimX = 640;
const unsigned ImageDimZ = 480;
const unsigned BigDimX = 1024;
const unsigned BigDimZ = 1024;
const unsigned NumHistoBins = 20;
const unsigned WallSpacingMin = 505, WallSpac-
ingMax = 565;
extern unsigned FileYear, FileMonth, FileDay, FileSet, NumPerspectives, CurrentPerspective, Bin-
Hist[NumHistoBins];
extern int SliceNumber;
extern char filenameIn[64];
extern char ProcessedFilename0ut[64];
extern float RawImage[ImageDimX*ImageDimZ];
extern double ShiftedImage[BigDimX*BigDimZ*2], ShiftedImageNew[BigDimX*BigDimZ*2]; extern double TemplateIm-
age[BigDimX*BigDimZ*2], TemplateImageNew[BigDimX*BigDimZ*2];
extern int ShiftX;
extern int ShiftZ;
extern double MaxVal, MinVal;
extern float BinVal[ImageDimX*ImageDimZ];
extern unsigned MaxBin, MaxHisto;
extern int BigDims[2];
extern char* DirectoryName;
extern unsigned WallEdge1, WallEdge2, WallSpacing;
extern double MinValDev1, MinValDev2, MaxVal- Corr, MaxValCorr2;
extern unsigned MinDevIndex, MaxCorrIndex, MaxCorrIndex2;
extern unsigned MinDevIndexOld;
extern double ShiftedMag[2*BigDimX*BigDimZ];
extern unsigned ppmax;
extern float CriticalValue;
void MultiDimFFT{double[],int[],int, int); void FindDeviation(); void GetFileInfo(); void WriteCorrected Image(double[]);
void MultiplyComplexValues(double[], double[],double[], unsigned, unsigned,unsigned, unsigned);
void BasicFFT(float[], unsigned long, int);
void MakeFileName(char*, unsigned, unsigned);
5
10
15
20
25
30
35
40
45
50
55
60
65
A.3 fileinfo.cpp (50 Imeas)
#include "rrahn.h" unsigned NumPerspectives;
unsigned FileYear, FileMonth, FileDay, FileSet; void GetFileInfo()
{
cout << "Year (YY, 3 or 4): ";
cin >> FileYear;
while(FileYear != 3 && FileYear != 4)
{
cout << "Year (YY, 3 or 4): "; cin >> FileYear;
}
cout << "Month (MM):";
cin >> FileMonth; while(FileMonth>12)
{
cout << "Month (MM):"; cin >> FileMonth;
}
cout << endl << "Day (DD):"; cin >> FileDay; while(FileDay>31)
{
cout << "Day (DD):"; cin >> FileDay;
}
cout << endl << "Set (1-99): "; cin >> FileSet; while(FileSet>99)
{
cout << "Set (1-99): "; cin >> FileSet;
}
cout << endl;
cout << "Number of Perspectives (1-255):"; cin >> NumPerspectives; while(NumPerspectives>255 ||
NumPerspectives<1)
{
cout << "Number of Perspectives (1-255):"; cin >> NumPerspectives;
}
return;
}
A.4 nr-fft.cpp (221 Uneas)
#include "rrahn.h"
void BasicFFT(float FFTdata[], unsigned long FFTnn, int FFTisign) {
unsigned long FFTm, FFTistep; unsigned long FFTmmax = 2;
double FFTwtemp, FFTwr, FFTwpr, FFTwpi, FFTwi, FFTtheta; float FFTtempr, FFTtempi; unsigned long FFTn = FFTnn << 1; unsigned long FFTj = 1;
for(unsigned long jj = 1; jj < FFTn; jj += 2) if (FFTj > jj)
{
SwapFFT(FFTdata[FFTj], FFTdata[jj]);
SwapFFT(FFTdata[FFTj+1], FFTdata[jj+1]);
}
FFTm = FFTn >> 1;. while(FFTm >= 2 && FFTj > FFTm)
{
5
10
15
20
25
30
35
40
45
50
55
60
65
FFTj -= FFTm;
FFTm = FFTm >> 1;
}
FFTj += FFTm;
}
while(FFTn > FFTmmax) {
FFTistep = FFTmmax << 1;
FFTtheta = FFTisign*(2.0*pi_const/FFTmmax);
FFTwtemp = sin(0.5*FFTtheta);
FFTwpr = -2.0*FFTwtemp*FFTwtemp;
FFTwpi = sin(FFTtheta);
FFTwr = 1.0;
FFTwi = 0.0;
for(FFTm = 1; FFTm < FFTmmax; FFTm += 2)
{
for(unsigned long jj = FFTm; jj <= FFTn; jj +=
FFTistep)
{
FFTj = jj + FFTmmax;
FFTtempr = FFTwr*FFTdata[FFTj] - FFTwi*FFTdata[FFTj+1];
FFTtempi = FFTwr*FFTdata[FFTj+1] + FFTwi*FFTdata[FFTj];
FFTdata[FFTj] = FFTdata[jj] - FFTtempr;
FFTdata[FFTj +1] = FFTdata[jj+1] - FFTtempi;
FFTdata[jj] += FFTtempr;
FFTdata[jj+1] += FFTtempi;
}
FFTwtemp = FFTwr;
FFTwr = FFTwtemp*FFTwpr - FFTwi*FFTwpi + FFTwr;
FFTwi = FFTwi*FFTwpr + FFTwtemp*FFTwpi + FFTwi;
}
FFTmmax = FFTistep;
}
return;
}
void ApplyOneDimFFT(float FFTdata[], unsigned long FFTn, int FFTisign) {
unsigned long FFTi, FFTi1, FFTi2, FFTi3, FFTi4, FFTnp3; float FFTc1=0.5, FFTc2, FFTh1r, FFTh1i, FFTh2r, FFTh2i; double FFTwr, FFTwi, FFTwpr, FFTwpi, FFTwtemp, FFTtheta;
FFTtheta = pi_const/(double)(FFTn>>1);
void BasicFFT(float FFTdata[], unsigned long FFTnn, int FFTisign); if (FFTisign == 1)
{
FFTc2 = -0.5;
BasicFFT(FFTdata, FFTn>>1, 1);} else {
FFTc2 = 0.5;
FFTtheta = -FFTtheta;
}
FFTwtemp = sin(0.5*FFTtheta);
FFTwpr = -2.0*FFTwtemp*FFTwtemp;
FFTwpi = sin(FFTtheta);
FFTwr = 1.0 + FFTwpr;
FFTwi = FFTwpi;
FFTnp3 = FFTn + 3;
for (FFTi=2; FFTi<=(FFTn>>2); FFTi++)
{
FFTi1 = FFTi + FFTi - 1;
FFTi2 = 1 + FFTi1;
FFTi3 = FFTnp3 - FFTi2;
FFTi4 = 1 + FFTi3;
FFTh1r = FFTc1*(FFTdata[FFTi1] + FFTdata[FFTi3]);
FFTh1i = FFTc1*(FFTdata[FFTi2] - FFTdata[FFTi4]);
FFTh2r = -FFTc2*(FFTdata[FFTi2] + FFTdata[FFTi4]);
FFTh2i = FFTc2*(FFTdata[FFTi1] - FFTdata[FFTi3]);
FFTdata[FFTi1] = FFThlr + FFTwr*FFTh2r - FFTwi*FFTh2i;
FFTdata[FFTi2] = FFThli + FFTwr*FFTh2i + FFTwi*FFTh2r;
5
10
15
20
25
30
35
40
45
50
55
60
65
FFTdata[FFTi3] = FFThlr - FFTwr*FFTh2r + FFTwi*FFTh2i; FFTdata[FFTi4] = -FFThli + FFTwr*FFTh2i + FFTwi*FFTh2r;
FFTwtemp = FFTwr;
FFTwr = FFTwtemp*FFTwpr - FFTwi*FFTwpi + FFTwr; //The recurrence FFTwi = FFTwi *FFTwpr + FFTwtemp*FFTwpi + FFTwi;
}
if(FFTisign == 1)
{
FFThlr = FFTdata[1];
FFTdata[1] = FFThlr + FFTdata[2];
FFTdata[2] = FFThlr - FFTdata[2];
}
else
{
FFThlr = FFTdata[1];
FFTdata[1] = FFTc1*(FFTh1r + FFTdata[2]);
FFTdata[2] = FFTc1*(FFTh1r - FFTdata[2]);
BasicFFT(FFTdata, FFTn>>1, -1); for(unsigned jj=0; jj<FFTn; jj++)
{
FFTdata[jj+1] = 2.0*FFTdata[jj+1]/FFTn;
}
}
}
void MultiDimFFT(double data[], int nn[], int ndim, int isign)
{
int i1, i2, i3, i2rev, i3rev, ip1, ip2, ip3, ifp1, ifp2; int ibit, idim, k1, k2, n, nprev, nrem, ntot; double tempi, tempr;
double theta, wi, wpi, wpr, wr, wtemp; ntot = 1;
for(idim=1; idim<=ndim; idim++) ntot *= nn[idim]; nprev = 1;
for(idim=ndim; idim>=1; idim--) { n=nn[idim];
nrem = ntot/(n*nprev);
ip1 = nprev << 1;
ip2 = ip1*n;
ip3 = ip2*nrem;
i2rev = 1;
for(i2=1; i2<=ip2; i2+=ip1)
{
if(i2<i2rev)
{
for (i1=i2; i1<=(i2+ip1-2); i1+=2)
{
for(i3=i1; i3<=ip3; i3+=ip2)
{
i3rev = i2rev+i3-i2;
SwapFFT(data[i3], data[i3rev]);
SwapFFT(data[i3+1], data[i3rev+1]);
}
}
}
ibit = ip2 >> 1;
while( (ibit>=ip1) && (i2rev>ibit) )
{
i2rev -= ibit; ibit >>= 1;
}
i2rev += ibit;
}
ifp1 = ip1; while(ifp1<ip2)
{
ifp2 = ifp1 << 1;
theta = isign*2*pi const/(ifp2/ip1); wtemp = sin(0.5*theta); wpr = -2.0*SQR(wtemp);
5
10
15
20
25
30
35
40
45
50
55
60
65
wpi = sin(theta); wr = 1.0; wi = 0.0;
for(i3=1; i3<=ifp1; i3+=ip1)
{
for(i1=i3; i1<=(i3+ip1-2); i1+=2)
{
for(i2=i1; i2<=ip3; i2+=ifp2)
{
k1 = i2; k2 = k1+ifp1;
tempr = wr*data[k2] - wi*data[k2+1]; tempi = wr*data[k2+1] + wi*data[k2]; data[k2] = data[k1] - tempr; data[k2+1] = data[k1+1] - tempi; data[k1] += tempr; data[k1+1] += tempi;
}
}
wtemp = wr;
wr = wtemp*wpr - wi*wpi + wr; wi = wi*wpr + wtemp*wpi + wi;
}
ifpl = ifp2;
}
nprev *= n;
}
return;
}
A.5 multiplycomplexvalues.cpp (30 Imeas)
#include "rrahn.h"
void MultiplyComplexValues(double MCV1[], double MCV2[], double MCV3[], MCVDiml, unsigned MCVDim2, unsigned MaxFrequencyl, unsigned MaxFrequency2)
{
for(unsigned mm=0; mm<MCVDim2; mm++)
{
for(unsigned nn=0; nn<MCVDim1; nn++)
{
if( (mm>=MaxFrequency2 && mm<MCVDim2- MaxFrequency2)
|| (nn>=MaxFrequency1 && nn<MCVDim1-MaxFrequency1) )
{
MCV3[2*nn*MCVDim2+2*mm] = (double) 0.0;
MCV3[2*nn*MCVDim2+2*mm+1] = (double) 0.0;
}
else
{
MCV3[2*nn*MCVDim2+2*mm] = (double) (MCV1[2*nn*MCVDim2+2*mm]
*MCV2[2*nn*MCVDim2+2*mm]
+ MCV1[2*nn*MCVDim2+2*mm+1] *MCV2[2*nn*MCVDim2+2*mm+1]);
MCV3[2*nn*MCVDim2+2*mm+1] = (double)(MCV2[2*nn*MCVDim2+2*mm] *MCV1[2*nn*MCVDim2+2*mm+1] MCV2[2*nn*MCVDim2+2*mm+1] *MCV1[2*nn*MCVDim2+2*mm]);
}
}
}
return;
}
A.6 regcorr2.cpp (374 Imeas)
5
10
15
20
25
30
35
40
45
50
55
60
65
#include <strstrea.h> #include "regcorr.h"
NumPerspectives;
unsigned CurrentPerspective;
unsigned BinHist[NumHistoBins];
int SliceNumber; char filenameIn[64];
char ProcessedFilenameOut[64], IndexFilename- Out[64];
float RawImage[ImageDimX*ImageDimZ];
double ShiftedImage[BigDimX*BigDimZ*2];
double TemplateImage[BigDimX*BigDimZ*2], Tem-
plateImageNew[BigDimX*BigDimZ*2];
double OneLine[BigDimX*BigDimZ*2];
float LateralSum[2*BigDimX];
double MaxVal, MinVal;
float BinVal[ImageDimX*ImageDimZ];
unsigned MaxBin, MaxHisto, MinDevIndexOld;
int BigDims[2], SmallDims[2];
unsigned MaxCorrIndex, WallEdge1, WallEdge2;
double MaxValCorr;
double ShiftedMag[2*BigDimX*BigDimZ];
char *DirectoryName = "E:\WisionGate\\Projection
Images\\";
unsigned nnc, WallOld1, WallOld2;
float LateralMax1 = 0, LateralMax2 = 0;
float MaxValOld, MinValOld;
unsigned SecondSeg = 2; unsigned FirstSeg = 20;
unsigned CorrectedFile[4*360];
float RedoLateralCorrection = 2.2e17;
int CumulativeShift = 0;
void ReadUncorrectedImage(unsigned RUI1)
{
MaxValOld = MaxVal;
MinValOld = MinVal;
MaxVal = 0;
MinVal = 1e22;
MakeFileName(filenameIn, RUI1,2); fstream RawFile(filenameIn,ios::in); cout << filenamein << endl; for(unsigned mm=0; mm<ImageDimZ; mm++)
{
for(unsigned nn=0; nn<ImageDimX; nn++)
{
RawFile >> (float)RawImage[nn*ImageDimZ+mm];
if(RawImage[nn*ImageDimZ+mm]<MinVal)
RawImage[nn*ImageDimZ+mm];
if (RawImage[nn*ImageDimZ+mm]>MaxVal)
RawImage[nn*ImageDimZ+mm];
}
}
RawFile.close();
return;
}
void CopyRawImage(double CRI1[])
{
for(unsigned mm=0; mm<BigDimZ; mm++) for(unsigned nn=0; nn<BigDimX; nn++)
{
CRI1[2*nn*BigDimZ + 2*mm+1] = 0;
CRI1[2*nn*BigDimZ + 2*mm] = 0; if(mm<ImageDimZ && nn<ImageDimX)
(double) CRI1[2*nn*BigDimZ + 2*mm] = RawImage[nn*ImageDimZ+mm];
}
return;
MinVal
MaxVal
5
10
15
20
25
30
35
40
45
50
55
60
65
void MakeOneLine()
{
for (unsigned jj=0; jj<ImageDimZ; jj++)
{
OneLine[2*jj] = 65535;
OneLine[2*jj+2*530*BigDimX] = 65535;
}
MultiDimFFT(OneLine-1, BigDims-1, 2, 1); return;
}
void MakeHistogram(double MHdata[], unsigned MHBins)
{
if (MHBins>NumHistoBins)
MHBins = NumHistoBins;
MaxBin = 0;
MaxHisto = 0;
for(unsigned jj=0; jj<NumHistoBins; jj++)
BinHist [jj] = 0;
for(unsigned mm=0; mm<ImageDimZ; mm++)
{
for(unsigned nn=0; nn<ImageDimX; nn++)
{
BinVal[nn*ImageDimZ+mm] = (int)MHBins*(RawImage[nn*ImageDimZ+mm] -
MinVal)/(MaxVal-MinVal);
if (BinVal [nn*ImageDimZ+mm] >= MHBins) BinVal[nn*ImageDimZ+mm] = MHBins - 1u; if (BinVal [nn*ImageDimZ+mm] <= 0) BinVal[nn*ImageDimZ+mm] = 0u; BinHist[(int)BinVal[nn*ImageDimZ+mm]] += 1u;
}
}
for(unsigned jj=0; jj<MHBins; jj++)
{
if(BinHist[jj] > MaxHisto)
{
MaxHisto = BinHist[jj];
MaxBin = jj;
}
}
for(unsigned jj=0; jj<2*BigDimX*BigDimZ; jj++)
MHdata[jj] = 0;
for(unsigned mm=0; mm<ImageDimZ; mm++)
{
for(unsigned nn=0; nn<ImageDimX; nn++)
{
if (BinVal [nn*ImageDimZ+mm] < MaxBin) MHdata[2*nn*BigDimZ + 2*mm] =
RawImage[nn*ImageDimZ+mm];
}
}
return;
}
void LateralCorrection(unsigned LC1)
{
MakeHistogram(ShiftedImage,LC1);
MultiDimFFT(ShiftedImage-1, BigDims-1, 2, 1);
MultiplyComplexValues(ShiftedImage, OneLine, TemplateImageNew,
BigDimX, BigDimZ,
BigDimX, BigDimZ);
for(unsigned mm=0; mm<BigDimX; mm++)
{
LateralSum[2*mm] = 0;
LateralSum[2*mm+1] = 0; for(unsigned nn=0; nn<BigDimZ; nn++)
{
LateralSum[2*mm] +=
TemplateImageNew[2*mm*BigDimZ+2*nn];
LateralSum[2*mm+1] += TemplateImageNew[2*mm*BigDimZ+2*nn+1];
5
10
15
20
25
30
35
40
45
50
55
60
65
}
BasicFFT(LateralSum-1, BigDimX, -1); LateralMaxl = 0;
for(unsigned jj=0; jj<110; jj++)
{
if(LateralSum[2*jj] > LateralMaxl)
{
WallEdgel = jj;
LateralMaxl = LateralSum[2*jj];
}
}
WallEdge2 = WallEdgel+530; return;
}
void AxialCorrection(unsigned AC1)
{
MaxValCorr = 0.0;
MaxCorrIndex = 0;
MakeHistogram(ShiftedImage,ACl); for(unsigned jj=0; jj<2*BigDimZ*BigDimX; jj++)
{
if (ShiftedImage [jj] >0)
ShiftedImage [jj] = MaxVal+MinVal- ShiftedImage[jj]; if (TemplateImage[jj]>0)
TemplateImage[jj] = MaxValOld+MinValOld- TemplateImage[jj]
}
MultiDimFFT(TemplateImage-1, BigDims-1, 2, 1); MultiDimFFT(ShiftedImage-1, BigDims-1, 2, 1); MultiplyComplexValues(ShiftedImage, TemplateImage, TemplateImageNew, BigDimX, BigDimZ,
BigDimX/10, BigDimZ/10);
MultiDimFFT(TemplateImageNew-1, BigDims-1, 2, -1);
if( MinDevIndexOld > (WallEdge1+WallEdge2)/2) nnc (WallEdge1+WallEdge2)/2 - MinDevIndexOld; else
nnc = (WallEdge1+WallEdge2)/2 - MinDevIndexOld; for(unsigned mm=0; mm<BigDimZ; mm++)
{
{
if( TemplateImageNew[2*nnc*BigDimZ+2*mm]
>
MaxValCorr )
{
MaxValCorr =
TemplateImageNew[2*nnc*BigDimZ+2*mm]; MaxCorrIndex = mm;
}
}
}
return;
}
BigDimX +
void CrossCorrelation()
{
//include these two lines if no lateral correction is required // WallEdge1 = 55;
// WallEdge2 = WallEdge1 + 530;
MinDevIndexOld = (WallEdgel+WallEdge2)/2;
WallOld1 = WallEdge1;
WallOld2 = WallEdge2;
//remove these three lines if no lateralcorrection is required LateralCorrection(FirstSeg);
If (LateralMaxl < RedoLateralCorrection) LateralCorrection(SecondSeg); AxialCorrection(SecondSeg);
MakeHistogram(TemplateImage,SecondSeg);
5
10
15
20
25
30
35
40
45
50
55
60
65
return;
}
void MakeFileName(char *MFN1, unsigned MFN2, unsigned MFN3)
{
if (MFN3==0) sprintf (MFN1,
"%spp%2.2d%2.2d%2.2d%2.2d\\PP%2.2d%2.2d%2.2d%
2.2dindex.txt",
DirectoryName,FileYear, FileMonth, FileDay, FileSet, FileDay,
FileSet); if (MFN3==1) sprintf (MFN1,
"%spp%2.2d%2.2d%2.2d%2.2d\\PP%2.2d%2.2d%2.2d%
2.2d%3.3dAVG.crw",
DirectoryName,FileYear, FileMonth, FileDay, FileSet, FileDay, FileSet, MFN2); if(MFN3==2) sprintf (MFN1,
"%spp%2.2d%2.2d%2.2d%2.2d\\PP%2.2d%2.2d%2.2d%
2.2d%3.3dAVG.raw",
DirectoryName,
FileYear, FileMonth,
FileDay, FileSet, FileYear, FileMonth, FileDay, FileSet, MFN2) return;
}
void WriteCorrectedImage(float WCIdata[])
{
int XCenter = (WallEdge1+WallEdge2)/2; if(XCenter >= ImageDimX/2)
{
if (CumulativeShift <= 0)
{
for(unsigned jj=0; jj<ImageDimX-XCenter+ImageDimX/2;
jj++)
{
for(int kk=ImageDimZ-1; kk>=- CumulativeShift; kk--)
// for(unsigned kk= -CumulativeShift; kk<ImageDimZ; kk++)
WCIdata[jj*ImageDimZ+kk]
= WCIdataC(jj+XCenter-
ImageDimX/2)*ImageDimZ+kk+CumulativeShift]; for(unsigned kk=0; kk<-CumulativeShift; kk++)
WCIdata[jj*ImageDimZ+kk] = MaxVal; // 0;
}
for(unsigned jj=(ImageDimX- XCenter+ImageDimX/2)*ImageDimZ; jj<ImageDimX*ImageDimZ; jj++)
WCIdata[jj] = MaxVal;//0;
}
if (CumulativeShift > 0)
{
for(unsigned jj=0; jj<ImageDimX- XCenter+ImageDimX/2; jj++)
{
for(int kk=0; kk<ImageDimZ-CumulativeShift; kk++)
WCIdata[jj*ImageDimZ+kk]
= WCIdata[(jj+XCenter-
ImageDimX/2)*ImageDimZ+kk+CumulativeShift];
FileYear,
FileYear,
5
10
15
20
25
30
35
40
45
50
55
60
65
for(unsigned kk=ImageDimZ-CumulativeShift; kk<ImageDimZ; kk++)
WCIdata[jj*ImageDimZ+kk] = MaxVal;//0;
for(unsigned jj=(ImageDimX- XCenter+ImageDimX/2)*ImageDimZ; jj<ImageDimX*ImageDimZ; jj++)
WCIdata[jj] = MaxVal;//0;
}
}
if(XCenter < ImageDimX/2)
{
if(CumulativeShift <= 0)
{
for(int jj=ImageDimX-1; jj>=(-XCenter+ImageDimX/2); jj- -)
{
for(int kk=ImageDimZ-1; kk>= -CumulativeShift; kk--)
// for(unsigned kk= -CumulativeShift; kk<ImageDimZ; kk++)
WCIdata[jj*ImageDimZ+kk]
= WCIdata[(jj+XCenter-
ImageDimX/2)*ImageDimZ+kk+CumulativeShift];
for(unsigned kk=0; kk<-CumulativeShift; kk++)
WCIdata[jj*ImageDimZ+kk] = MaxVal;//0;
}
for(unsigned jj=0;
jj<(-XCenter+ImageDimX/2)*ImageDimZ;
jj++)
WCIdata[jj] = MaxVal;//0;
}
if(CumulativeShift > 0)
{
for(int jj=ImageDimX-1; jj>=(-XCenter+ImageDimX/2); jj- -)
{
for(unsigned kk=0; kk<ImageDimZ- CumulativeShift; kk++) // for(int kk=ImageDimZ-CumulativeShift-1; kk>=0; kk--)
WCIdata[jj*ImageDimZ+kk]
= WCIdata[(jj+XCenter-
ImageDimX/2)*ImageDimZ+kk+CumulativeShift];
for(unsigned kk=ImageDimZ-CumulativeShi ft; kk<ImageDimZ; kk++)
WCIdata[jj*ImageDimZ+kk] = MaxVal;//0;
}
for(unsigned jj=0;
jj<(-XCenter+ImageDimX/2)*ImageDimZ;
jj++)
WCIdata[jj] = MaxVal;//0;
}
}
MakeFileName(ProcessedFilenameOut,CurrentPers
pective,1);
fstream ProcessedFile;
ProcessedFile.open(ProcessedFilenameOut,ios::
binary|ios::out);
for(unsigned jj=0; jj<ImageDimZ; jj++)
5
10
15
20
25
30
35
40
45
50
55
60
65
{
for(unsigned kk=0; kk<ImageDimX; kk++)
ProcessedFile << WCIdata[kk*ImageDimZ+jj]
<< "\t";
}
ProcessedFile.close();
return;
}
void WriteToIndexFile()
{
MakeFileName(IndexFilenameOut,0,0); fstream IndexFile;
IndexFile.open(IndexFilenameOut,ios::binary\i
os::app);
IndexFile << WallEdgel << "\t" << LateralMaxl << "\t" << MaxCorrIndex << "\t"
<< MaxValCorr << endl;
IndexFile.close(); return;
}
void CalculateOffsets()
{
MakeFileName(IndexFilenameOut,0,0); fstream IndexFile;
IndexFile.open(IndexFilenameOut,ios::binary|i
os::out);
IndexFile.close();
BigDims[0] = BigDimX;
BigDims[1] = BigDimZ;
MakeOneLine();
for(CurrentPerspective=0;
CurrentPerspective<NumPerspectives;
CurrentPerspective++)
{
ReadUncorrectedImage(CurrentPerspective);
CopyRawImage(ShiftedImage);
CrossCorrelation();
if(MaxCorrIndex>BigDimZ/2)
CumulativeShift -= (BigDimZ-MaxCorrIndex);
else
CumulativeShift += MaxCorrIndex; WriteCorrectedImage(RawImage);
WriteToIndexFile();
}
return;
}
void ReadOffsets()
{
double Junk;
MakeFileName(IndexFilenameOut,0,0); fstream IndexFile;
IndexFile.open(IndexFilenameOut,ios::binary|i
os::in);
for(unsigned jj=0; jj<2*NumPerspectives; jj++)
{
IndexFile >> (unsigned) CorrectedFile[jj];
IndexFile >> Junk; cout << CorrectedFile[jj] << "\n";
}
IndexFile.close();
5
10
15
20
25
30
35
for(CurrentPerspective=0;
CurrentPerspective<NumPerspectives;
CurrentPerspective++)
{
ReadUncorrectedlmage(CurrentPerspective);
WallEdgel =
CorrectedFile[2*CurrentPerspective];
WallEdge2 = WallEdgel+530;
MaxCorrIndex =
CorrectedFile[2*CurrentPerspective+1];
if(MaxCorrIndex>BigDimZ/2)
CumulativeShift -= (BigDimZ- MaxCorrIndex);
else
CumulativeShift += MaxCorrIndex; cout << CumulativeShift << endl;
WriteCorrectedImage(RawImage);
}
return;
}
void main()
{
int Calcoffs;
GetFileInfo();
printf("Calculate offsets? (Y/N)\n");
Calcoffs = getch ();
if(Calcoffs == 'Y' || Calcoffs == 'y')
CalculateOffsets(); if(Calcoffs == 'N'|| Calcoffs == 'n')
ReadOffsets (); cout << "Done!" << endl; wait }
La invencion se ha descrito en el presente documento en considerable detalle para cumplir los estatutos de patente y para proporcionar a los expertos en la materia la informacion necesaria para aplicar los principios nuevos de la presente invencion, y para construir y usar tales componentes ejemplares y especializados segun sea necesario.

Claims (11)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    REIVINDICACIONES
    1. Un procedimiento de correccion del movimiento relativo de un detector de objetos entre vistas sucesivas en un sistema de microscop^a tomografica de proyeccion optica que incluye un tubo microcapilar (3) que tiene un eje del tubo, en el que las vistas sucesivas comprenden una vista actual y una vista anterior, en el que la vista actual y la vista anterior se toman cada una desde una perspectiva diferente, comprendiendo el procedimiento las etapas de:
    iluminar un objeto (1) de interes contenido dentro del tubo microcapilar para producir imagenes adquiridas que
    incluyen una imagen actual (111) a partir de la vista actual y una imagen anterior a partir de la vista anterior;
    determinar un valor de correccion de desviacion lateral para cada una de las imagenes (114) actuales y
    anteriores, donde la desviacion lateral es una traslacion a lo largo de la dimension de la imagen perpendicular al
    eje del tubo, formando umbrales de cada imagen (21) y realizando correlaciones cruzadas de cada imagen con
    formacion de umbral con una imagen (22, 23, 24, 25, 26, 27) de plantilla a lo largo de las filas de cada imagen
    con formacion de umbral y cada imagen de plantilla, en el que la imagen de plantilla se crea (111)
    creando dos lmeas brillantes separadas por una cantidad conocida encontrada entre las paredes del tubo
    microcapilar en una de las imagenes adquiridas para formar una imagen de plantilla preliminar,
    expandir la imagen de plantilla preliminar para proporcionar rellenado con ceros en dos dimensiones, lo que tiene
    como resultado una imagen de plantilla expandida, y
    realizar una FFT (22) en dos dimensiones en la imagen de plantilla expandida para crear la imagen de plantilla final;
    determinar un valor de correccion de desviacion axial para la imagen actual (115) donde la desviacion axial es una traslacion a lo largo de la dimension de la imagen en paralelo al eje del tubo, realizando una formacion de umbral de una copia de la imagen actual para producir una version con formacion de umbral de la imagen actual, realizando una correlacion cruzada de la version con formacion de umbral de la imagen actual con una version con formacion de umbral de la imagen anterior y determinar una desviacion axial como un maximo en la funcion de correlacion cruzada a lo largo de la lmea que se corresponde con la diferencia en los valores de correccion de desviacion lateral de las imagenes actuales y anteriores; y
    aplicar el valor de correccion de desviacion lateral y el valor de correccion de desviacion axial para la imagen actual en la imagen actual para producir una imagen (116) de archivo corregida.
  2. 2. El procedimiento de la reivindicacion 1, en el que el tubo microcapilar (3) tiene una pared de tubo superior y en el que la etapa de realizar una formacion de umbral de la imagen (21) comprende ademas las etapas de:
    encontrar el histograma de escala de grises de la imagen que incluye una pluralidad de barras; identificar una barra con el mayor numero de pfxeles;
    configurar todos los pfxeles en la imagen con el valor de escala de grises de esa barra o mayor igual a cero en una copia de la imagen;
    aplicar una FFT (22) en dos dimensiones en la copia de la imagen para producir una transformada de Fourier; multiplicar la transformada de Fourier por un conjugado complejo de la transformada de Fourier de la imagen de plantilla para producir una nueva matriz (23) de imagen;
    sumar la nueva matriz (24) de imagen, a lo largo de cada una de la pluralidad de filas para computar una matriz de suma lateral;
    computar una transformada de Fourier de una dimension de la matriz (25) de suma lateral para encontrar la correlacion cruzada de las filas de la copia de la imagen original y la imagen de plantilla;
    establecer una posicion sin corregir de la pared de tubo superior, en la ubicacion del valor maximo de la matriz (26) de suma lateral; y
    determinar la desviacion lateral como la diferencia entre la posicion sin corregir de la pared de tubo superior y una posicion (28) predeterminada de borde de pared.
  3. 3. El procedimiento de la reivindicacion 1, en el que la etapa de determinar una desviacion axial comprende ademas las etapas de:
    encontrar el histograma de escala de grises de la imagen actual que incluye una pluralidad de barras; identificar una barra con el mayor numero de pfxeles;
    configurar todos los pfxeles en la imagen original con el valor de escala de grises de esa barra o mayor igual a cero en una copia de la imagen original (31);
    aplicar un filtro de paso bajo a la imagen (33) con formacion de umbral;
    computar una correlacion cruzada de la imagen con formacion de umbral y con filtro de paso bajo con una version (35, 36) de la imagen anterior con formacion de umbral y con filtro de paso bajo;
    encontrar el valor de correccion maximo en la fila de la correlacion cruzada resultante que se corresponde con la
    diferencia en las desviaciones laterales (37) de las dos imagenes; y
    anadir el valor de correccion a la suma de todas las desviaciones axiales anteriores.
  4. 4. El procedimiento de la reivindicacion 3, que comprende ademas las etapas de:
    escribir la posicion de la pared de tubo superior en un archivo;
    escribir el valor maximo de la correlacion cruzada entre la imagen actual y la imagen de plantilla en el archivo;
    5
    10
    15
    20
    25
    escribir en el archivo la ubicacion del valor de correccion maximo en la fila apropiada de la correlacion cruzada, donde la fila apropiada es la fila que se corresponde con la diferencia en las desviaciones laterales de las dos imagenes:
    escribir el valor de correccion maximo en el archivo; y
    generar una imagen corregida recortando el numero apropiado de pfxeles desde uno o dos bordes y desplazando los pfxeles restantes mediante el numero recortado.
  5. 5. El procedimiento de la reivindicacion 1, en el que el objeto (1) de interes es una celula o el nucleo de una celula.
  6. 6. El procedimiento de la reivindicacion 4, que comprende ademas la etapa de repetir las etapas con un numero diferente de barras en el histograma, si el valor maximo de la correlacion cruzada tiene una magnitud menor que un valor (28) predeterminado.
  7. 7. El procedimiento de la reivindicacion 1, en el que una pluralidad de imagenes se producen para generar un archivo de imagen de entrada, y una pluralidad de imagenes de archivo corregidas son una copia recortada de la imagen de archivo de entrada, con porciones sin recortar desplazadas verticalmente y/u horizontalmente, y con pfxeles vacfos adicionales insertados en uno o dos de los lfmites para retener el tamano de la imagen de archivo de entrada.
  8. 8. El procedimiento de la reivindicacion 1, en el que las imagenes de archivo corregidas comprenden valores de desviacion calculados y guardados en un archivo digital.
  9. 9. El procedimiento de la reivindicacion 8, en el que los valores de desviacion calculados se procesan usando procesamiento de texto por ordenador para producir un archivo de texto alterado, y el archivo de texto alterado se usa para generar desviaciones en dos ejes, y en el que la etapa de determinar un valor de correccion de desviacion lateral para la imagen se repite para encontrar un valor maximo.
  10. 10. El procedimiento de la reivindicacion 9, en el que los valores de desviacion calculados comprenden: una posicion de la pared de tubo superior;
    un valor maximo de la correlacion cruzada entre la imagen actual y la imagen de plantilla;
    una ubicacion del valor de correlacion maxima en la fila correspondiente de una correlacion cruzada entre la imagen actual y la imagen anterior; y un valor de correlacion maxima.
  11. 11. Un aparato configurado para realizar el procedimiento de cualquier reivindicacion anterior.
ES05757464.2T 2004-06-24 2005-06-06 Procedimiento de corrección de movimiento relativo de un detector de objetos entre vistas sucesivas Active ES2559411T3 (es)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US876328 2004-06-24
US10/876,328 US7260253B2 (en) 2002-04-19 2004-06-24 Method for correction of relative object-detector motion between successive views
PCT/US2005/019847 WO2006011945A2 (en) 2004-06-24 2005-06-06 Method for correction of relative object-detector motion between successive views

Publications (1)

Publication Number Publication Date
ES2559411T3 true ES2559411T3 (es) 2016-02-12

Family

ID=35786611

Family Applications (1)

Application Number Title Priority Date Filing Date
ES05757464.2T Active ES2559411T3 (es) 2004-06-24 2005-06-06 Procedimiento de corrección de movimiento relativo de un detector de objetos entre vistas sucesivas

Country Status (9)

Country Link
US (2) US7260253B2 (es)
EP (1) EP1769423B1 (es)
JP (1) JP4841549B2 (es)
CN (1) CN101027677B (es)
AU (1) AU2005267569B2 (es)
CA (1) CA2570730C (es)
ES (1) ES2559411T3 (es)
HK (1) HK1104633A1 (es)
WO (1) WO2006011945A2 (es)

Families Citing this family (105)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060023219A1 (en) * 2001-03-28 2006-02-02 Meyer Michael G Optical tomography of small objects using parallel ray illumination and post-specimen optical magnification
US7907765B2 (en) * 2001-03-28 2011-03-15 University Of Washington Focal plane tracking for optical microtomography
US7639889B2 (en) * 2004-11-10 2009-12-29 Fotonation Ireland Ltd. Method of notifying users regarding motion artifacts based on image analysis
US8180173B2 (en) 2007-09-21 2012-05-15 DigitalOptics Corporation Europe Limited Flash artifact eye defect correction in blurred images using anisotropic blurring
US8698924B2 (en) 2007-03-05 2014-04-15 DigitalOptics Corporation Europe Limited Tone mapping for low-light video frame enhancement
US7636486B2 (en) 2004-11-10 2009-12-22 Fotonation Ireland Ltd. Method of determining PSF using multiple instances of a nominally similar scene
US9160897B2 (en) * 2007-06-14 2015-10-13 Fotonation Limited Fast motion estimation method
US8417055B2 (en) * 2007-03-05 2013-04-09 DigitalOptics Corporation Europe Limited Image processing method and apparatus
US8989516B2 (en) * 2007-09-18 2015-03-24 Fotonation Limited Image processing method and apparatus
US8199222B2 (en) * 2007-03-05 2012-06-12 DigitalOptics Corporation Europe Limited Low-light video frame enhancement
US8264576B2 (en) * 2007-03-05 2012-09-11 DigitalOptics Corporation Europe Limited RGBW sensor array
US20050097046A1 (en) 2003-10-30 2005-05-05 Singfield Joy S. Wireless electronic check deposit scanning and cashing machine with web-based online account cash management computer application system
US7639888B2 (en) * 2004-11-10 2009-12-29 Fotonation Ireland Ltd. Method and apparatus for initiating subsequent exposures based on determination of motion blurring artifacts
JP4105176B2 (ja) * 2005-05-19 2008-06-25 ザイオソフト株式会社 画像処理方法および画像処理プログラム
EP2023812B1 (en) 2006-05-19 2016-01-27 The Queen's Medical Center Motion tracking system for real time adaptive imaging and spectroscopy
IES20070229A2 (en) * 2006-06-05 2007-10-03 Fotonation Vision Ltd Image acquisition method and apparatus
US8577171B1 (en) * 2006-07-31 2013-11-05 Gatan, Inc. Method for normalizing multi-gain images
US8351677B1 (en) 2006-10-31 2013-01-08 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US7873200B1 (en) 2006-10-31 2011-01-18 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US8799147B1 (en) 2006-10-31 2014-08-05 United Services Automobile Association (Usaa) Systems and methods for remote deposit of negotiable instruments with non-payee institutions
US8708227B1 (en) 2006-10-31 2014-04-29 United Services Automobile Association (Usaa) Systems and methods for remote deposit of checks
US7867778B2 (en) * 2007-02-23 2011-01-11 Visiongate, Inc. Fluid focusing for positional control of a specimen for 3-D imaging
US10380559B1 (en) 2007-03-15 2019-08-13 United Services Automobile Association (Usaa) Systems and methods for check representment prevention
US8959033B1 (en) 2007-03-15 2015-02-17 United Services Automobile Association (Usaa) Systems and methods for verification of remotely deposited checks
US7773118B2 (en) * 2007-03-25 2010-08-10 Fotonation Vision Limited Handheld article with movement discrimination
US8538124B1 (en) 2007-05-10 2013-09-17 United Services Auto Association (USAA) Systems and methods for real-time validation of check image quality
US8433127B1 (en) 2007-05-10 2013-04-30 United Services Automobile Association (Usaa) Systems and methods for real-time validation of check image quality
US7835561B2 (en) * 2007-05-18 2010-11-16 Visiongate, Inc. Method for image processing and reconstruction of images for optical tomography
JP4398997B2 (ja) * 2007-06-07 2010-01-13 シャープ株式会社 画像処理装置
US20080309770A1 (en) * 2007-06-18 2008-12-18 Fotonation Vision Limited Method and apparatus for simulating a camera panning effect
US9058512B1 (en) 2007-09-28 2015-06-16 United Services Automobile Association (Usaa) Systems and methods for digital signature detection
DE102007048409A1 (de) * 2007-10-09 2009-04-16 Carl Zeiss Microimaging Gmbh Verfahren zum Positionieren von biologischen Proben in einer mikroskopischen Anordnung
US7787112B2 (en) 2007-10-22 2010-08-31 Visiongate, Inc. Depth of field extension for optical tomography
US9898778B1 (en) 2007-10-23 2018-02-20 United Services Automobile Association (Usaa) Systems and methods for obtaining an image of a check to be deposited
US9892454B1 (en) 2007-10-23 2018-02-13 United Services Automobile Association (Usaa) Systems and methods for obtaining an image of a check to be deposited
US8358826B1 (en) 2007-10-23 2013-01-22 United Services Automobile Association (Usaa) Systems and methods for receiving and orienting an image of one or more checks
US9159101B1 (en) 2007-10-23 2015-10-13 United Services Automobile Association (Usaa) Image processing
US8320657B1 (en) * 2007-10-31 2012-11-27 United Services Automobile Association (Usaa) Systems and methods to use a digital camera to remotely deposit a negotiable instrument
US8290237B1 (en) * 2007-10-31 2012-10-16 United Services Automobile Association (Usaa) Systems and methods to use a digital camera to remotely deposit a negotiable instrument
US7900822B1 (en) 2007-11-06 2011-03-08 United Services Automobile Association (Usaa) Systems, methods, and apparatus for receiving images of one or more checks
TWI353778B (en) * 2007-12-21 2011-12-01 Ind Tech Res Inst Moving object detection apparatus and method
US10380562B1 (en) 2008-02-07 2019-08-13 United Services Automobile Association (Usaa) Systems and methods for mobile deposit of negotiable instruments
US8143600B2 (en) 2008-02-18 2012-03-27 Visiongate, Inc. 3D imaging of live cells with ultraviolet radiation
US8090183B2 (en) 2009-03-12 2012-01-03 Visiongate, Inc. Pattern noise correction for pseudo projections
US8351678B1 (en) 2008-06-11 2013-01-08 United Services Automobile Association (Usaa) Duplicate check detection
WO2009155151A2 (en) * 2008-06-20 2009-12-23 Visiongate, Inc. Functional imaging of cells optical projection tomography
US8422758B1 (en) 2008-09-02 2013-04-16 United Services Automobile Association (Usaa) Systems and methods of check re-presentment deterrent
US10504185B1 (en) 2008-09-08 2019-12-10 United Services Automobile Association (Usaa) Systems and methods for live video financial deposit
US8391599B1 (en) 2008-10-17 2013-03-05 United Services Automobile Association (Usaa) Systems and methods for adaptive binarization of an image
US8644581B2 (en) * 2008-11-04 2014-02-04 Beckman Coulter, Inc. Systems and methods for cellular analysis data pattern global positioning
US8452689B1 (en) 2009-02-18 2013-05-28 United Services Automobile Association (Usaa) Systems and methods of check detection
US8254023B2 (en) * 2009-02-23 2012-08-28 Visiongate, Inc. Optical tomography system with high-speed scanner
US10956728B1 (en) 2009-03-04 2021-03-23 United Services Automobile Association (Usaa) Systems and methods of check processing with background removal
JP5743380B2 (ja) * 2009-03-06 2015-07-01 キヤノン株式会社 光断層撮像装置および光断層撮像方法
JP5242479B2 (ja) * 2009-03-26 2013-07-24 オリンパス株式会社 画像処理装置、画像処理プログラムおよび画像処理装置の作動方法
US8155420B2 (en) 2009-05-21 2012-04-10 Visiongate, Inc System and method for detecting poor quality in 3D reconstructions
WO2010143572A1 (ja) * 2009-06-12 2010-12-16 オリンパス株式会社 被検体情報分析装置及び被検体情報分析方法
US8542921B1 (en) 2009-07-27 2013-09-24 United Services Automobile Association (Usaa) Systems and methods for remote deposit of negotiable instrument using brightness correction
US9779392B1 (en) 2009-08-19 2017-10-03 United Services Automobile Association (Usaa) Apparatuses, methods and systems for a publishing and subscribing platform of depositing negotiable instruments
US8977571B1 (en) 2009-08-21 2015-03-10 United Services Automobile Association (Usaa) Systems and methods for image monitoring of check during mobile deposit
US8699779B1 (en) 2009-08-28 2014-04-15 United Services Automobile Association (Usaa) Systems and methods for alignment of check during mobile deposit
US9129340B1 (en) 2010-06-08 2015-09-08 United Services Automobile Association (Usaa) Apparatuses, methods and systems for remote deposit capture with enhanced image detection
JP2012042348A (ja) * 2010-08-19 2012-03-01 Canon Inc 断層画像表示装置およびその制御方法
US8571781B2 (en) 2011-01-05 2013-10-29 Orbotix, Inc. Self-propelled device with actively engaged drive system
US9429940B2 (en) 2011-01-05 2016-08-30 Sphero, Inc. Self propelled device with magnetic coupling
US10281915B2 (en) 2011-01-05 2019-05-07 Sphero, Inc. Multi-purposed self-propelled device
US9090214B2 (en) 2011-01-05 2015-07-28 Orbotix, Inc. Magnetically coupled accessory for a self-propelled device
CN102186004B (zh) * 2011-05-12 2012-10-31 华南理工大学 基于差分的多视点视频图像校正方法
JP5730696B2 (ja) * 2011-07-12 2015-06-10 オリンパス株式会社 画像処理装置および画像表示システム
GB201112119D0 (en) * 2011-07-14 2011-08-31 Univ Sheffield Method and apparatus for position determination
EP2747641A4 (en) 2011-08-26 2015-04-01 Kineticor Inc METHOD, SYSTEMS AND DEVICES FOR SCAN INTERNAL MOTION CORRECTION
JP2013075035A (ja) * 2011-09-30 2013-04-25 Canon Inc 光断層像撮像方法、光断層像撮像装置およびプログラム
US10380565B1 (en) 2012-01-05 2019-08-13 United Services Automobile Association (Usaa) System and method for storefront bank deposits
JP2015524951A (ja) 2012-05-14 2015-08-27 オルボティックス, インコーポレイテッドOrbotix, Inc. 画像内で丸い物体を検出することによるコンピューティングデバイスの操作
US9827487B2 (en) 2012-05-14 2017-11-28 Sphero, Inc. Interactive augmented reality using a self-propelled device
US9292758B2 (en) 2012-05-14 2016-03-22 Sphero, Inc. Augmentation of elements in data content
US10056791B2 (en) 2012-07-13 2018-08-21 Sphero, Inc. Self-optimizing power transfer
JP6257962B2 (ja) * 2012-09-04 2018-01-10 東芝メディカルシステムズ株式会社 X線ct装置
US10552810B1 (en) 2012-12-19 2020-02-04 United Services Automobile Association (Usaa) System and method for remote deposit of financial instruments
US9717461B2 (en) 2013-01-24 2017-08-01 Kineticor, Inc. Systems, devices, and methods for tracking and compensating for patient motion during a medical imaging scan
US9305365B2 (en) 2013-01-24 2016-04-05 Kineticor, Inc. Systems, devices, and methods for tracking moving targets
US10327708B2 (en) 2013-01-24 2019-06-25 Kineticor, Inc. Systems, devices, and methods for tracking and compensating for patient motion during a medical imaging scan
US9269167B2 (en) 2013-01-28 2016-02-23 Koninklijke Philips N.V. SPECT motion-correction
CN109008972A (zh) 2013-02-01 2018-12-18 凯内蒂科尔股份有限公司 生物医学成像中的实时适应性运动补偿的运动追踪系统
CN104424654B (zh) * 2013-08-20 2017-10-27 清华大学 自动标定ct中心偏移量的方法和系统
US11138578B1 (en) 2013-09-09 2021-10-05 United Services Automobile Association (Usaa) Systems and methods for remote deposit of currency
US9286514B1 (en) 2013-10-17 2016-03-15 United Services Automobile Association (Usaa) Character count determination for a digital image
DE102013019951B4 (de) 2013-11-27 2023-06-15 Carl Zeiss Microscopy Gmbh Lichtmikroskop und Mikroskopieverfahren zum Untersuchen mehrerer mikroskopischer Objekte
US9829882B2 (en) 2013-12-20 2017-11-28 Sphero, Inc. Self-propelled device with center of mass drive system
EP3157422A4 (en) 2014-03-24 2018-01-24 The University of Hawaii Systems, methods, and devices for removing prospective motion correction from medical imaging scans
EP3188660A4 (en) 2014-07-23 2018-05-16 Kineticor, Inc. Systems, devices, and methods for tracking and compensating for patient motion during a medical imaging scan
US9462189B2 (en) * 2014-07-31 2016-10-04 Apple Inc. Piecewise perspective transform engine
US10346989B2 (en) * 2014-12-17 2019-07-09 Koninklijke Philips N.V. Method and system for calculating a displacement of an object of interest
US10402790B1 (en) 2015-05-28 2019-09-03 United Services Automobile Association (Usaa) Composing a focused document image from multiple image captures or portions of multiple image captures
US9943247B2 (en) 2015-07-28 2018-04-17 The University Of Hawai'i Systems, devices, and methods for detecting false movements for motion correction during a medical imaging scan
US10716515B2 (en) 2015-11-23 2020-07-21 Kineticor, Inc. Systems, devices, and methods for tracking and compensating for patient motion during a medical imaging scan
CN106815878B (zh) * 2015-12-02 2021-02-05 北京航空航天大学 一种基于多视角多光谱层析成像的图像重建方法
US11069054B2 (en) 2015-12-30 2021-07-20 Visiongate, Inc. System and method for automated detection and monitoring of dysplasia and administration of immunotherapy and chemotherapy
WO2018089839A1 (en) 2016-11-10 2018-05-17 The Trustees Of Columbia University In The City Of New York Rapid high-resolution imaging methods for large samples
US20180150703A1 (en) * 2016-11-29 2018-05-31 Autoequips Tech Co., Ltd. Vehicle image processing method and system thereof
KR101814728B1 (ko) 2017-02-08 2018-01-04 상명대학교산학협력단 3d 모델 골격 추출 방법 및 장치
US11315292B2 (en) * 2017-03-02 2022-04-26 Arizona Board Of Regents On Behalf Of Arizona State University Live-cell computed tomography
US11030752B1 (en) 2018-04-27 2021-06-08 United Services Automobile Association (Usaa) System, computing device, and method for document detection
US11900755B1 (en) 2020-11-30 2024-02-13 United Services Automobile Association (Usaa) System, computing device, and method for document detection and deposit processing
CN114936988B (zh) * 2022-07-21 2022-11-01 杭州睿影科技有限公司 图像校正方法、装置及电子设备

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3470373A (en) 1966-10-18 1969-09-30 Litton Systems Inc Method for analysis and identification of biologic entities by phosphorescence
US3497690A (en) 1967-09-21 1970-02-24 Bausch & Lomb Method and apparatus for classifying biological cells by measuring the size and fluorescent response thereof
US3598471A (en) 1968-11-22 1971-08-10 Corning Glass Works Optical contrast enhancement system
US3657537A (en) 1970-04-03 1972-04-18 Bausch & Lomb Computerized slit-scan cyto-fluorometer for automated cell recognition
US3748468A (en) 1971-12-22 1973-07-24 Gen Electric Automatic electron microscope field counter
US3999047A (en) 1972-09-05 1976-12-21 Green James E Method and apparatus utilizing color algebra for analyzing scene regions
US3833762A (en) 1973-06-04 1974-09-03 Rockwell International Corp Solid state integrating, image motion compensating imager
US4200353A (en) 1974-06-05 1980-04-29 Robert Hoffman Modulation contrast microscope with three regions
US3960449A (en) 1975-06-05 1976-06-01 The Board Of Trustees Of Leland Stanford Junior University Measurement of angular dependence of scattered light in a flowing stream
US4175860A (en) 1977-05-31 1979-11-27 Rush-Presbyterian-St. Luke's Medical Center Dual resolution method and apparatus for use in automated classification of pap smear and other samples
US4183623A (en) 1977-10-11 1980-01-15 Haines Kenneth A Tomographic cross-sectional imaging using incoherent optical processing
US4293221A (en) 1979-04-17 1981-10-06 Research Corporation Multidimensional slit-scan flow system
US4360885A (en) 1980-01-02 1982-11-23 Edgar Albert D Micro-optical tomography
DE3424108A1 (de) 1984-06-29 1986-01-09 Bernhard Prof. Dr.-Ing. 4300 Essen Schrader Probenanordnung zur spektrometrie, verfahren zur messung von lumineszenz und streuung und verwendung der probenanordnung
US5281517A (en) 1985-11-04 1994-01-25 Cell Analysis Systems, Inc. Methods for immunoploidy analysis
US4873653A (en) 1986-04-09 1989-10-10 Carl-Zeiss-Stiftung Microscope system for providing three-dimensional resolution
US4858128A (en) 1986-08-11 1989-08-15 General Electric Company View-to-view image correction for object motion
US4891829A (en) 1986-11-19 1990-01-02 Exxon Research And Engineering Company Method and apparatus for utilizing an electro-optic detector in a microtomography system
DE3905619C2 (de) 1988-02-23 2000-04-13 Olympus Optical Co Bildeingabe-/Ausgabevorrichtung
GB2239575B (en) * 1989-10-17 1994-07-27 Mitsubishi Electric Corp Motion vector detecting apparatus and image blur correcting apparatus, and video camera including such apparatus
US5141609A (en) 1990-11-16 1992-08-25 The Trustees Of The Leland Stanford Junior University Method and device employing time-delayed integration for detecting sample components after separation
DE69227902T3 (de) 1991-04-29 2010-04-22 Massachusetts Institute Of Technology, Cambridge Vorrichtung für optische abbildung und messung
JPH04337446A (ja) 1991-05-15 1992-11-25 Hitachi Ltd 微粒子計測方法、定量方法および微粒子計測装置
US5548395A (en) 1991-09-20 1996-08-20 Toa Medical Electronics Co., Ltd. Particle analyzer
GB9218482D0 (en) 1992-09-01 1992-10-14 Dixon Arthur E Apparatus and method for scanning laser imaging of macroscopic samples
US5668887A (en) 1992-05-29 1997-09-16 Eastman Kodak Company Coating density analyzer and method using non-synchronous TDI camera
JP3327948B2 (ja) 1992-06-09 2002-09-24 オリンパス光学工業株式会社 光学像再構成装置
US5312535A (en) 1992-07-17 1994-05-17 Beckman Instruments, Inc. Capillary electrophoresis detection
US5757981A (en) * 1992-08-20 1998-05-26 Toyo Ink Mfg. Co., Ltd. Image inspection device
US6159686A (en) 1992-09-14 2000-12-12 Sri International Up-converting reporters for biological and other assays
US6026174A (en) 1992-10-14 2000-02-15 Accumed International, Inc. System and method for automatically detecting malignant cells and cells having malignancy-associated changes
US5402460A (en) 1993-08-02 1995-03-28 University Of Washington Three-dimensional microtomographic analysis system
US6215587B1 (en) 1994-02-14 2001-04-10 Robert R. Alfano Microscope imaging inside highly scattering media
JP3557659B2 (ja) * 1994-08-22 2004-08-25 コニカミノルタホールディングス株式会社 顔抽出方法
WO1996009594A1 (en) 1994-09-20 1996-03-28 Neopath, Inc. Apparatus for automated identification of thick cell groupings on a biological specimen
US5552605A (en) * 1994-11-18 1996-09-03 Picker International, Inc. Motion correction based on reprojection data
US5550892A (en) 1995-03-24 1996-08-27 The Regents Of The University Of California Enhanced local tomography
US5710429A (en) 1995-04-06 1998-01-20 Alfano; Robert R. Ultrafast optical imaging of objects in or behind scattering media
US5582705A (en) 1995-05-19 1996-12-10 Iowa State University Research Foundation, Inc. Multiplexed capillary electrophoresis system
US6252979B1 (en) 1995-06-07 2001-06-26 Tripath Imaging, Inc. Interactive method and apparatus for sorting biological specimens
WO1997012975A1 (en) 1995-10-02 1997-04-10 The Government Of The United States Of America, Represented By The Secretary, Department Of Health And Human Services An epithelial protein and dna thereof for use in early cancer detection
FI97665C (fi) 1995-11-21 1997-01-27 Planmed Oy Menetelmät ja laitteet kohteen kuvantamisessa
US6165734A (en) 1995-12-12 2000-12-26 Applied Spectral Imaging Ltd. In-situ method of analyzing cells
FR2743462B1 (fr) 1996-01-04 1998-01-30 Commissariat Energie Atomique Dispositif de lecture de barrettes de detecteurs avec effet tdi
JPH09247545A (ja) 1996-03-11 1997-09-19 Matsushita Electric Ind Co Ltd スキャナ型電子カメラ
US6078681A (en) 1996-03-18 2000-06-20 Marine Biological Laboratory Analytical imaging system and process
US6038067A (en) 1996-05-23 2000-03-14 The Regents Of The University Of California Scanning computed confocal imager
US5915048A (en) 1996-06-05 1999-06-22 Zetetic Institute Method and apparatus for discriminating in-focus images from out-of-focus light signals from background and foreground light sources
US5880838A (en) 1996-06-05 1999-03-09 California Institute Of California System and method for optically measuring a structure
US5673300A (en) * 1996-06-11 1997-09-30 Wisconsin Alumni Research Foundation Method of registering a radiation treatment plan to a patient
US6047080A (en) 1996-06-19 2000-04-04 Arch Development Corporation Method and apparatus for three-dimensional reconstruction of coronary vessels from angiographic images
WO1998023207A1 (en) 1996-11-29 1998-06-04 Imaging Diagnostic Systems, Inc. Method for reconstructing the image of an object scanned with a laser imaging apparatus
DE19701036A1 (de) * 1997-01-15 1998-07-16 Philips Patentverwaltung MR-Verfahren zur bildgestützten Überwachung der Verschiebung eines Objektes und MR-Anordnung zur Durchführung des Verfahrens
US5760901A (en) 1997-01-28 1998-06-02 Zetetic Institute Method and apparatus for confocal interference microscopy with background amplitude reduction and compensation
US6091983A (en) 1997-02-07 2000-07-18 Alfano; Robert R. Imaging of objects in turbid media based upon the preservation of polarized luminescence emitted from contrast agents
DE19714221A1 (de) 1997-04-07 1998-10-08 Zeiss Carl Fa Konfokales Mikroskop mit einem motorischen Scanningtisch
US6522355B1 (en) * 1997-04-10 2003-02-18 Texas Instruments Incorporated Digital nonuniformity correction for image sensors
US5878103A (en) 1997-06-30 1999-03-02 Siemens Corporate Research, Inc. Adaptive detector masking for speed-up of cone beam reconstruction
US5909476A (en) 1997-09-22 1999-06-01 University Of Iowa Research Foundation Iterative process for reconstructing cone-beam tomographic images
US6388809B1 (en) 1997-10-29 2002-05-14 Digital Optical Imaging Corporation Methods and apparatus for improved depth resolution use of out-of-focus information in microscopy
WO1999026186A1 (en) 1997-11-19 1999-05-27 University Of Washington High throughput optical scanner
US6251615B1 (en) 1998-02-20 2001-06-26 Cell Analytics, Inc. Cell analysis methods
US6248988B1 (en) 1998-05-05 2001-06-19 Kla-Tencor Corporation Conventional and confocal multi-spot scanning optical microscope
US6529614B1 (en) 1998-08-05 2003-03-04 California Institute Of Technology Advanced miniature processing handware for ATR applications
US6452179B1 (en) 1998-08-14 2002-09-17 Global Technovations, Inc. On-site analyzer
US6640014B1 (en) 1999-01-22 2003-10-28 Jeffrey H. Price Automatic on-the-fly focusing for continuous image acquisition in high-resolution microscopy
US6249341B1 (en) 1999-01-25 2001-06-19 Amnis Corporation Imaging and analyzing parameters of small moving objects such as cells
US6608682B2 (en) 1999-01-25 2003-08-19 Amnis Corporation Imaging and analyzing parameters of small moving objects such as cells
US6904163B1 (en) * 1999-03-19 2005-06-07 Nippon Telegraph And Telephone Corporation Tomographic image reading method, automatic alignment method, apparatus and computer readable medium
AU6622800A (en) 1999-08-05 2001-03-05 Cellomics, Inc. A system for cell-based screening
US6239871B1 (en) 1999-08-24 2001-05-29 Waters Investments Limited Laser induced fluorescence capillary interface
US6775399B1 (en) * 1999-11-17 2004-08-10 Analogic Corporation ROI segmentation image processing system
US6549308B1 (en) * 2000-01-11 2003-04-15 Zebra Imaging, Inc. Unibiased light field models for rendering and holography
US6248341B1 (en) * 2000-01-14 2001-06-19 Color Access, Inc. Method of treating topical angiogenesis-related disorders
US6532061B2 (en) 2000-08-25 2003-03-11 Amnis Corporation Measuring the velocity of small moving objects such as cells
AU2001284373A1 (en) 2000-08-29 2002-03-13 Yeda Research And Development Co. Ltd. Methods of isolating genes encoding proteins of specific function and of screening for pharmaceutically active agents
CA2426798C (en) 2000-10-27 2012-02-21 Praelux Incorporated Method and apparatus for screening chemical compounds
US7171038B2 (en) 2000-12-15 2007-01-30 Kla-Tencor Technologies Corporation Method and apparatus for inspecting a substrate
US6591003B2 (en) 2001-03-28 2003-07-08 Visiongate, Inc. Optical tomography of small moving objects using time delay and integration imaging
US6944322B2 (en) 2001-03-28 2005-09-13 Visiongate, Inc. Optical tomography of small objects using parallel ray illumination and post-specimen optical magnification
US6522775B2 (en) 2001-03-28 2003-02-18 Alan C. Nelson Apparatus and method for imaging small objects in a flow stream using optical tomography
US6519355B2 (en) 2001-03-28 2003-02-11 Alan C. Nelson Optical projection imaging system and method for automatically detecting cells having nuclear and cytoplasmic densitometric features associated with disease
GB0112392D0 (en) 2001-05-22 2001-07-11 Medical Res Council Optical imaging appartus and associated specimen support means
EP1415187A4 (en) 2001-08-06 2008-03-26 Bioview Ltd DEVELOPING IMAGES IN A FLUORESCENCE IMAGING APPARATUS
US6636623B2 (en) 2001-08-10 2003-10-21 Visiongate, Inc. Optical projection imaging system and method for automatically detecting cells with molecular marker compartmentalization associated with malignancy and disease
US6741730B2 (en) 2001-08-10 2004-05-25 Visiongate, Inc. Method and apparatus for three-dimensional imaging in the fourier domain
JP2003086919A (ja) * 2001-09-07 2003-03-20 Sun Tec Kk パターン検査装置
US7283253B2 (en) 2002-03-13 2007-10-16 Applied Precision, Llc Multi-axis integration system and method
US7738945B2 (en) 2002-04-19 2010-06-15 University Of Washington Method and apparatus for pseudo-projection formation for optical tomography
US7811825B2 (en) 2002-04-19 2010-10-12 University Of Washington System and method for processing specimens and images for optical tomography
US7197355B2 (en) 2002-04-19 2007-03-27 Visiongate, Inc. Variable-motion optical tomography of small objects
US6697508B2 (en) 2002-05-10 2004-02-24 Visiongate, Inc. Tomographic reconstruction of small objects using a priori knowledge
US6770893B2 (en) 2002-05-13 2004-08-03 Visiongate, Inc. Method and apparatus for emission computed tomography using temporal signatures
US20040008515A1 (en) 2002-06-11 2004-01-15 Applied Precision Fluorescence illumination optimization for three-dimensional microscopy
JP2006518050A (ja) 2003-02-18 2006-08-03 オクラホマ メディカル リサーチ ファウンデーション 焦点深度拡張顕微鏡法
US7408176B2 (en) 2003-06-19 2008-08-05 Applied Precision, Llc System and method employing photokinetic techniques in cell biology imaging applications

Also Published As

Publication number Publication date
CA2570730A1 (en) 2006-02-02
EP1769423A4 (en) 2012-11-07
AU2005267569B2 (en) 2011-03-31
WO2006011945B1 (en) 2007-04-12
US20050010108A1 (en) 2005-01-13
CN101027677A (zh) 2007-08-29
EP1769423B1 (en) 2015-11-18
US7260253B2 (en) 2007-08-21
CN101027677B (zh) 2011-07-27
JP2008504060A (ja) 2008-02-14
US7542597B2 (en) 2009-06-02
HK1104633A1 (en) 2008-01-18
WO2006011945A2 (en) 2006-02-02
EP1769423A2 (en) 2007-04-04
AU2005267569A1 (en) 2006-02-02
US20070071357A1 (en) 2007-03-29
CA2570730C (en) 2013-11-12
JP4841549B2 (ja) 2011-12-21
WO2006011945A3 (en) 2007-02-08

Similar Documents

Publication Publication Date Title
ES2559411T3 (es) Procedimiento de corrección de movimiento relativo de un detector de objetos entre vistas sucesivas
JP2008504060A5 (es)
CN109643458A (zh) 用于自动化的正弦图完成、组合及通过组合完成的系统和方法
JP2013516640A (ja) 顕微鏡センサ
CN106204732A (zh) 动态曝光的三维重建方法及系统
FR2668829A1 (fr) Dispositif et procede de controle non destructif a acquisition simultanee de donnees radiographiques et de donnees tomographiques.
CN115436658A (zh) 基于单光场相机双视角的高分辨率三维流场测试方法及系统
CN112381921A (zh) 一种边缘重建方法及系统
CN114241072B (zh) 一种叠层成像重建方法及系统
CN114964713A (zh) 一种用于大尺度流场可视成像的纹影实验方法
US7813529B1 (en) Optical 3-d surface tomography using depth from focus of partially overlapping 2-d images
US4394063A (en) Device for reconstructing layer images of a three-dimensional object by means of an adjustable imaging matrix
KR102020531B1 (ko) 선형 감마선원을 이용하여 고해상도의 pet(양전자 방출 단층 촬영) 영상을 생성하는 방법 및 장치
CN114111626B (zh) 一种基于同轴投影的光场相机三维测量装置及系统
US12014511B2 (en) Sample imaging via two-pass light-field reconstruction
CN114463405A (zh) 面扫线激光3d相机加速方法、装置、系统及fpga
CN114166699A (zh) 一种悬浮颗粒体积的光学测量装置和方法
JP5211174B2 (ja) 情報処理装置及び記憶媒体
Zelenka et al. Single image plankton 3D reconstruction from extended depth of field shadowgraph
Hrazdíra High precision sub-pixel image registration methods and their applications in astrophysics
Nakini et al. Distortion correction in 3d-modeling of roots for plant phenotyping
Rossi Development of a simulator for 3D pattern recognition scanners
Wong Development of a calibration pipeline for a monocular-view structured illumination 3D sensor utilizing an array projector
CN118190884A (zh) 一种光学层析成像系统及方法
Sluka Systém na stereo rekonstrukci průhledných objektů s využitím aktivního osvětlení