You are here
A Program for COVIS Data Processing
1. About this Program
This standalone C++ program reads time-varying COVIS data and creates a set of metadata (text files) for visualization and data analysis. The program can works with any structured (curvilinear), rectilinear, or image (grid) type of data. It is also trivial to convert the code to run on unstructured data sets too. The visualization module in the framework is separate and uses the created files by this code. The major operations in processing the COVIS data include: (1) identifying and extracting the two major plumes from each data frame in the time series; (2) tracking the extracted plume objects over a pre-specified time range to build their correspondences; (3) finding the centerline of each plume object and further computing some geometric properties; (4) defining a plume bending model to classify plume objects into five bending states by their bending orientations; and (5) calculating occupancy maps to reflect the occurrences of plumes in each voxel of the data frame over all timesteps.
A flowchart of computing plume centerlines from a COVIS data frame
2. About the Data
COVIS data is recorded hourly from a fixed position on the seafloor at a range of 10 to 20 m from a vent cluster of black smokers on Grotto mound, Main Endeavour Field, Juan de Fuca Ridge. Each data frame (dimensions 161×121×181) maps backscatter intensity, which increases from the metallic sulfides and temperature fluctuations within the plume, over a 3D volume. The data can be accessed from the Ocean Networks Canada Data Archive at http://www.oceannetworks.ca. Any questions regarding the data, please contact Dr. Karen Bemis: bemis@marine.rutgers.edu
3. Source Code and Running
Before running the code, there are three third-party libraries or softwares that are needed to install in your machine:
VTK. Several parts of the eddy computation program (e.g., the Marching Cube algorithm) depends on the functions from VTK libraries. The software can be found here.
CMake. CMake is used to build the program into an executable from many modules. If you can write your own makefiles, then you don't need to install CMake. CMake is a cross platform build system. Among other things, cmake will generate makefiles for you. It is particularly useful for large projects, for builds that use lots of libraries, and for dealing with platform-specific compilation issues.The software can be found here and this is an introduction.
Source Code
Compiling and building the program
Step 1: Edit the CMakeLists.txt in the source code folder "../plumecp".
Step 2: Edit the Config.txt in the folder "../plumecp/build".
Step 3: Open the terminal in your computer and go to the directory "../plumecp/build".
Step 4: Type "CMake .."
Step 5: Type "make"
4. Descriptions of the Generated Files
*.trakTable file. Saves the correspondence information of plume objects in the consecutive data frames.
*.poly files. Save vertices of isosurfaces and the connectivity information of these vertices for plume objects in every data frames. These files are used for surface rendering in the visualization.
*.attr files. Save the attributes of each plume objects in details.
*.uocd files. Save data points of plume objects in every data frames. These files are used for tracking in the data processing and volume rendering in the visualization.
5. About the Visualization of Plumes
We developed a browser-based viewer to present the plume metadata computed from COVIS data within web browsers. More information about the viewer and the access can be found here.