How to convert .mat file to .tif file?

18 views (last 30 days)
Haytham Ali
Haytham Ali on 17 Jan 2022
Commented: Image Analyst on 17 Jan 2022
Hi all
I have 3D image divided inot slices every slice saved inot file.mat
I want to save all of these slices inot file.TIF
How can I do this ??

Answers (1)

Image Analyst
Image Analyst on 17 Jan 2022
s = load('yourFile.mat');
image3d = s.image3d; % Whatever it's called.
[rows, columns, slices] = size(image3d)
outputFolder = pwd; % Wherever you want.
for slice = 1 : slices
thisSlice = image3d(:, :, slice);
baseFileName = sprintf('Slice %d.tif', slice);
fullFileName = fullfile(outputFolder, baseFileName);
imwrite(thisSlice, fullFileName);
end
  2 Comments
Haytham Ali
Haytham Ali on 17 Jan 2022
@Image Analyst Thank you
I dont have 3D image I have only slices of this 3D every slice saved into slice1.mat, slice2.mat,....slice n .mat
I want to convert every one from these slices into slice1.tif, slice2.tif,....slice n .tif
Image Analyst
Image Analyst on 17 Jan 2022
s = load('yourFile.mat');
image3d = s.image3d; % Whatever it's called.
[rows, columns, slices] = size(image3d)
inputFolder = pwd; % Wherever you want.
outputFolder = pwd; % Wherever you want.
for slice = 1 : slices
% Read in image from mat file.
baseFileName = sprintf('Slice %d.mat', slice);
fullFileName = fullfile(inputFolder, baseFileName);
if ~isfile(fullFileName)
continue; % Skip it if it does not exist.
end
fprintf('Reading %s.\n', fullFileName)
s = load(fullFileName)
thisSlice = s.theImage; % or whatever it's called.
% Write out as a TIFF format image file.
baseFileName = sprintf('Slice %d.tif', slice);
fullFileName = fullfile(outputFolder, baseFileName);
fprintf('Writing %s.\n', fullFileName)
imwrite(thisSlice, fullFileName);
end

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!