mirror of
https://github.com/c-sooyoung/fold_slice.git
synced 2026-09-17 21:39:08 +09:00
66 lines
2.1 KiB
Matlab
66 lines
2.1 KiB
Matlab
function [ ] = save_tiff_image_stack(input, par)
|
|
% Save 3D arry as a (8-bit) tiff stack
|
|
% Written by YJ
|
|
% ** input: 3D real array
|
|
% ** par: parameters
|
|
|
|
input = double(input);
|
|
|
|
if ~isfield(par,'axis'); par.axis = 3; end
|
|
if ~isfield(par,'range'); par.range = [0,0]; end
|
|
if ~isfield(par,'norm_single_slice'); par.norm_single_slice = false; end
|
|
if ~isfield(par,'name'); par.name = 'image_stack.tiff'; end
|
|
|
|
if any(par.range)
|
|
range = par.range;
|
|
else
|
|
range = [min(input(:)),max(input(:))];
|
|
end
|
|
|
|
switch par.axis
|
|
case 3
|
|
if par.norm_single_slice
|
|
imwrite(mat2gray(input(:,:,1)),par.name,'tiff')
|
|
else
|
|
imwrite(mat2gray(input(:,:,1),range),par.name,'tiff')
|
|
end
|
|
for i=2:size(input,3)
|
|
if par.norm_single_slice
|
|
imwrite(mat2gray(input(:,:,i)),par.name,'tiff','WriteMode','append')
|
|
else
|
|
imwrite(mat2gray(input(:,:,i),range),par.name,'tiff','WriteMode','append')
|
|
end
|
|
end
|
|
case 2
|
|
if par.norm_single_slice
|
|
imwrite(mat2gray(squeeze(input(:,1,:))),par.name,'tiff')
|
|
else
|
|
imwrite(mat2gray(squeeze(input(:,1,:)),range),par.name,'tiff')
|
|
end
|
|
for i=2:size(input,2)
|
|
if par.norm_single_slice
|
|
imwrite(mat2gray(squeeze(input(:,i,:))),par.name,'tiff','WriteMode','append')
|
|
else
|
|
imwrite(mat2gray(squeeze(input(:,i,:)),range),par.name,'tiff','WriteMode','append')
|
|
end
|
|
end
|
|
case 1
|
|
if par.norm_single_slice
|
|
imwrite(mat2gray(squeeze(input(1,:,:))),par.name,'tiff')
|
|
else
|
|
imwrite(mat2gray(squeeze(input(1,:,:)),range),par.name,'tiff')
|
|
end
|
|
for i=2:size(input,1)
|
|
if par.norm_single_slice
|
|
imwrite(mat2gray(squeeze(input(i,:,:))),par.name,'tiff','WriteMode','append')
|
|
else
|
|
imwrite(mat2gray(squeeze(input(i,:,:)),range),par.name,'tiff','WriteMode','append')
|
|
end
|
|
end
|
|
otherwise
|
|
disp('Wrong axis! par.axis should be 1, 2, or 3.')
|
|
end
|
|
|
|
end
|
|
|