MATLAB Answers


How to write each slices from volume in MATLAB into jpg format?

Asked by Javaid Iqbal on 24 Mar 2018
Latest activity Edited by Javaid Iqbal on 24 Mar 2018
Hello dear may you please help for solving a problem: I have 3D Volume dataset in .niit format I read this data in MATLAB and also can show each slice from this volume....but I'm unable to write each slice in jpg /2D form How we can write each slice from volume by using imwrite in MATLAB?


Sign in to comment.

1 Answer

Answer by Image Analyst
on 24 Mar 2018
 Accepted Answer

You probably don't want to do that anyway, unless you use lossless jpeg2000 format. Use PNG for lossless compression
for sliceIndex = 1 : size(image3d, 3)
thisSlice = image3d(:,:,sliceIndex);
filename = sprintf('Slice #%d.png', sliceIndex);
write(thisSlice, filename);
image3d is your 3-D image array.


Still showing this error: Undefined function 'write' for input arguments of type 'int16'. Error in test (line 5) int16(write(thisSlice, filename));
@ Image Analyst Please see this file attached here I want to read each slice from these volume an dthen want to write each slice in .png or jpeg format. I try this given code but showing error still. please help me for this problem Thansk

Sign in to comment.