Rick Matthews (matthews@wfu.edu) writes:
> I am rather new to IDL. I have generated 3-D isosurfaces
> using Slicer3. I would like to step through one rotation angle,
> saving each image for inclusion in a video.
>
> Is there a way to automate the rotate/save cycle in slicer3?
> If not, can someone point me in another direction to achieve the
> same result?
>
> I am trying to make a video showing a rotating isosurface.
Here is a little program that animates an isosurface in
XInterAnimate. You can create a MPEG movie by just clicking
the MPEG button on the XInterAnimate interface. Or, if you
would prefer to save the frames as a series of JPEG files,
you can set the JPEG keyword:
IDL> Rotating_Isosurface, /JPEG
You will need the TVRead program from my web page to
run the program:
http://www.dfanning.com/programs/tvread.pro
Cheers,
David
************************************************************ *
PRO Rotating_Isosurface, JPEG=jpeg
; Set the JPEG keyword to generate JPEG output.
; Load volumetric data.
head = BytArr(80, 100, 57)
filename = Filepath(Subdir=['examples', 'data'], 'head.dat')
OpenR, lun, filename, /Get_Lun
ReadU, lun, head
Free_Lun, lun
; Set up 3D coordinate space.
d = Size(head, /Dimensions)
Scale3, XRange=[0, d[0]], YRange=[0, d[1]], ZRange=[0, d[2]]
; Create vertices and polygons describing isosurface.
Shade_Volume, head, 50, vertices, polygons, /Low
; Animate it.
XInterAnimate, Set=[256, 256, 36], /Showload
FOR j=0,35 DO BEGIN
Scale3, XRange=[0, d[0]], YRange=[0, d[1]], ZRange=[0, d[2]], AZ=10*j
TV, Polyshade(vertices, polygons, /T3D, XSize=256, YSize=256)
XInterAnimate, Frame=j, Window=!D.Window
; Want to save as JPEG files?
IF Keyword_Set(jpeg) THEN BEGIN
filename = 'isosurface_' + String(j, Format='(I3.3)') + '.jpg'
ok = TVRead(/JPEG, Filename=filename, /NoDialog)
ENDIF
END
XInterAnimate, 50
END
************************************************************ *
David W. Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438, E-mail: david@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
|