Save just image (and not full figure) in a loop without needing user input

1 Ansicht (letzte 30 Tage)
Hi all,
I'm working on a program which generates lots of figures/images in a for-loop. As I want to creat up to 1000 images I would like to avoid any user input when saving the images (I just want the program to run).
My problem is that I do only want to save the image and not the full figure. With imsave I can save an image (after being asked to specify the file-name myself for each loop), with saveas I can save all figures withtout user input (just with an updated string) but not just the image. How could I combine this so that I end up with a command which saves just a (tiff)-image from the generated plot/figure without needing a user input every time?
My code for the loop is as follows (with lcn as given 3D array):
for slice = 1:100; h = imagesc(squeeze(lcn(slice,:,:))); name = num2str(slice) saveas(h,slice,'tif') end
/David

Akzeptierte Antwort

Sean de Wolski
Sean de Wolski am 14 Mär. 2011
h is a handle to the figure and a scalar value. What you want is
for ...
name = ...
imwrite(squeeze(lcn(slice,:,:)),name,'tif');
end

Weitere Antworten (3)

Laura Proctor
Laura Proctor am 14 Mär. 2011
  1 Kommentar
David
David am 14 Mär. 2011
Dear Laura,
I tried to implement imwrite but I'm just getting blank images. Do you know what I could be doing wrong?
Ex:
for slice = 1:100;
h = imagesc(squeeze(lcn(slice,:,:)));
string = num2str(iter);
string2 = '.tif'
name = [string string2];
imwrite(h,name,'tif')
end

Melden Sie sich an, um zu kommentieren.


David
David am 14 Mär. 2011
Sorry, but I'm just inserting my comment as an answer to keep the discussion going. Thanks again. /David ----------------------------------------------------- Dear Laura,
I tried to implement imwrite but I'm just getting blank images. Do you know what I could be doing wrong?
Ex:
for slice = 1:100; h = imagesc(squeeze(lcn(slice,:,:))); string = num2str(iter); string2 = '.tif' name = [string string2]; imwrite(h,name,'tif') end
/David

David
David am 15 Mär. 2011
Well, the answer was actually as simple as that! imagesc is a handle to the figure or image being plotted!
Using your solution Sean works perfectly fine! Thanks for all the help!
All the best /David
  1 Kommentar
Jan
Jan am 15 Mär. 2011
Does this mean, that you accept his answer? Then please hit the corresponding button to mark this question as solved.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by