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

1 vue (au cours des 30 derniers jours)
David
David le 14 Mar 2011
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

Réponse acceptée

Sean de Wolski
Sean de Wolski le 14 Mar 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

Plus de réponses (3)

Laura Proctor
Laura Proctor le 14 Mar 2011
  1 commentaire
David
David le 14 Mar 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

Connectez-vous pour commenter.


David
David le 14 Mar 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 le 15 Mar 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 commentaire
Jan
Jan le 15 Mar 2011
Does this mean, that you accept his answer? Then please hit the corresponding button to mark this question as solved.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by