3D image alignment in a stack

조회 수: 2 (최근 30일)
Irene Fernandez Ugidos
Irene Fernandez Ugidos 2021년 12월 16일
댓글: Irene Fernandez Ugidos 2021년 12월 22일
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

채택된 답변

Matt J
Matt J 2021년 12월 16일
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
Irene Fernandez Ugidos
Irene Fernandez Ugidos 2021년 12월 22일
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)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

태그

Community Treasure Hunt

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

Start Hunting!

Translated by