Clear Filters
Clear Filters

Hi i created a matfile of hourly temperature 334*334*2928 . how i can convert the .mat file to Tif file ?

32 views (last 30 days)
attached the screen shot
  2 Comments
Umar
Umar on 19 Jul 2024 at 6:20

Hi Vineetha,

To convert a .mat file to a TIF file in Matlab, you can use the following steps:

% Load the .mat file

load('hourly_temperature_data.mat');

% Reshape the data to a 3D matrix

temperature_data = reshape(hourly_temperature_data, [334, 334, 2928]);

% Loop through each slice and save as TIF

for i = 1:2928

    imwrite(temperature_data(:,:,i), ['temperature_slice_', num2str(i), '.tif']);
end

So, you load the .mat file, reshape the data to a 3D matrix, and then loop through each slice to save it as a TIF file. Each slice will be saved as a separate TIF file with a unique name. Hope this should help resolve your problem.

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 19 Jul 2024 at 6:19
I suggest using the Mapping Toolbox, geotiffwrite
  3 Comments
Umar
Umar on 19 Jul 2024 at 8:10
Hi Walter,
Thanks for your contribution. Please correct me if I am wrong, it is preferable to use geotiffwrite instead of imwrite in Matlab because geotiffwrite allows you to write GeoTIFF files which contains georeferencing information essential for GIS applications so ArcGIS Pro can correctly interpret the spatial data.
Walter Roberson
Walter Roberson on 19 Jul 2024 at 18:12
geotiffwrite() knows how to automatically take care of multiple bit planes.
In theory you can do the same thing by using the Tiff library, but you need to know how to handle the extra bit planes and need to know what tags to use.
One thing I just realized is that your data is double(). geotiffwrite() handles that internally. imwrite() converts double to uint8 if I recall correctly. To write double precision tiff images you need to use geotiffwrite() or you need to use the Tiff interface (there is, by the way, a file exchange contribution that correctly handles double precision tiff.)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!