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.

OnePlusOneEvolutionary

La configuración del optimizador evolutivo de uno más uno

Descripción

Un objeto describe una configuración de optimización evolutiva de uno más uno que se pasa a la función para resolver problemas de registro de imágenes.OnePlusOneEvolutionaryimregister

Creación

Puede crear un objeto utilizando los métodos siguientes:OnePlusOneEvolutionary

  • : Devuelve un objeto emparejado con una métrica adecuada para registrar imágenes multimodalesimregconfigOnePlusOneEvolutionary

  • Al entrar en la línea de comando se crea un objeto con la configuración predeterminada

    metric = registration.optimizer.OnePlusOneEvolutionary;
    OnePlusOneEvolutionary

Propiedades

expandir todo

Factor de crecimiento del radio de búsqueda, especificado como un escalar positivo. El optimizador utiliza para controlar la velocidad a la que el radio de búsqueda crece en el espacio de parámetros.GrowthFactor Si se establece en un valor grande, la optimización es rápida, pero puede resultar en la búsqueda de solo los extremos locales de la métrica.GrowthFactor Si se establece en un valor pequeño, la optimización es más lenta, pero es probable que converja en una solución mejor.GrowthFactor

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

Tamaño mínimo del radio de búsqueda, especificado como un escalar positivo. controla la precisión de la convergencia ajustando el tamaño mínimo del radio de búsqueda.Epsilon Si se establece en un valor pequeño, la optimización de la métrica es más precisa, pero el cálculo tarda más.Epsilon Si se establece en un valor grande, el tiempo de cálculo decaía a expensas de la precisión.Epsilon

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

Tamaño inicial del radio de búsqueda, especificado como un escalar positivo. Si se establece en un valor grande, el tiempo de cálculo disminuye.InitialRadius Sin embargo, los valores excesivamente grandes de pueden dar lugar a una optimización que no convergen.InitialRadius

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

Número máximo de iteraciones del optimizador, especificadas como un escalar entero positivo. determina el número máximo de iteraciones que el optimizador realiza en cualquier nivel de pirámide dado.MaximumIterations El registro podría converger antes de que el optimizador alcance el número máximo de iteraciones.

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

Ejemplos

contraer todo

Crear un objeto y utilizarlo para registrar dos imágenes de RMN de una rodilla que se obtuvieron utilizando diferentes protocolos.OnePlusOneEvolutionary

Lea las imágenes en el espacio de trabajo. Las imágenes son multimodales porque tienen diferente brillo y contraste.

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

Ver las imágenes desalineadas.

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

Cree el objeto de configuración del optimizador adecuado para registrar imágenes multimodales.

optimizer = registration.optimizer.OnePlusOneEvolutionary
optimizer =    registration.optimizer.OnePlusOneEvolutionary    Properties:          GrowthFactor: 1.050000e+00               Epsilon: 1.500000e-06         InitialRadius: 6.250000e-03     MaximumIterations: 100 

Cree el objeto de configuración de métricas adecuado para registrar imágenes multimodales.

metric = registration.metric.MattesMutualInformation;

Sintonice las propiedades del optimizador para que el problema converja en un maxima global. Aumente el número de iteraciones que utilizará el optimizador para resolver el problema.

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);

Visualiza las imágenes registradas.

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

Algoritmos

Un algoritmo evolutivo IULA para encontrar un conjunto de parámetros que produzcan el mejor resultado de registro posible. Lo hace perturbando o mutando los parámetros de la última iteración (el padre). Si los nuevos parámetros (secundarios) producen un mejor resultado, entonces el niño se convierte en el nuevo padre cuyos parámetros se perturbe, tal vez más agresivamente. Si el padre produce un mejor resultado, sigue siendo el padre y la siguiente perturbación es menos agresiva.

Referencias

[1] Styner, M., C. Brechbuehler, G. Székely, and G. Gerig. "Parametric estimate of intensity inhomogeneities applied to MRI." IEEE Transactions on Medical Imaging. Vol. 19, Number 3, 2000, pp. 153-165.

Introducido en R2012a