1 Introduction

 

 

2. Workflow

3. Installation

4. Loading datasets
4.1 Opening Leica SP2 files
4.2 Opening Zeiss (.lsm) files
4.3 Importing image sequence

5. Deconvolution
5.1 What is deconvolution?
5.2 What is the point spread function?
5.3 How to get the point spread function?
5.4 Deconvolution in ImageSurfer

6. Filtering Data

7. Volume rendering
7.1 The dataset tab
7.2. Rendering mode
7.3 Volume Rendering
7.4 Isosurface Rendering
7.5 Color Isosurface Rendering
7.6 Transfer Function
7.6.1 The transfer function box
7.6.2 The menu

7.6.3 Predefined color map
7.6.4 Changing color
7.6.5 Insert a new node
7.6.6 Opacity nodes
7.6.7 Loading and saving transfer functions

 

 

8 Arbitrary slicing
8.1 The slice extractor
8.2 Capturing a slice

9. Quantification
9.1 Capturing intensity values
9.2 Exporting intensity values

10. Region of Interest

11. Time Series

12. Sharing the data
12.1 Saving images
12.2 Saving animations
12.3 Saving isosurface models

13. Camera options

14. Mouse and keyboard controls

1 Introduction

ImageSurfer is a freeware 3D imaging program supported by the University of North Carolina. It allows investigators to visualize and analyze multi-channel 3D and 4D (time-lapse) volumes. ImageSurfer offers traditional 3D visualization, including directional illumination, maximum intensity projection, direct volume rendering, and isosurface rendering. The software also has a unique colored isosurface mode, to provide a qualitative display of the correspondence between two channels. In addition, ImageSurfer has 3D filtering and deconvolution capabilities.

To cite ImageSurfer in a scientific paper use
Feng D, Marshburn D, Jen D, Weinberg RJ, Taylor RM 2nd, Burette A (2007) Stepping into the third dimension. J Neurosci. 27(47):12757-60.

View of the ImageSurfer Desktop

 

2. Workflow

ImageSurfer Workflow

3. Installation

Imagesurfer runs on Intel or AMD-based systems with Microsoft Windows 2000, XP and Vista 32 (It does not run with Vista 64). ImageSurfer also runs on Mac intel using Parallels Desktop or Vmware fusion. However, it is best to install Windows XP using bootcamp.

Installing ImageSurfer

1) Download
Download the latest release at www.imagesurfer.org

2) Install Software
Start the installation software by double-clicking the downloaded file.

3) Install Microsoft Visual C++ 2005 Redistributable Package
In the start menu go to the NSRG/imageSurfer folder and click on Install VS8 Runtime.

4) Run the software
In the start menu go to the NSRG/imageSurfer folder and click Run Imagesurfer 2.0

Using ImageSurfer with a “3Dmouse”
Six degrees of freedom mouse makes it easier to navigate in 3D space. ImageSurfer supports the SpacePilot (3Dconnexion), a simple and inexpensive six-axis mouse for navigating 3D environments.

To use the SpacePilot:

 

 

1) Start ImageSurfer by clicking on ImageSurfer with tracker.

2) Start the the Magellan server by click on Run Magellan Server.

  ImageSurfer 3D mouse
ImageSurfer SpacePilot   SpaceNavigator

4. Loading datasets

ImageSurfer supports native images from Leica SP2 and Zeiss LSM 510 confocal microscopes. In addition, ImageSurfer can load stacks of individual images sorted according to z-axis position, channels and/or time points.

► Images are loaded with the File/Load… menu.

  ImageSurfer, Images loading menu

 

 

Images loading menu

4.1 Opening Leica SP2 files

► Select File/Load/Leica (.lei File)…

 

 

► Choose a .lei file.

► In the LEI Image Series windows select the serie and channel to be loaded.

  ImageSurfer, Opening Leica SP2 files

 

 

Leica loading menu

Note: Parameters like pixel size or slice distance are read from the .lei file, and automatically set.

4.2 Opening Zeiss (.lsm) files

► Select File/Load/Zeiss (.lsm) file

  ImageSurfer, loading Zeiss (.lsm) files

 

 

Zeiss images brower

4.3 Importing image sequence

A common way to store 3D image data is to write a separate 2D image file for each slice. The 2D images can be written in TIFF, GIF, JPEG, BMP, ASCII, FITS, PNG and PGM.

► Select File/Load/Image Sequence

 

 

Browse to the directory where the files are located (in the example: c:\dataset)

► Choose which files will be loaded by entering any text that must be in the filename in the Filename must contain box (Channel_one, all the files including Channel_one are outlined (active) while other files are greyed out.)

► Enter the number of Time Steps, Channels, and Slices per stack (1 time steps and one channel containing 43 slices).

► Select the order of the images sequence in the Sort Order menu.

Click the load button.

 

 

 

Image Sequence importer browser

Note:
When loading a series of bitmap
images, the physical dimensions
of the images are not known to
ImageSurfer, and therefore need
to be entered manually. Go to the
Volume Tab and fill the Image
Dimensions box
.
ImageSurfer Voxel size
Note:
ImageSurfer automatically splits RGB (color) images into three separate
datasets corresponding to the Red, Green and Blue channels.

5. Deconvolution

5.1 What is deconvolution?

In microscopy, the term "deconvolution" is used to refer to the process of reversing optical
distortions that take place in an optical microscope, electron microscope, or other imaging
instrument, thus creating clearer images.

5.2 What is the point spread function?

The point spread function defines how a point source appears when imaged with the instrument. Ideally a point source would produce a clear one pixel signal on the image but due to the optical effects this is not the case: a point source appear as a complex 3D shape, call the point spread function. The shape depends upon light wavelength, lens numerical aperture, and the optical aberration of the lens. Thus, the point spread function defines the resolution of the instrument (how 'sharp' the images appear and the smallest features that can be resolved). By knowing the shape of the point spread function one can use various algorithms to restore the original undistorted image.  

Point spread function


5.3 How to get the point spread function?

The point spread function can be determined either theoretically or experimentally. Typically, a point spread function can be computed using the numerical aperture of the objective, the wavelength of the emitted light, the XYZ dimensions, the refractive index of the immersion medium, and the thickness of the coverslip. However, even with good theoretical models, the resulting point spread function is not perfect. In particular, it does not reflect lens-specific variations.
Alternatively, the point spread function can be directly measure by imaging a point object. Small fluorescent microspheres (for example the 0.17 µm PS-Speck from invitrogen) and qdots can be use as point-like object.

Garbage in / garbage out !

The quality of the point spread function is critical: noise, aberration, or improper scaling will result in a degraded image not an improved image.
Proper x, y, z sampling of the image to restored is equally important. Sample should be acquire at twice the resolution limit. For example, if you want to image FITC with a 1.4 numerical aperture oil objective, a minimum sampling of 0.11 mm in the x-y plane and 0.4 mm in the z direction is recommenced for image restoration.

5.4 Deconvolution in ImageSurfer

Three deconvolution algorithms are included in ImageSurfer:

  • Wiener filter
  • Constrained iterative
  • Maximum likelihood
► Load a dataset and the corresponding point spread function.
Both dataset must have the same voxel size.

 

 

► In the Dataset Preview Window select the dataset using the Dataset… drop-down menu.

► Select the deconvolution using the Filter… drop-down menu.

►In the Deconvolution Settings floating windows select the point spread function dataset.

 

 

►Choose a deconvolution method

► Once the deconvolution is completed, the restored dataset can be save as an image sequence using the export tab in the Dataset Preview Windows.

6. Filtering Data

ImageSurfer supports several 3D image processing functions to facilitate data visualization.

  • Gaussian: blurs image with a Gaussian function at a user-defined scale sigma.
  • Median: replaces a target pixel's value with the median value of the neighboring pixels. Most useful for removing shot noise, which is noise that appears as random spots in an image.
  • Erosion: replaces a target pixel’s value with the minimum value of the neighboring pixels.
  • Dilatation: replaces a target pixel’s value with the maximum value of the neighboring pixels.
  • Anisotropic diffusion: anisotropically diffuses an image. That is, it blurs over regions of an image where the gradient magnitude is relatively small (homogenous regions) but diffuses little over areas of the image where the gradient magnitude is large (i.e., edges). Therefore, objects are blurred, but their edges are blurred by a lesser amount.

Filters are available from the Dataset Preview Window:

► Select the dataset using the Dataset… drop-down menu

► Select the filter using the Filter… drop-down menu.

ImageSurfer, filter menu

7. Volume rendering

7.1 The dataset tab

The dataset tab allows you to set the 3D rendering options. The following is a list of the components in the "Dataset" tab. Note that these components will activate (become useable) or deactivate (grey out) depending on the rendering style that you choose.

Dataset : Select the active dataset.

 

 

Apply changes: Apply any changes you have made to the other controls in this tab.

Render Style: Select the 3D rendering mode.

Scalar: Select the dataset used for the colorization of the primary dataset during Colored-isosurface rendering mode.

Surface Color: Set the color of the dataset during Isosurface rendering.

Opacity: Set opacity for Isosurface and Colored-Isosurface rendering mode.

Isovalue: Set isosurface value for Isosurface and Colored-Isosurface rendering.

Select Isovalue: Pick isovalues from the corresponding image-stack window.

Transfer Function: Set the LUT for Color-Isosurface rendering, Volume Rendering, Maximum-Intensity-Projection rendering and Directionally Illuminated rendering.

Imagesurfer, dataset tab

7.2. Rendering mode

There are two popular techniques to display objects in 3D: volume rendering and surface rendering. Volume rendering examines the intensity of the objects, darker tissues appear darker than brighter tissue. Surface rendering treats objects as having a surface of a uniform color.
Shading is used to show the location of a light source – with some regions illuminated while other regions are darker due to shadows.

 

Rendering mode

► Select the rendering mode using the "Render Style" drop-down menu.

Don't forget to click the Apply Changes button, to refresh the volume window.

Note: The rendering options for each channel are independent, therefore visualization modes can be mixed.

7.3 Volume Rendering

ImageSurfer provides three volume-rendering options:

 

Direct Volume Rendering

A ‘ray-tracing' technique to apply a transparency/ opacity to each pixel depending on its position and its intensity. It is a very popular 3D technique and produces the nicest images in many situations.

 

 

 

Direct volume rendering

Maximum Intensity Projection

This technique simply plots the brightest voxel in the path of a ray traversing the 3D volume. This technique reveals hidden "hot spots" of density, but is completely ambiguous about the depth of those spots with respect to each other and other structures. One advantage of MIP rendering is that it is fast. Unfortunately, it is impossible to do any sophisticated rendering technique with it, thus the transfer function will not works with this mode.

 

 

 

Maximum Intensity Projection

 

 

Directionally Illuminated

This technique is similar to Direct Volume Rendering, with the addition of shading in the images.

 

 

 

Directionally Illuminated

7.4 Isosurface Rendering

An isosurface is a surface of a single value – the isovalue – in a 3D field. Isosurfaces are the 3D analog of a single-valued contour line in a 2D image. Isosurfaces may form closed surfaces enclosing regions of higher or lower value, but not always.

To generate an isosurface:

 

 

► Select the Isosurface in the "Render Style" drop-down menu.

► Select the isovalue using the slider labeled Isovalue or directly from the image-stack viewer window by Clicking on the "Select Isovalue" toggle button. Thereafter, any time you click in that image-stack window, the isovalue will be set to the value of the pixel you click.

► Select the color of the isosurface by clicking on the Select Color button.

► Select the opacity of the isosurface using the Opacity slider (by default the isosurface is opaque, 100).

► Click Apply Change button

 

 

Isosurface rendering

Rendering can take anywhere from a second to several minutes, depending on the computer.
The generated isosurface may be too complex, thus "overloading" the graphic card or the computer memory; the program will then exit. To avoid this problem you can downsample your images (using ImageJ for example) or try to smooth them using the included 3D filters.

7.5 Color Isosurface Rendering

The colored isosurface mode is designed to provide a qualitative display of the correspondence between two channels. This mode is similar to the isosurface mode, but uses two datasets.
This mode renders an isosurface based on one dataset (the Geometry dataset) and colors it based upon a second dataset (Scalar dataset). This technique provides an overview and a qualitative display of the correspondence between two datasets within the volume.

► Select the first dataset from the Dataset menu

► Select Colored Isosurface in the Render Style menu

► Select the second channel in the Scalar menu

► Click on the Apply Changes button

 

 

Note: The color of the isosurface is derived from the second dataset and is therefore linked to the transfer function of the second dataset. To modify the transfer function, first select the second dataset in the Dataset menu.

7.6 Transfer Function

The role of the transfer function (often called look-up table or LUT) is to map the voxel information to renderable properties of opacity and color. A good transfer function is essential to clearly visualize the feature of interest.

7.6.1 The transfer function box

An intensity histogram (a plot of the number of pixels with a given data value) is displayed as a reference to help locate regions of interest.

 

 

The default transfer function graph is a linear piecewise function with 3 nodes. The nodes can be moved by Left-Click and drag.

 

 

The transfer function box

7.6.2 The menu

 

 

Transfert function menu

► To access the menu Right-Click anywhere

inside the transfer function box, but not on a node.

7.6.3 Predefined color map

 

 

Transfert function color map

Loading a predefined color map

 

 

►Right-Click

► Go to Select Color Map

►Click on a color map name

7.6.4 Changing color

 

 

Right-Click on a node

► Select a color on the color table

► Click OK

7.6.5 Insert a new node

Right-Click where you want to insert the new node.

► Select Insert color node or Insert opacity node.

 

 

Transfert function: insert a node

7.6.6 Opacity nodes

Opacity nodes allow one to set the transparency of a set of intensity values. Opacity nodes can be used to make the background transparent (confocal microscope datasets) or to see the interior of the data volume (MRI). An opacity value of 0 means totally transparent and a value of 1 means totally opaque.

Effect of opacity nodes:

7.6.7 Loading and saving transfer functions

Right-Click

 

 

Go to and Select Load or Save Transfer Function

8 Arbitrary slicing

A "slice extractor" allows one to visualize a cross-section of the volume taken at any orientation.

8.1 The slice extractor

To extract a slice you first need to position the slice extractor tool. The slice extractor tool resembles a plane that can be moved, rotated, and scaled within the 3D display.

 

 

To move the slice extractor go to the Volume Tab, and check the Move Slice Extractor box.

You can also use the e key to toggles between moving the slice extractor and the 3D volume.

8.2 Capturing a slice

 

The controls for the slice extractor are in the Slice Tab.

The captured slice can be visualized as a traditional 2D image or as a 3D-relief representation (topography) in which the image intensity is coded as height. The 2D image is image is visualize as a landscape.

As with the colored isosurface, a 3D relief from one channel can be colorize using data from another channel. This technique provides a far more accurate assessment of colocalization than the traditional red-green-yellow convention.

To capture a slice

► Select the dataset to be visualized as a 3Drelief in the Height Field menu.

► Select the dataset to be used for the colorization in the Color menu. This can be the same dataset as above if you want to visualize only one dataset.

► Enter the scale of the relief in the Height Scale field.
Click on Capture Slice.

► The captured slice will appear in the Slice Extractor Window.

 

Examples of extracted slices:

Position of the slice extractor within the volume

 

Single channel with pixel intensity coded by color. Single Channel with pixel intensity coded by color and height. Double channel, first channel coded by color and second channel coded by height.

Note: The color map of the 3D-relief can be adjusted using the transfer function box at the bottom of the slice tab. This box works the same way as the one in the Dataset Tab.

9. Quantification

9.1 Capturing intensity values

In the Slice Extractor Window a spline tool allows capture of intensity values from the datasets. The spline tool is located at the bottom side of the 3D-relief, and is composed of a curved line with nodes (the grey spheres). The spline can be adjusted by moving the nodes.

 

 

The spline tool

 

Once the spline is in position:

► Go to the Graph Tab

► Enter Titles for the x and y axes in the X/Y-Axis Title Boxes

► Click on the Capture Graph Button to display a graph of the intensity values of the datasets in the Graph Window

 

9.2 Exporting intensity values

The intensity values displayed in the graph can be exported in formats accessible to standard analysis tools.

► Go to the Slice Tab

►Click on Export Resampled Data

►Save the file as name.txt

The resulting file is organized in five columns separated by a comma: the three first columns correspond to the xyz coordinate of the voxel, the next column is the corresponding intensity value for the first dataset, and the last column is the intensity value for the second dataset.

Import the data file in Microsoft Excel

File/Open… (or Ctrl O)

► Select “All Files” in the Files of type menu

► Select the data file (name.txt)

► In the Text Import Wizard -Step 1of 3 select Delimited and click Next

►In the Text Import Wizard -Step 2of 3 select Delimiters Comma

►Click Finish

10. Region of Interest

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

 

To define a region of interest

► Go to the Volume Tab

► Move the sliders to define the region of interest

► Click Accept

11. Time Series

When data has been loaded as a time series, the time series window will display a slider that allows the user to move through or individually select time steps in their data. To play the frames automatically, simply select "play." The user can optionally decide if the subsequent movie should loop or play backwards with the corresponding boxes. To save an animation of the time series, select "save animation." By default, the camera will rotate during the animation. Uncheck "rotate camera" box to disable this function.

12. Sharing the data

12.1 Saving images

Images in the Volume, Slice extractor and Graph windows can be save as TIFF images.

File/Save Image…

12.2 Saving animations

Animation of the volume and slice extration can be saved as series of TIFF images or uncompressed AVI files.

 

 

► Set the center of rotation by setting a focal point. Place the mouse curser at the wanted focal point then hit the f key.

File/Save Animation …

Select a location and key in the file name with .avi at the end to save the file.

12.3 Saving isosurface models

Isosurface models can be saved as WaveFront (OBJ) or VRML 2.0 (Virtual Reality Modeling Language) files. Both file types can be imported into popular 3D rendering programs for further processing or be used to produce interactive documents.

File/Save 3D Model/Save Volume as …

  Note: VRML is a specification for displaying 3D objects on the Web. Think of it as the 3D equivalent of HTML. Files written in VRML have a .wrl extension. To view these files, you need a VRML browser or a VRML plug-in to a Web browser, e.g. Cortona for Internet Explorer or Octaga player.
 

13. Camera options

The position and appearance of 3D volume can be captured and restored at a later time.

Camera/Save-Load Camera……

14. Mouse and keyboard controls

Rotates: Left Mouse + Drag

 

 

Translate: Center Mouse + Drag

Zoom: Right Mouse + Drag, Up = zoom in, Down = zoom out.

     

  Switch the isosurfaces to a wireframe view: w

 

 

Switch isosurfaces to a surface view: s

Zoom and move the focal point to the mouse cursor: f

Resets the camera position and focal point: r

Toggles between camera and slice-plane manipulations in the volume window: e

Comments are closed.