Saving Cell Contents to Images in Loop for ImageJ

조회 수: 3 (최근 30일)
Avigdor
Avigdor 2014년 11월 20일
댓글: Avigdor 2014년 11월 20일
Hi,
I have a 4D data set A(m,n,j,k). In a for loop the data is "squeezed" into a cell A_cell to make k 3D cell entries each A_cell{k} = A(m,n,j). Each cell entry is saved as a .mat in the home directory within the loop.
Now in the loop(or not), I need to open either each cell or each saved .mat file, generate j tif images for each of the cell/.mat entries/files, and then save these images as tiff with numbered names back into the home directory.
I am using this function to generate ImageJ-readable images from the 4D data sets.
Can somebody please help with this?
Thanks!

답변 (1개)

Image Analyst
Image Analyst 2014년 11월 20일
Should be very easy with this http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F and this http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F. Inside the loop, create an outputfilename with sprintf() and fullfile (like the FAQ shows) and then get the image from the cell array with braces
thisImage = myCellArray{index};
Then call imwrite
baseFileName = sprintf('..........
fullFileName = fullfile(folder, baseFileName);
imwrite(thisImage, fullFileName);
  댓글 수: 9
Image Analyst
Image Analyst 2014년 11월 20일
I would use sprintf but include the Step part:
file_name = sprintf('Frame_%d, Step_%d.tif', k, i);
It looks simpler to me and more like other languages you're familiar with like C and Java.
Avigdor
Avigdor 2014년 11월 20일
Thanks! I posted a question about saving 32-bit tiff images in this context. Please check it out if you have some insight.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Convert Image Type에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by