r8 - 11 Jul 2008 - 16:35:56 - EvanBolligYou are here: TWiki >  Computing Web > VisCluster > VislabStatus > VisLabMenu > VislabPowerWall > VislabAmiraStereoMovies

Amira Tutorial for Creating Stereo (3D) Movies

This material is based upon work supported by the National Science Foundation under Grant No. 0722782.

HPxw6400.jpg

SCS VisLab:

Creating the Movie

  • step 1: lunching amira
    • open a terminal and type "amira". Then you will get the following amira interface:

             
                                                                                       figure 1
  • step 2: loading the data. Note: in the following step, we will show you how to create the amira network step by step. The network will be created in the pool window.
    • click the circled green button shown in figure 1, then load the data files "solid.amvelocity.am", "pressure.am", and "velocity.am" respectively. You can find the files in ~jwang/whale

    • after you load the data files, the pool window will look like figure 2.

             
                                                           figure 2
  • step 3: generating a new data object by using the "Curl" module.
    • right click on the data object velocity.am, select "compute", then "Curl".

    • Normally, a new data object named "velocity.Curl" would appear in the Pool window. If not, select the "Curl" module by left clicking. Then go to the Properties window, click the "Apply" button which located on the bottom.

    • right now, your Pool window should look like figure 3:

             
                                                           figure 3
  • step 4: Wonderful! We've got all of the data files we need. Let's generate some beautiful images. First, let's generate a whale by using the "isosurface" module.
    • right click the "solid .amvelocity.am", then choose "display", then "isosurface". Alternatively, after you select "solid.amvelocity.am", you can easily find the "isosurface" module on the top of the Pool window.

    • select the "isosurface" module, then go to the "Properties" window. Make sure the "Threshold" value is 0. You can choose any "Draw Style". In this tutorial, we just choose "shaded as an example". After the parameters are specified, click "Apply". The "Properties" window should look like figure 4

             
                                                           figure 4
    • Exellent! A whale appears! The network and the whale are shown in figure 5 and figure 6 respectively.

             
                                                           figure 5
             
                                                           figure 6
  • step5: Let's generate another isosurface by using "pressure.am".
    • The process is exactly the same as step 4. Just make sure you select another data object, i.e., "pressure.am".
      This time let's set the "Threshold" value as -0.05 and adopt the "transparent" "Draw Style". This time you would get a "isosurface2" module.Note: in this tutorial, to obtain a better view, we adopt the "temperature" colormap. To do so, first select the "isosurface2" module, then go to the "Properties" window. Right click the color bar under the "Colormap" port, choose "load colormap" option. Then select "temperature.icol". The "Properties" window should look like figure 6

             
                                                           figure 6
    • The network and the visualized figure are shown in figure 7 and figure 8.

             
                                                           figure 7
             
                                                           figure 8
  • step 6: Let's get some steamlines from the generated data object "velocity.Curl".
    • select "velocity.Curl" first. Right click on it, then "Display", then "DisplayISL". We get a new module "DisplayISL".Or after you select "solid.amvelocity.am", you can easily find the "DisplayISL" module on the top of the Pool window.

    • Let's get familiar with this "DisplayISL" module by specify some of its parameters.
      Select the "DisplayISL" module, then go to the "Properties" window. In this example, we set "Num Lines" as 50, "Length" as 50, "Opacity" as 0.8, "Fade Factor" as 0.997 and the "Step Size" as 0.005. Under the "Options" port, select "fade", "lighting" and "animate". Choose "Hide" under the "Seed Box" port. Then, do not forget to click "Apply" after you specify all of the parameters. The "Properties' window should look like figure 9

             
                                                           figure 9
    • the network and the result image are shown by figure 10 and figure 11.

             
                                                           figure 10
             
                                                           figure 11
  • step 7: Now let's add the module which is directly related to our movie generating.
    • right click on "solid.amvelocity.am", then choose "Animation/Demo", then "ObjectRotate". We got a new module named "ObjectRotate".

    • After we select the "ObjectRotate" module, go to the "Properties" window. Click the "Use bbox center" button under the "Action" port and select the "explicit redraw" under the "Options" port. The "Properties" window should look like figure 12

             
                                                           figure 12
    • The net work should look like figure 13

             
                                                           figure 13
  • step 8:

    Exactly the same way, we add a "ObjectRotate" module for "pressure.am" and "velocity.Curl" respectively.
    Note: we have created three display modules: "isosurface", "isosurface2" and "DisplayISL". In order to control the rotation of all of these three module, we need to add a "ObjectRotate" module for each of them.

    • Clearly, we want to make the three display module mentioned above rotate at the same time. Thus, we need only one time port to control all of these three display modules. In order to do that, click the little white sqare located on the most left side of the "ObjectRotate" module, select "Time". Then you will get a link attached with your mouse. Move your mouse to the "ObjectRotate3" module, then click it. The link will finally be created between "ObjectRoate" and "ObjectRotate3". This means the "Time" ports of "ObjectRotate" and "ObjectRotate3" are connected. They will share a same time port.
      Exactly the same, create a link connecting the "Time" ports of "ObjectRotate2" and "ObjectRotate3".

    • In order to show the time, let's add anothe display module. Select the "ObjectRotate3" module by clicking it, then right click it, choose "DisplayTime".
      You can see a time bar appears on the lower left of the image.

    • The final network and visualized figure would look like figure 14 and figure 15.

             
                                                           figure 14
             
                                                           figure 15
  • step 9: Now, let's generate the movie.
    • right click "ObjectRotate3", then choose "MovieMaker". Make sure you choose "stereo side by side" under the "Type" port.
      Note: in this example, we choose the resolution as 640*480. You can specify it as your wish. But if you get problems to play the movie, please check your monitor's resolution. The resolution you specified here should not exceed your monitor's resolution. The "Properties" window should look like figure 16.

             
                                                           figure 16
    • Now, simply click the "Apply" button and name your file, amira will generate the movie for you.

    • The network should look like figure 17

             
                                                           figure 17
  • step 10: You can download our sample movie.
  • Finally, there are one tip you find it useful. If you found your the steamlines vary too quickly even have big jumps, go to your "DisplayISL" module. Make sure the "auto-refresh" button is not on. Otherwise, amira will adopt a different set of seeds to generate the steamlines for different frames. If your steamlines still vary too quickly, go to the console window, type: DisplayISL setAnimationSpeed 1. The number would acctually control the animation speed. Following is the console window.

             
                                                           figure 18

Playing the Movie

Show attachmentsHide attachments
Topic attachments
I Attachment Action Size Date Who Comment
bmpbmp amira.bmp manage 1628.1 K 04 Mar 2008 - 20:35 JieWang  
jpgjpg console.jpg manage 63.6 K 17 Mar 2008 - 16:25 JieWang  
jpgjpg displaytime.jpg manage 36.1 K 05 Mar 2008 - 20:03 JieWang  
bmpbmp isl.bmp manage 1087.0 K 17 Mar 2008 - 16:17 JieWang  
jpgjpg isolines.jpg manage 33.8 K 04 Mar 2008 - 22:36 JieWang  
bmpbmp isosurface1.bmp manage 1071.1 K 17 Mar 2008 - 16:09 JieWang  
bmpbmp isosurface2.bmp manage 1075.8 K 17 Mar 2008 - 16:13 JieWang  
jpgjpg isosurfaces.jpg manage 28.9 K 04 Mar 2008 - 22:09 JieWang  
bmpbmp moviemaker.bmp manage 1071.1 K 17 Mar 2008 - 16:22 JieWang  
bmpbmp network1.bmp manage 994.1 K 04 Mar 2008 - 21:10 JieWang  
bmpbmp network2.bmp manage 1003.9 K 04 Mar 2008 - 21:25 JieWang  
bmpbmp network3.bmp manage 996.1 K 04 Mar 2008 - 21:44 JieWang  
bmpbmp network4.bmp manage 1007.9 K 04 Mar 2008 - 22:08 JieWang  
bmpbmp network5.bmp manage 990.2 K 04 Mar 2008 - 22:36 JieWang  
bmpbmp network6.bmp manage 994.0 K 04 Mar 2008 - 22:47 JieWang  
bmpbmp network7.bmp manage 1009.7 K 05 Mar 2008 - 19:58 JieWang  
bmpbmp network8.bmp manage 1011.7 K 05 Mar 2008 - 21:46 JieWang  
bmpbmp rotate.bmp manage 1071.1 K 17 Mar 2008 - 16:19 JieWang  
jpgjpg whale.jpg manage 34.5 K 04 Mar 2008 - 21:45 JieWang  
movmpg whaletest.mpg manage 5892.7 K 05 Mar 2008 - 22:02 JieWang  
Edit | Attach | Printable | Raw View | Backlinks: Web, All Webs | History: r8 < r7 < r6 < r5 < r4 | More topic actions
 
SCS TWiki

This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback