Matlab で並列コンピューティングを使用して 3 次元再構成に取り組んでいます。コードのプロファイリングを行ったところ、imread と imwrite にほとんどの処理時間がかかっていることがわかりました。私の目標は、シミュレーションに大規模なデータ セットと反復が含まれるため、処理時間を大幅に短縮することです。私のコード:
projection_length = 4100;
parfor q = 1:projection_length
tmpData = zeros(1600, 500);
for i = 1:500
fname= sprintf('pre%03d.tif', i);
tmpData(:, i) = imread(fname, 'PixelRegion', {[1 1600], [q q]});
disp(['Analyzing projection ' num2str(q) ' of ' num2str(projection_length) ', Angle ' num2str(i) '...']);
end
idata=255-tmpData;
H = iradon(idata, 0.72, 'Hann', 0.8, 1600 );
postfname= sprintf('post%06d.tif', q);
imwrite(H, postfname);
end