How to reconstruct 3D volume from 2D projections that are generated by same 3D volumetric?

5 ビュー (過去 30 日間)
Dynamic
Dynamic 2022 年 1 月 21 日
コメント済み: Dynamic 2022 年 1 月 24 日
Hi I have small assigment to sumit as soon as possible. I can do it using different implemented that have already develop someone. However, I have to implement a simple code without usig them. First of all I need be create 1000 projection from a vulume using image object in various directions and store them with the angles that used for each projection than have to add Gaussian noise to each projection with an amplitude so small that no features can be seen in the single images. Now using these projection of images I need to reconstruct 3D volume. (To reconstruct the initial volume, use these angles and pictures to do a weighted back projection.)
Please help me. Thanks

回答 (2 件)

Matt J
Matt J 2022 年 1 月 22 日
編集済み: Matt J 2022 年 1 月 22 日
I fyou mean you need to implement your own forward projector, a simple (and not terribly fast) implementation would be with imrotate(),
for i=1:numel(theta)
proj(:,i)=sum( imrotate(volume,theta),2 );
end
  2 件のコメント
Dynamic
Dynamic 2022 年 1 月 23 日
@Matt J Thanks for your suggestion. However, proj(:,:,i) provide an N*1*N matrix where I only need N*N 2D image. Can you suggest to me how can I project 2D images?
Thanks
Matt J
Matt J 2022 年 1 月 23 日
You can use squeeze() or reshape() to reshape the result from Nx1xN to NxN

サインインしてコメントする。


yanqi liu
yanqi liu 2022 年 1 月 24 日
yes,sir,what is target,make 3d matrix display as 3d object?such as

Community Treasure Hunt

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

Start Hunting!

Translated by