vol_tools

A set of IDL tools for processing and visualization of 3D tomographic datasets.

 

 


introduction:

The package vol_tools consists of a series of small programs created and maintained by Guilherme Gualda.

These tools are designed to complement the capabilities offered by tomo_display (created by Mark Rivers) and Blob3D (by Richard Ketcham). In combination, these tools allow users without programming knowledge to perform all steps necessary to obtain qualitative and quantitative information using tomographic data.

Existing modules include:
(1) vol_trim and vol_cut_cylinder: for cropping volumes
(2) vol_histogram: for generating histograms of intensity
(3) vol_detect_sample: for sample detection and volume measurement (useful for porous samples like pumice)
(4) vol_diff_shift: for computation of volume differences useful in differential absorption tomography
(5) vol_animate: for generating 3D animations using rendered isosurfaces around objects

All packages use as input reconstructed ‘.volume’ files in the NetCDF format specified by Mark Rivers and written by his write_tomo_volume routine, part of tomo_display. Usetiff_to_volume to convert a stack of slices into a .volume file.

Contact Guil Gualda by e-mail to request a zip file containing all modules of vol_tools.

In order to run vol_tools, you will need IDL Virtual Machine (IDL VM) TM, available for free from here. These tools run on any platform that IDL supports, including Microsoft Windows, Linux, and Mac OS X.

Please cite vol_tools as:
“Rivers ML & Gualda GAR (2009) ‘tomo_display’ and ‘vol_tools’: IDL VM Packages for Tomography Data Reconstruction, Processing, and Visualization. Eos Transactions AGU 90(22), Joint Assembly Supplement, Abstract V13A-06″ Link to abstract


vol_trim:

This program trims a volume and saves it as a new volume with ‘-trim’ appended to the original name. It also saves a plain-text ‘.log’ file with the same name that includes the specified parameters used for trimming.

Open volume
Used to open the volume to be used

Find X, Y
Averages all XY slices of the volume (i.e. the images stacked in the vertical, or Z, direction) and displays the resulting image using Mark Rivers’s image_display tool. The user can use the image to choose the values for trimming.

Find Y, Z
Similar to Find X, Y, but stacks YZ (along one of the horizontal – called X – direction).

Find X, Z
Similar to Find X, Y, but stacks XZ (along the other horizontal – called Y – direction).

Trim volume!
After input of the low and high bounds for trimming in the three orthogonal directions in the appropriate boxes, this button is used to generate and save the trimmed volume and the log file.


vol_cut_cylinder:

This program is similar to vol_trim, but cuts a cylinder rather than a rectangular object as in vol_trim. The resulting volume is saved with ‘-cylinder’ appended to the original name. A plain-text ‘.log’ file is also saved.

Open volume
Used to open the volume to be used

Find X, Y
Averages all XY slices of the volume (i.e. the images stacked in the vertical, or Z, direction) and displays the resulting image using Mark Rivers’s image_display tool. The user can use the image to choose the values for trimming.

Find Y, Z
Similar to Find X, Y, but stacks YZ (along one of the horizontal – called X – direction).

Find X, Z
Similar to Find X, Y, but stacks XZ (along the other horizontal – called Y – direction).

Direction
Specifies the direction which will represent the length of the cylinder.

Cut cylinder!
After input of the low and high bounds for trimming in the three orthogonal directions in the appropriate boxes, this button is used to generate and save the trimmed volume and the log file.


vol_histogram:

Forthcoming…


vol_detect_sample:

Forthcoming…


vol_diff_shift:

Forthcoming…


vol_animate:

This program draws isosurfaces around particles in 3D volumes. The user can:
(a) create up to 4 objects (each object can be comprised of several independent blobs) to be shown on an obj_view window of IDL, in combination or separately;
(b) generate a series of tiffs of a 360º rotation around a vertical axis and then 360º rotation around a horizontal axis;
(c) generate a movie from the tiff files.

Open volume
Used to open the volume to be used

Create object
After reading the volume, the user specifies:
1) NAME: any name the user may use for the object
2) MIN and MAX: lower and upper bound values for thresholding; all values between min and max will be included in the thresholded volume, and the surfaces will be drawn around them
3) DECIMATE: a value between 0 and 100 that specifies the percentage of points to remove from the surface in order to make it less complex; this is a very computer intensive routine, so I recommend using 0, which effectively turns it off and does not decimate
4) SMOOTH: a value between 0 and 100 that specifies the smoothing factor to be applied to the resulting surfaces; with no smoothing, the surfaces become very jagged; values around 10 work well for me
5) COLOR: a choice of color from the drop down menu) that is used to color the surfaces drawn; a new color can only be set by recreating the object
After choosing the values, click on ‘Create object’ to create and display the object. Up to 4 objects can be created at a time.

Generate View
Used to show the isosurfaces in isolation or in combination. Objects whose ‘Include’ check box is checked will be included in the resulting view

Generate Tiffs
Used to generate a series of 720 tiffs at 1º angular displacements from each other, completing two full revolutions, one about a vertical and one about a horizontal axis. Starting and ending point are the same, so the animation can be played as an infinite loop

Generate Movie
Used to generate an MPEG movie from a series of tiffs; use the tiffs from ‘Generate Tiffs’ to generate portable movies that can be watched on media players and included in presentations or websites

Using vol_animate with Blob3D results
To use vol_animate with data processed using Blob3D, select ‘Export Segmented/Separated Data’ in Blob3D and generate a .volume file using tiff_to_volume. Inspect the exported tiffs (using an image processing tool) or the volume created (using tomo_display) and find the values assigned for each phase. There may be a range of values for each phase. Choose min and max such that all values for a given phase are included.

Examples
A few examples of MPEG movies created using vol_animate include:
Gualda&Rivers-JVGR-2006-Movie1.mpg
Gualda-JPetrol-2006-Movie1.mpg
Gualda&Ghiorso-CMP-2007-Video1.mpg
Gualda&Anderson-CMP-2007-Video2.mpg
ELDG_C1-Combined.mpg


tiff_to_volume:

This program takes a stack of tiffs and converts them into a .volume file readable by ‘tomo_display’ and all procedures in ‘vol_tools’ (including ‘vol_animate’). It was particularly created to convert Blob3D output (from ‘Export Segmented/Separated Data’) into a ‘.volume’ format, so it expects the tiff names to end with ‘_’ followed by a sequential number.


 

 

 

 

Created by Guilherme Gualda
http://www.vanderbilt.edu/ees/gualda
Last update: Sep 08, 2011