Main Content

Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

imregister

Registro de imágenes basado en la intensidad

Descripción

ejemplo

moving_reg = imregister(moving,fixed,transformType,optimizer,metric) transforma la imagen 2D o 3D, de modo que se registre con la imagen de referencia, .movingfixed Tanto las imágenes como las imágenes deben ser de la misma dimensionalidad, ya sea 2-D o 3-D. es un vector escalar o de caracteres de cadena que define el tipo de transformación que se va a realizar. es un objeto que describe el método para optimizar la métrica. es un objeto que define la medida cuantitativa de similitud entre las imágenes para optimizar.movingfixedtransformTypeoptimizermetric Devuelve la imagen alineada, .moving_reg

[moving_reg,R_reg] = imregister(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric) transforma la imagen a la que se hace referencia espacialmente para que se registre con la imagen a la que se hace referencia espacialmente. y son objetos de referencia espacial que describen los límites de coordenadas universales y la resolución de y .movingfixedRmovingRfixedmovingfixed

___ = imregister(___,Name,Value) especifica opciones adicionales con uno o más argumentos de par.Name,Value

Ejemplos

contraer todo

Lee dos imágenes. Este ejemplo utiliza dos imágenes de resonancia magnética (RM) de una rodilla. La imagen fija es una imagen de eco de giro, mientras que la imagen en movimiento es una imagen de eco de giro con recuperación de inversión. Las dos rodajas sagitales fueron adquiridas al mismo tiempo, pero están ligeramente fuera de alineación.

fixed = dicomread('knee1.dcm'); moving = dicomread('knee2.dcm');

Vea las imágenes desalineadas.

imshowpair(fixed, moving,'Scaling','joint')

Cree el optimizador y la métrica, estableciendo la modalidad a ya que las imágenes provienen de diferentes sensores.'multimodal'

[optimizer, metric] = imregconfig('multimodal')
optimizer =    registration.optimizer.OnePlusOneEvolutionary    Properties:          GrowthFactor: 1.050000e+00               Epsilon: 1.500000e-06         InitialRadius: 6.250000e-03     MaximumIterations: 100 
metric =    registration.metric.MattesMutualInformation    Properties:     NumberOfSpatialSamples: 500      NumberOfHistogramBins: 50               UseAllPixels: 1 

Ajuste las propiedades del optimizador para que el problema converja en un máximo global y para permitir más iteraciones.

optimizer.InitialRadius = 0.009; optimizer.Epsilon = 1.5e-4; optimizer.GrowthFactor = 1.01; optimizer.MaximumIterations = 300;

Realice el registro.

movingRegistered = imregister(moving, fixed, 'affine', optimizer, metric);

Ver las imágenes registradas.

figure imshowpair(fixed, movingRegistered,'Scaling','joint')

Argumentos de entrada

contraer todo

Imagen que se va a registrar, especificada como una imagen en escala de grises 2D o 3D.

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Información de referencia espacial asociada a la imagen que se va a registrar, especificada como u objeto.imref2dimref3d

Imagen de referencia en la orientación de destino, especificada como una imagen en escala de grises.

Tipos de datos: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Información de referencia espacial asociada a la imagen de referencia (fija), especificada como u objeto.imref2dimref3d

Transformación geométrica que se aplicará a la imagen en movimiento, especificada como uno de los siguientes valores:

ValorDescripción
'translation'traducción en 2-D, o traducción en 3-D.(x,y)(x,y,z)
'rigid'Transformación rígida consistente en traslación y rotación.
'similarity'Transformación de similitud no reflectante que consiste en traducción, rotación y escala.
'affine'Transformación afín que consiste en traslación, rotación, escala y cizallamiento.

Los tipos y los tipos de transformación siempre implican transformaciones no reflectantes.'similarity''affine'

Tipos de datos: char | string

Método para optimizar la métrica de similitud, especificada como un objeto o optimizador.RegularStepGradientDescentOnePlusOneEvolutionary

Métrica de similitud de imagen que se optimizará durante el registro, especificada como un objeto o objeto métrico.MeanSquaresMattesMutualInformation

Argumentos de par nombre-valor

Especifique pares opcionales separados por comas de argumentos. es el nombre del argumento y es el valor correspondiente. deben aparecer entre comillas.Name,ValueNameValueName Puede especificar varios argumentos de par de nombre y valor en cualquier orden como .Name1,Value1,...,NameN,ValueN

Ejemplo: permite el modo de optimización detallada.'DisplayOptimization',1

Indicador de optimización detallado, especificado como el par separado por comas que consta de , y el valor lógico o .'DisplayOptimization'truefalse Controla si muestra información de optimización en la ventana de comandos durante el proceso de registro.imregister

Tipos de datos: logical

Inicio de la transformación geométrica, especificada como el par separado por comas que consta de y un objeto u.'InitialTransformation'affine2daffine3d

Número de niveles de pirámide utilizados durante el proceso de registro, especificado como el par separado por comas que consta de y un entero positivo.'PyramidLevels'

Ejemplo: establece el número de niveles de pirámide en .'PyramidLevels',44

Tipos de datos: double

Argumentos de salida

contraer todo

Imagen transformada, devuelta como matriz. Los píxeles de relleno introducidos que no se corresponden con las ubicaciones de la imagen original son .0

Información de referencia espacial asociada a la imagen de salida, devuelta como u objeto.imref2dimref3d

Sugerencias

  • Ambos y utilice el mismo algoritmo de registro subyacente. realiza el paso adicional de remuestreo para producir la imagen de salida registrada a partir de la estimación de transformación geométrica calculada por .imregtformimregisterimregistermovingimregtform Utilícelo cuando desee acceder a la transformación geométrica relacionada con .imregtformmovingfixed Utilícelo cuando desee una imagen de salida registrada.imregister

  • Cree un y con la función antes de llamar a .optimizermetricimregconfigimregister Obtener buenos resultados del registro de imágenes basado en optimización normalmente requiere modificar la configuración del optimizador o de las métricas para el par de imágenes que se están registrando. La función proporciona una configuración predeterminada que solo debe considerarse un punto de partida.imregconfig Por ejemplo, si aumenta el número de iteraciones en el optimizador, reduce el tamaño del paso del optimizador o cambia el número de muestras en una métrica estocástica, el registro mejora a un punto, a expensas del rendimiento. Consulte la salida de para obtener más información sobre los diferentes parámetros que puede modificar.imregconfig

  • Si el escalado espacial de las imágenes difiere en más de un 10%, cambie su tamaño antes de registrarlas.imresize

  • Utilizar o visualizar los resultados del registro.imshowpairimfuse

  • Puede utilizar en un flujo de trabajo automatizado para registrar varias imágenes.imregister

  • Cuando tenga información de referencia espacial sobre la imagen que se va a registrar, especifique la información para utilizar objetos de referencia espacial.imregister Esto ayuda a converger para obtener mejores resultados más rápidamente porque se pueden tener en cuenta las diferencias de escala.imregister

Introducido en R2012a