3D image alignment in a stack

2 visualizaciones (últimos 30 días)
Irene Fernandez Ugidos
Irene Fernandez Ugidos el 16 de Dic. de 2021
Comentada: Irene Fernandez Ugidos el 22 de Dic. de 2021
Hi,
I have a stack of images in a 3D matrix (128x128x500) that I want to align.
I tried:
tiff_stack3=imregister(tiff_stack2,tiff_stack2(:,:,1),'translation','RegularStepGradientDescent','MeanSquares');
sliceViewer(tiff_stack3)
where tiff_stack2 is the matrix that I want to align.
However, Matlab dropped me an error like this:
Error using imregtform>parseInputs (line 268)
The value of 'OptimConfig' is invalid. Invalid optimizer configuration object specified.
Error in imregtform (line 124)
parsedInputs = parseInputs(varargin{:});
Error in imregister (line 119)
tform = imregtform(varargin{:});
Error in Diawork3d (line 19)
tiff_stack3=imregister(tiff_stack2,tiff_stack2(:,:,1:3),'translation','RegularStepGradientDescent','MeanSquares');
Does anyone have any clue about how to align a stack of images using a code? Thank you

Respuesta aceptada

Matt J
Matt J el 16 de Dic. de 2021
N=size(tiff_stack2,3);
[opt,metric]=imregconfig('monomodal');
for i=1:N
tiff_stack3{i}=imregister(tiff_stack2(:,:,i),tiff_stack2(:,:,1),'translation',opt,metric);
end
tiff_stack3=cat(3,tiff_stack3{:});
  1 comentario
Irene Fernandez Ugidos
Irene Fernandez Ugidos el 22 de Dic. de 2021
Thank you so much!
It worked beautifully as follows:
N=size(tiff_stack2,3);
[opt,metric]=imregconfig('monomodal');
for i=1:N
tiff_stack3(:,:,i)=imregister(tiff_stack2(:,:,i),tiff_stack2(:,:,1),'translation',opt,metric);
end
sliceviewer(tiff_stack3)

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by