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.

imregtform

Estime la transformación geométrica que alinea dos imágenes 2-D o 3-D

Descripción

ejemplo

tform = imregtform(moving,fixed,transformType,optimizer,metric) estima la transformación geométrica que alinea la imagen en movimiento con la imagen fija. es una cadena escalar o un vector de caracteres que define el tipo de transformación que se va a estimar. 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 a optimizar.movingfixedtransformTypeoptimizermetric La salida es un objeto de transformación geométrica que se asigna a.tformmovingfixed

tform = imregtform(moving,Rmoving,fixed,Rfixed,transformType,optimizer,metric) estima la transformación geométrica donde y especificar los objetos de referencia espacial asociados a las imágenes y.RmovingRfixedmovingfixed La salida es un objeto de transformación geométrica en unidades definidas por los objetos de referencia espacial y.tformRmovingRfixed

tform = imregtform(___,Name,Value) estima la transformación geométrica mediante pares nombre-valor para controlar los aspectos de la operación.

Ejemplos

contraer todo

Lee dos imágenes. Este ejemplo utiliza dos imágenes de resonancia magnética (RMN) 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 spin con recuperación de inversión. Las dos rebanadas sagital fueron adquiridas al mismo tiempo pero están ligeramente fuera de alineación.

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

Ver las imágenes desalineadas.

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

Crea el optimizador y la métrica, estableciendo la modalidad desde 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 conseguir que el problema converja en un maxima global y permita más iteraciones.

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

Busque la transformación geométrica que asigne la imagen que se registrará () a la imagen de referencia ().movingfixed

tform = imregtform(moving, fixed, 'affine', optimizer, metric)
tform =    affine2d with properties:      Dimensionality: 2                  T: [3x3 double]  

Aplique la transformación a la imagen que se está registrado () utilizando la función.movingimwarp El ejemplo utiliza el parámetro para preservar los límites mundiales y la resolución de la imagen de referencia al formar la imagen transformada.'OutputView'

movingRegistered = imwarp(moving,tform,'OutputView',imref2d(size(fixed)));

Visualiza las imágenes registradas.

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

Argumentos de entrada

contraer todo

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

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

Información de referencia espacial asociada a la imagen que se registrará, especificada como un objeto o.imref2dimref3d

Imagen de referencia en la orientación de destino, especificada como una imagen en escala de grises en 2-D o 3-D.

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

Información de referencias espaciales asociada a la imagen de referencia (fija), especificada como un objeto o.imref2dimref3d

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

ValorDescripción
'translation'Traducción.(x,y)
'rigid'Transformación rígida consistente en traducción y rotación.
'similarity'Transformación de similitud no reflectante consistente en traducción, rotación y escala.
'affine'Transformación afín consistente en traducción, rotación, escala y cizallamiento.

Los tipos de transformación y 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 optimizador o.RegularStepGradientDescentOnePlusOneEvolutionary

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

Argumentos de par nombre-valor

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

Ejemplo: habilita el modo de optimización detallado.'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 la 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.'InitialTransformation'affine2daffine3d

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

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

Argumentos de salida

contraer todo

Transformación geométrica, devuelta como un objeto o.affine2daffine3d Si las matrices de entrada son 3-D, devuelve un objeto.imregtformaffine3d

Sugerencias

  • Cuando tenga disponible información de referencia espacial, es importante proporcionar esta información, utilizando objetos de referencia espacial.imregtform Esta información ayuda a converger para obtener mejores resultados más rápidamente porque se pueden considerar las diferencias de escala.imregtform

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

  • Obtener buenos resultados del registro de imágenes basado en la optimización normalmente requiere modificar el optimizador y/o la configuración de las métricas para el par de fotos que se registran. La función proporciona una configuración predeterminada que solo debe considerarse un punto de partida.imregconfig Vea la salida de la para más información sobre los diversos parámetros que se pueden modificar.imregconfig

Introducido en R2013a