ImageSurfer.org

University of North Carolina at Chapel Hill

Department of Computer Science and Department of Cell and Developmental Biology

 

 

Home

About ImageSurfer

Fearures

System Requirements

Release Notes

 

Downloads

ImageSurfer

Sample Datasets

 

Support

User Manual

 

About US

People

Funding

Contact us

 

   

ImageSurfer Manual


Table of Contents

  1. Introduction
  2. Loading Data
  3. Loading a Leica Text File
  4. Selecting a Dataset
  5. Rendering Data
  6. Using the Image Viewer
  7. Interacting with Data
  8. Capturing a Slice
  9. Interacting with the Slice Extractor Window
  10. Interacting with the Graph Window
  11. Saving Animations
  12. Saving Images
  13. Saving and Loading Transfer Functions and Camera Positions
  14. Setting Voxel Dimensions
  15. Specifying a Region of Interest

1. Introduction

    ImageSurfer is a software application used to view stacks of images, taken from a confocal microscope, as volumes. The user may choose different views--each offering a different interpretation of the data. In turn, the user may interact with the data as a three-dimensional volume or surface.

    The user may choose to focus on a particular area of the volume by using the slice extractor--a tool used to slice the volume at an arbitrary angle. Within the slice extractor window, if two datasets are loaded, one dataset will be mapped to color and the second dataset will be mapped to a height field, thus allowing the user to view a relationship between two datasets at the same time.

    For analysis, the user may view a graph of data collected along a spline in the slice extractor window. More work is being done on this area of the application.

2. Loading Data

    The first step to viewing a stack of images as a volume is to load the dataset into ImageSurfer. Make sure that the images are in either in grayscale, tiff format or Leica TIFF images (color indexed). If not, many programs, such as Adobe PhotoShop and ImageJ, can easily convert your color images to grayscale, tiff format.

    Load your stack of images by clicking on File->Load Dataset, as shown in Figure 2.1.

    Figure 2.1: Load Dataset

    This will bring up the following window as seen in Figure 2.2. ImageSurfer will automatically fill in the window. However, if you wish to change any of the field, the following steps below correspond to where the information should be entered in Figure 2.2:

    1. Browse for your dataset.
    2. Replace each digit indicating the sequence with a "#" symbol in the file name.
    3. Enter in the number of the image that begins the dataset.
    4. Enter in the number of the image that ends the dataset.
    5. Enter in the stride. For example, if you wish for every other image to be used for recreating the volume, enter in 2. Enter 1 for all images to be used.
    6. Check the Leica Formatted TIFF Images box if the series is an unmodified TIFF images taken from a Leica microscope. If you're unsure, make a guess and if ImageSurfer doesn't render anything when following directions in the Rendering Data section, then load the data again with the opposite of your original guess.
    7. Click Load. Depending on the speed of your computer, this could take several minutes to load.

    Figure 2.2: Load Dataset Window

3. Loading a Leica Text File

    After loading the data, you can load the Leica text file into ImageSurfer. This is an optional step; however, loading the Leica file will allow you to select the correct dimensions for your model. For instructions on how to enter this information in manually see Setting Voxel Dimensions. To load the Leica text file, select File->Load Leica File. This will bring a file browser into view, where you can select your Leica file that describes the dataset you loaded.

    Figure 3.1: Select Series

    After loading the Leica text file, a window similar to Figure 3.1 will be brought into view. Select the name of the series that describes the dataset you loaded by clicking on its table cell followed by clicking on the Make Selection button.

    This will fill in the voxel height and width and the image width according to the series information, thus scaling the model.

4. Selecting a Dataset

    After loading your data as described in Loading Data, select it from the dataset drop-down box, as shown in figure 4.1. Next, click the Accept button to the box's right to load options for the dataset.

    Figure 4.1: Select Dataset

5. Rendering Data

    ImageSurfer provides several options when rendering data. The two main groups of rendering are volume and isosurface rendering. In addition, colored isosurface is a special isosurface that requires two datasets to be loaded. In this section, we'll discuss rendering a dataset as a volume, isosurface, and colored isosurface in the Volume Window.

    5.1 Volume Rendering

      After you have loaded your dataset, you can choose three volume rendering options: volume render, maximum intensity projection, and directly illuminated. You may view the rendering options by clicking on the Rendering Styles drop-down box below, as seen in Figure 5.1.1. If this is your first time, select maximum intensity projection, as it renders faster than the others. Otherwise, select any of the other three volume rendering options. Next, click on the Apply Changes button to render the volume.

      Figure 5.1.1: Rendering Options

      Now that your dataset is rendered, you may wish to change the opacity and color. In the Dataset tab and in the Transfer Function frame, you will see a linear piecewise function with 3 nodes. By moving these nodes up and down, you adjust the opacity levels. A horizontally higher node means those intensity values are more opaque and a lower node means that those values are more transparent. To move the nodes, left click on them and drag mouse cursor to where you want the node to go.

      To change the color of the node, thus changing the color of that intensity value where the node is, right click on the node that you'd like to change and select Choose Color, as can be see in Figure 5.1.2. This will bring up a variety of preset colors for you to choose. Choose the color that you want.

      Figure 5.1.2: Choosing Colors

      There are a few preset color maps from which you can choose. To access them, right click in the transfer function grid, but not on any nodes and select Select Color Map. Click on the color map you'd like to use, as can be seen in Figure 5.1.3.

      Figure 5.1.3: Selecting Color Maps

      Adding and removing nodes can be done by right clicking, just as you did when accessing the preset color maps. However, you will select Insert Color Node instead. This will insert a node on the grid. To remove a node, right click on the node and select Remove Node.

      Experiment with the transfer function. Interesting areas may be spotted easily with the right transfer function.

    5.2 Isosurface Rendering

      Rendering an isosurface may take several minutes depending on your machine. Select the isosurface rendering option, as can be see in Figure 5.2.1.

      Figure 5.2.1: Selecting Isosurface Rendering Option

      After the isosurface has rendered, you may discover that the representation is not accurate. This might mean that you should change the isovalue. Above the Transfer Function, you will see a slider labeled Isovalue. Essentially, this slider indicates at what intensity value the isosurface is calculated. If your dataset has high intensity values, you will need to raise the isovalue. Likewise, if your dataset has low intensity values, you will need to lower the isovalue. See Using the Image Viewer for instructions on selecting an isovalue using the image viewer. If you discover that calculating an isosurface takes too long, see Specifying a Region of Interest for specifying a region of interest that will restrict the region of the value that is visualized.

      When each dataset is loaded, it will be assigned a default color. You can change this color by clicking on the Select Color button. This will bring up a window in which you can choose the color. Select the color that you want the isosurface to be colored.

      In addition, you can also change the alpha value, the opacity, of the isosurface. By moving the slider marked Opacity, you can adjust the opacity. By default, the isosurface is completely opaque. Moving the slider to the left will make the isosurface more transparent.

      After you have made your adjustments, click the Apply Changes button to see your changes.

    5.3 Color Isosurface Rendering

      Before selecting the colored isosurface rendering option. You should have at least two datasets loaded. This isosurface rendering method will render a surface based on one dataset and correspondingly color it based upon a second dataset. After selecting the dataset from which the isosurface will be created, select the colored isosurface rendering option as shown in Figure 5.3.1.

      Below the alpha text box, there will be two combo boxes, labeled Scalar and Geometry. Scalar indicates the dataset that will be used to color the isosurface and Geometry indicates which dataset will be used to create the isosurface. Click in each combo box and select the appropriate dataset, as can be seen in Figure 5.3.1.

      Figure 5.3.1: Selecting Colored Isosurface Rendering Option

      Next, you must select the dataset that will be used to color this dataset. As shown in Figure 5.3.2, select the data that will be used to color the isosurface from the Scalar drop-down box.

      Figure 5.3.2: Selecting Colored Isosurface Settings

      You may wish to adjust the color of the isosurface by using the transfer function, just as you did in the volume rendering. Be sure that you are modifying the transfer function of the dataset used as the scalar dataset by switching to that dataset's options. Unlike a volume rendering, the horizontal location of the nodes no effect on opacity of the surface--only the color of the nodes.

      Click the Apply Changes button to see your colored isosurface.

6. Using the Image Viewer

    To activate the image viewer, click the Select Isovalue button as showing in Figure 6.1. After pressing the button, the first image of the active dataset will be displayed in the image viewer window. By clicking in the image, the isovalue will adjust based on the intensity value under the mouse cursor when clicked. Hint: Select intensities at the edge of the structures for better isosurfaces.

    Figure 6.1: Select Isovalue Button

    Once you're finished, click the Apply Changes button in the Image Slice Explorer.

7. Interacting with Data

    Within the Volume Window, the volume and/or surface can be manipulated using the mouse. Table 7.1 lists the various actions the mouse can accomplish.

    Table 7.1: Mouse Actions

    Action

    Result

    Left Mouse Click While Dragging Rotates the object according to a trackball.
    Center Mouse Click While Dragging Translates the object in the direction of movement.
    Right Mouse Click While Dragging Zooms closer if mouse moves up and zooms farther if mouse moves down.

    In addition to the mouse controls, Table 7.2 lists the actions that take place when a specific key is pressed.

    Table 7.2: Keyboard Controls

    Action

    Result

    w Switches the isosurfaces to a wireframe view. This has no effect on volumes.
    s Switches isosurfaces to a surface view, as opposed to a wireframe view. This has no effect on volumes.
    f Zooms to the point below the mouse cursor and moves the focal point there, meaning the object will rotate about this point now.
    r Resets the camera position to the original position. This resets the focal point as well.
    e Toggles between camera and plan manipulations in the volume window.

8. Capturing A Slice

    If you have two datasets and you want to focus on a specific region, capturing a slice of your datasets using the slice extractor may help you understand how the two datasets interact.

    The extractor moves using the same mouse actions as when moving volumes and surfaces. In order to begin moving the extractor, you must first click on the Volume Window tab near the top of the Image Slice Explorer window or press 'e'. Next, check the box marked Move Slice Extractor in order to begin moving the extractor. Figure 8.1 displays a view of the Volume Window with the Move Slice Extractor box checked. If you wish to move the volume or surface instead, click on this box again to uncheck it.

    Figure 8.1: Volume Window Controls

    Now, with the box unchecked, find the region that you're interested in slicing. You may wish to zoom and set the focal point to this area by pressing f. Once you've found the area that you're interested in, move the extractor to slice that area by using the center mouse button to translate the extractor there. In addition to translating, you will likely need to enlarge the extractor by using the right mouse button and rotate the extractor using the left mouse button. Since the extractor can't be translated into and out of the screen, you will need to uncheck the Move Slice Extractor box, rotate your view of the region (setting the focal point might help there if you haven't done that already) and check the box again.

    Once you have the extractor positioned, select the dataset that you want to want represented by the color and the dataset that you want represented by the height field. Figure 8.2 shows the Slice Extractor Window controls, where you will select which dataset represents the color and which represent the height. After selecting the datasets, click on Capture Slice to view the height field.

    Figure 8.2: Slice Extractor Window Controls

9. Interacting with the Slice Extractor Window

    The Slice Extractor Window will display information from two datasets. One dataset will be mapped to a height field, while the other dataset will be mapped to a colormap as defined by the transfer function. By adjusting this transfer function, you change the colormap with the same functionality to color the height field as you did with the transfer function used by the colored isosurface.

    You can interact with the height field with the same keyboard and mouse controls as those used when interacting with objects in the Volume Window.

    In the Slice Extractor Window, instead of a slice extractor, there is a spline tool with a number of moveable nodes, as seen in Figure 9.1. The purpose of this tool is to capture data along the line, so that the intensity values from the two datasets can be graphed in the Graph Window.

    Figure 9.1: Spline Tool

    By selecting the nodes, represented by balls, you can moves them, thus adjust the spline. Since the height field is curved, it is often easier to position the spline on the identically colormapped flat plane below the height field, so that it intersects the datasets at all points.

    After you have positioned the spline, in the Plot Window tab click on the Capture Graph button to display a graph of the intensity values from the two datasets in the Plot Window.

10. Interacting with the Plot Window

    In the Plot Window tab, there are two fields to which you type labels for the x and y axis of the plot. After typing your labels, click on the Accept button to the lower left to display the new labels in the plot window.

11. Saving Animations

    ImageSurfer will save a sequence of images that you can use to create an animation using software, such as Adobe Illustrator or Bink and Smacker, a free tool for sequencing images. The first step in this process is to set the focal point with the f key, so that the animation will be rotate about the region you're interested in animating or you may leave the rotation to take place around the whole volume or surface. Now, go to File->Save Volume Animation or File->Save Slice Extractor Animation, depending on if you want to save an animation of the Volume Window or the Slice Extractor Window.

    The file name you specify will be appended with a number indicating order the image is in the animation. In addition, you will see the object that you will be animating rotate.

    Now that you have an animation sequence, use the software of your choice to animate the sequence.

12. Saving Images

    Saving images is similar to saving animations. An image of the window that you'd like to save can be selected by going to the file menu and selecting the Save Volume Image, Save Slice Extractor Image, or Save Plot Image. Specify the name of the image, and it will be saved in tiff format.

13. Saving and Loading Transfer Functions and Camera Positions

    You may find that you want to save particular transfer functions that you use often or you may wish to return to a particular area of interest, but want to further explore the volume more. Fortunately, saving and loading are straightforward tasks.

    13.1 Saving Transfer Functions

      Once you have created your transfer function, right click in the transfer function graph (do not right click on the nodes) and select Save Transfer Function, as can be seen in Figure 13.3.1. You may name the file that the transfer function will be saved whatever you like.

      Figure 13.3.1: Saving Transfer Function

    13.2 Loading Transfer Functions

      Now that you've saved your transfer function, you may load the transfer function by right clicking in the transfer function graph (again, do not click on the nodes) and select Load Transfer Function.

    13.3 Saving Camera Positions

      Once you have positioned the camera in a position that you'd like to save, click on the Camera menu and click on Save Camera, as can be seen in Figure 13.3.2.

      Figure 13.3.2: Saving Camera Position

    13.4 Loading Camera Positions

      You may load a saved camera position by clicking on the Camera menu followed by clicking on Load Camera. Using the file browser that appear after Load Camera is clicked, select the file that contains the camera position.

14. Setting Voxel Dimensions

    By setting the voxel dimensions, the visualization's thickness will be adjusted. In your confocal microscope text file, you have information pertaining to the voxel dimensions. Since the length and width of the voxels are the same, you enter it once in the voxel width box. The height of the voxel can be found at the second entry for the stack that you are visualizing. For example, you might see the following lines in the confocal microscope text file:

      Voxel-Width [µm]    0.116257 
      Voxel-Height  [µm]    0.116257 
      Voxel-Depth [µm]    0.407034    
    

    Next, enter the image width from the line a few lines below the voxel information and looks like:

      Format-Width    1024 
    

    After you have finished entering the voxel dimensions, click the Accept button located at the bottom left corner of the Volume Window tab.

15. Specifying a Region of Interest

    Specifying a region of interest can be used to help you focus on a specific area of your volume/surface or speed up rendering by limiting the amount of data used to create the rendering.

    In the Volume Window tab, as shown in Figure 8.1, there are 6 sliders. By moving the sliders, you can adjust a percentage of the visualization that is displayed. For X Min, Y Min, and Z Min, as you move the sliders higher, less of the visualization is shown. For X Max, Y Max, and Z Max, as you move the sliders lower, less of the visualization is shown.

    After you have finished adjusting the values, click the Accept button located at the bottom left corner of the Volume Window tab.

 
     

COME TO SEE US !!!

 

 
   

.

 

 

 

 

We will be at the Neuroscience's 34th Annual Meeting in San Diego from Saturday, October 23, to Wednesday, October 27.

 

 

 

We will also be at Vis 2004, the premier forum for visualization advances in science, in Austin, Texas, October 10 - 15, 2004.

 

 
Newsletter      

Subscribe

Un-Subscribe