3D image alignment in a stack

1 回表示 (過去 30 日間)
Irene Fernandez Ugidos
Irene Fernandez Ugidos 2021 年 12 月 16 日
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