How can I control the voxel size using 'imwrite'?

4 visualizaciones (últimos 30 días)
Harsha Yogeshappa
Harsha Yogeshappa el 10 de Nov. de 2021
Comentada: Walter Roberson el 16 de En. de 2025
Hello All,
I have an input tiff file image that has 342 slices, and I would like to extract each slice individually and save as a separate file.
% x = imread("inputTiffFile.tif", 100);
% imwrite(x, "slice_100.tif");
% x = imread("inputTiffFile.tif", 163);
% imwrite(x, "slice_163.tif");
However, I have one problem: The voxel spacing in the input image is [1, 1, 1], but the voxel spacing after using 'imwrite' is changed to [0.352778, 0.352778, 1]. I require the voxel spacing to be same as input.
Any inputs on how to avoid this change in voxel size would be very helpful.
Thanks,

Respuestas (1)

Shreshth
Shreshth el 16 de En. de 2025
Hi Harsha,
To avoid the change in voxel size when using the "imwrite" function in MATLAB, you can specify the resolution of the output image using the 'Resolution' name-value pair argument. Here's an example:
imwrite(x, "slice_100.tif", 'Resolution', [1, 1, 1]);
% Note - [1, 1, 1] specifies that the voxel spacing should be the same as the input image.
Please refer to the following MathWorks documentation for more information on the “imwrite” function and 'Resolution' name-value pair argument:
Hope this helps!
  1 comentario
Walter Roberson
Walter Roberson el 16 de En. de 2025
Note that the Resolution option of imwrite() is valid only for TIFF output files.
If you happen to want to output as PNG, then you would use XResolution and YResolution and ResolutionUnit
imwrite() does not support writing resolution for any file types other than TIFF or PNG. If you happen to want to write JPEG files then you need to resort to using external functions to write EXIF information to the image, as imwrite() does not support writing EXIF (writing EXIF would be a very useful enhancement to imwrite())

Iniciar sesión para comentar.

Community Treasure Hunt

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

Start Hunting!

Translated by