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

1 visualización (últimos 30 días)
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

Respuesta aceptada

Sean de Wolski
Sean de Wolski el 14 de Mzo. de 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

Más respuestas (3)

Laura Proctor
Laura Proctor el 14 de Mzo. de 2011
  1 comentario
David
David el 14 de Mzo. de 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

Iniciar sesión para comentar.


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

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