Corelyzer User's Manual

Brian Grivna

Version 5, 06.21.2012

Abstract

Corelyzer is a scalable, extensible visualization tool developed to enhance the study of geological cores. The strength of Corelyzer is the ability to display large sets of core imagery, with multi-sensor logs, annotations and plugin supported visuals alongside the core imagery. This document describes how to download, setup and use the software.


Table of Contents

About CoreWall
1. Pre-installation Requirements
Hardware
Example Hardware Setups
ANDRILL - Antarctica Geological Drilling
Electronic Visualization Laboratory, University of Illinois at Chicago
National Lacustrine Core Facility, University of Minnesota
Lamont-Doherty Earth Observatory, the Earth Institute at Columbia University
Software
2. Download and Install Corelyzer
Download Corelyzer
Install Corelyzer
Microsoft Windows Users
Apple Mac OS X Users
3. Start Corelyzer
Setting up the desktop environment
Microsoft Windows Users
Apple Mac OS X Users
Corelyzer Preferences
Directories Panel
Display Preferences
User Interface Preferences
Session Sharing and DIS Preferences
4. Corelyzer Layout
Tool Palette
Session/iCores window
Menus
Local (status)
Subscriptions
Visualization canvas
5. Load Images
Load images from local files
Load Images from online services
Load Images from CoreCast syndication feeds
Subscribe to CoreCast feeds
Load core images from CoreCast feeds
Load images using IODP-formatted section list
Load FMS images from IODP-USIO logging database
6. Load and Plot Numerical Log Data
Native Corelyzer XML Format Dataset Files
Use Quick Data Import
Use Custom Data Import
A step-by-step walkthrough example
Download from IODP-USIO logging database
Plot dataset graph
7. Interactions
Interaction Scheme
Panning
Zooming
Sliding a section
Sliding a track
Manipulating Tracks and Sections
Lock Section
Lock Section Graphs
Graph...
Split...
Properties...
Delete...
Stagger Sections
Trim Sections...
Stack Sections
8. Annotation
Creating new annotations
Reviewing and editing existing annotations
Measuring Mode
9. Save and Load Sessions
10. Corelyzer server and plugin clients
Server setup
Running the server
Running the administration client
Administrator commands
Admin commands reference table
Client plugin in Corelyzer
Example dataset file
Handy scripts
Some notes
11. Fine tune with Correlator
Before start - Download Corrlator and Corelyzer
Interaction flow
Start Corelyzer
Start Correlator
Load log data tables and image list table
Load log data into Correlator plotting area
Connect to Corelyzer from Correlator
Composite depth shifting with core images
12. Frequently Asked Questions (FAQ)
How do I compare two cores?
More question...
A. Appendix
Why is the Image DPI Important?
Making Sure the DPI of an Image is Correct
Corelyzer Data XML Schema

List of Figures

1. National Science Foundation Logo
2. Electronic Visualization Laboratory Logo
3. LacCore Logo
4. Borehole Research Group, LDEO Logo
5. CoreWall Logo
6. Corelyzer Logo
1.1. ANDRILL CoreWall Setup
1.2. EVL CoreWall Setup
1.3. LacCore CoreWall Setup
1.4. LDEO CoreWall Setup
2.1. Corelyzer in Mac OS X
3.1. Display in Control Panel
3.2. Display
3.3. Example desktop configuration
3.4. Arrange desktops with drag-and-drop
3.5. Displays setup in System Preferences
3.6. Arrange tab in Displays setting
3.7. Corelyzer Preferences Window
3.8. Directories preferences
3.9. Display Preferences
3.10. User interface preferences
4.1. Initial Corelyzer screen
4.2. Tool Palette Functions
4.3. Session/iCores window
4.4. Session/iCores feed window
4.5. Visualization canvas with loaded core data
5.1. Select image files to load
5.2. Arrange loaded image files
5.3. Set image properties
5.4. Visualization canvas with loaded core section image
5.5. Online core image service query interface
5.6. Online core image service query
5.7. Add a new feed
5.8. Specify feed URL
5.9. Refresh available lists
5.10. Select to subscribe feeds
5.11. Select core image entries and right-click
5.12. Specify a track to hold selected core images
5.13. Images loaded with iCores feeds
5.14. Select load section list in IODP menu
5.15. Select sections and load images
5.16. Logging DB tab in IODP tables window
6.1. Select "Custom Data Import"
6.2. Data import - file info
6.3. Data range tab
6.4. Field and Unit Labels
6.5. Depth setup
6.6. Fields selection
6.7. Save converted file
6.8. Create a track for data graph plot
6.9. Logging DB tab in IODP tables window
6.10. Main window with dataset loaded
6.11. Opening graph dialog by right-clicking section image
6.12. Graph dialog
6.13. Graph plot with "collapsed" graphs
7.1. Jump to depth dialog
7.2. Section context menu
7.3. Staggering sections
7.4. Stacking sections
8.1. Annotations for core images
8.2. Select create annotation mode
8.3. Select annotation type
8.4. Review and edit a freeform annotation
8.5. Modify annotation marker mode
8.6. Modify region of interest and marker position
8.7. Enable measure mode
8.8. Show measuring history
8.9. Measure on images
10.1. Activate client plugin
10.2. Connect to session server
10.3. Main session client plugin user interface
11.1. Example data and image list files are loaded in Data Manager in Correlator
11.2. The log data file format loaded in Correlator
11.3. The image list file format loaded in Correlator
11.4. Right click on the data entries and click on the "Load" to load the log data into the plotting area of Correlator
11.5. Side-by-side Corelyzer and Correlator with log data plotted
11.6. "Connect to Corelyzer" button in Correlator command window
11.7. Confirmation of unload previously loaded images in Corelyzer
11.8. Creating 2 tie points in Correlator
11.9. Adjusting tie points also updates core images
A.1. Example native Corelyzer data XML file

List of Tables

10.1. Commands reference table
10.2. Handy scripts

About CoreWall

The CoreWall Suite is a collaborative development for a real-time stratigraphic correlation, core description (CD) and data visualization system to be used by the marine, terrestrial and Antarctic science communities. The development will be carried out in broad collaboration with stakeholders in these science communities.

To ensure that the software development does not occur independent of related IT activities, in particular, the development of the U.S. IODP-Phase 2 Scientific Ocean Drilling Vessel (SODV), a Steering Committee will be constituted. The Steering Committee will be comprised of key U.S. IODP and related database (e.g., CHRONOS, SedDB) developers and users as well as representatives of other core-based enterprises (e.g., ANDRILL, ICDP, LacCore). Data will be made available directly from the numerous hard rock and sediment databases or through access provided by a portal such as CHRONOS. CoreWall's software displays section images from one or more cores along with discrete data streams and nested images to provide a robust approach to the description of sediment cores. Split-core surface images are the fundamental template of sediment descriptive work. Loaded horizontally and viewed in high resolution along a sliding plane, features such as lithologic variation, macroscopic grain size variation, bioturbation intensity, chemical composition and micropaleontology are easier to interpret and annotate.

In particular, the CoreWall Suite will incorporate the new Correlator software, the updated version of CLIP (e.g. Sagan and Splicer) that was developed by the Lamont group more than 10 years ago, into a new portable visualization tool that will work across multiple platforms and interact seamlessly with both JANUS (ODP's relational database), CHRONOS, PetDB, SedDB, dbSEABED and other databases. This functionality will result in a CoreWall Suite module that can be used and distributed anywhere for stratigraphic and age correlation tasks. The versatility and flexibility of these enhanced software tools will allow geoscientists to integrate shipboard data entered into the JANUS database with third-party analyses of samples distributed to other scientists or generated by other programs and projects. While doing this, we will abstract the functional algorithms that drive NCLIP into software libraries that will be used in the CoreWall Suite so that they are available for other software development projects that want to build on these modules. In this way, the critical depth mapping functionality and enhancements that resulted in NCLIP will be integrated into the remarkable visualization capability that is CoreWall, which is envisioned to be at the heart of a next-generation suite of tools required by the IODP and other ocean science research programs, as well as ICDP and other terrestrial core-based research programs.

CoreWall's high-resolution tiled LCD display gives geoscientists a large-scale perspective, helpful in processing and comparing high-resolution digital line-scan images of cores measuring up to hundreds of feet long. A prototype desktop environment for CoreWall is Personal GeoWall2 (PG2) , a system that uses a single computer to drive four LCD panels as well as a single-screen stereo GeoWall display.

CoreWall Affiliate Partners

Oceanleadership Consortium
USIO Science Services, TAMU: Integrated Ocean Drilling Program at Texas A & M University
CHRONOS
ANDRILL: Antarctic Geological Drilling Program
LacCore: U.S. National Lacustrine Core Repository at University of Minnesota
Electronic Visualization Laboratory, University of Illinois at Chicago

Corelyzer is being developed by the University of Illinois at Chicago’s Electronic Visualization Laboratory with funding provided by the National Science Foundation under the agreement number OCE-0602121.

Figure 1. National Science Foundation Logo

National Science Foundation Logo

Figure 2. Electronic Visualization Laboratory Logo

Electronic Visualization Laboratory Logo

Figure 3. LacCore Logo

LacCore Logo

Figure 4. Borehole Research Group, LDEO Logo

Borehole Research Group, LDEO Logo

Figure 5. CoreWall Logo

CoreWall Logo

Figure 6. Corelyzer Logo

Corelyzer Logo

Chapter 1. Pre-installation Requirements

Hardware

Corelyzer takes advantage of hardware-accelerated graphics. While a primarily 2D visualization program, Corelyzer uses OpenGL to accelerate the rendering and take advantage of modern day graphics boards. This means that the performance of the application is not only dependent on the speed of your CPU but also the power of your Graphics Processing Unit (GPU). Any modern day graphics card that can run video games from a few years back can easily run Corelyzer. Currently the leaders in graphics card technologies are Nvidia and ATI.

Corelyzer can use lots of hard drive space and main memory. It is recommended to have at least 2GB of RAM on your machine if you intend on looking at a hundred meters of high-resolution core images, or more. Also note that Corelyzer does not currently support heterogeneous display settings. This means that if you have a monitor that only goes up to 1280x1024 and another at 1600x1200, you will have to choose one or the other when setting up your Corelyzer display settings when running the application.

Example Hardware Setups

Corelyzer will work on most laptops or desktops built since ~2005, running Mac OS 10.5 or higher or Windows XP or higher, and is compatible with both 32-bit and 64-bit systems. To maximize performance, we suggest prioritizing high-end 3D graphics cards, processor speed, and RAM (in that order). Solid-state drives may offer a further performance boost. Larger monitors give more workspace and a better view, but performance does degrade somewhat as each monitor is added to the system. In multi-panel setups, monitors with thin bezel (border/edge strip) will provide a better experience. Some examples of CoreWall setups are described below. For more information, please contact the people listed.

ANDRILL - Antarctica Geological Drilling

ANDRILL's CoreWall Hardware Spec: an Apple Mac Pro with nVidia Quadro FX 4500 graphics card. 2 30" Apple Cinema Displays. Contact: Josh Reed

Figure 1.1. ANDRILL CoreWall Setup

ANDRILL CoreWall Setup

Electronic Visualization Laboratory, University of Illinois at Chicago

EVL's CoreWall Hardware Spec: a Dell Pentium 4 XPS PC with 3 PCI nVidia Quadro FX500 graphics cards. 5 20" ViewSonic LCD Displays. Contact: Andy Johnson

Figure 1.2. EVL CoreWall Setup

EVL CoreWall Setup

National Lacustrine Core Facility, University of Minnesota

LacCore's CoreWall Hardware Spec: Dell Precision T3500 with Intel Xeon W3550 3.0GHz / 8M L3 processor at 4.8 GT/s, 4GB 1066MHz DDR3 SDRAM, dual 768MB NVIDIA Quadro FX1800 graphics cards running 4 x 30-inch Dell displays. WinXP. Contact: Anders Noren

Figure 1.3. LacCore CoreWall Setup

LacCore CoreWall Setup

Lamont-Doherty Earth Observatory, the Earth Institute at Columbia University

LDEO's CoreWall Hardware Spec: a Mac Pro with 4 nVidia GeForce 7300 GT graphics cards. 6 Apple 23" Cinema Displays. More Information Contact: Sean Higgins

Figure 1.4. LDEO CoreWall Setup

LDEO CoreWall Setup

Software

Corelyzer makes use of the Java Runtime Environment (JRE). The current version of Corelyzer requires Java 1.7 or greater, which can be downloaded here.

Chapter 2. Download and Install Corelyzer

Download Corelyzer

You can download copies of the application for the following platforms at the main download page: http://www.corewall.org/downloads.html .

Install Corelyzer

Microsoft Windows Users

Extract the downloaded .zip archive by right-clicking the file and select "Extract All...". Extract Corelyzer to the desired directory and double-click the Corelyzer icon to launch.

Apple Mac OS X Users

If you use Safari browser, the application should be downloaded and extracted in your "Downloads" directory. If you use other browsers, please unzip the downloaded file (double-click it) and you will get the application.

You can drag-and-drop the application in your preferred disk location like the “/Applications” directory or even your Desktop. Double click the icon will launch the Corelyzer program.

Figure 2.1. Corelyzer in Mac OS X

Corelyzer in Mac OS X


Chapter 3. Start Corelyzer

Setting up the desktop environment

Before we start Corelyzer, we must first make sure our display settings are correct. On both the Mac and Windows, the default monitor should be the “upper left most monitor”.

Microsoft Windows Users

To setup the monitors on Windows, you must first go to your "Display". You can do this by going to the Start menu, selecting "Control Panel" and double-clicking on "Display".

Figure 3.1. Display in Control Panel

Display in Control Panel


Once opened, please go to the Settings tab. Here you will see boxes with numbers representing the monitors connected to your machine. If you have a monitor that is not displaying your desktop then it will show up as a slightly grayed-out box, indicating this monitor is disabled. If the box indicates the monitor is disabled and you click on the box, you will be able to modify the options for that monitor. To enabled the monitor, make sure that the check box next to Extend my desktop... is checked. Do this for all the monitors you would like to use, presumably all of them. Once you have done that, click on the Apply button. If you did this correctly, your desktop should be visible on all the monitors.

Figure 3.2. Display

Display


Note: Some monitors need to be turned off and on again to realize that they are enabled by Windows. Now that the desktops are visible on your monitors, you will need to set the display resolution for all of the monitors. Corelyzer requires that all monitors use the same resolution. Example resolutions are 1280x1024 and 1600x1200. There is a slider on your display settings dialog to modify the resolution. Once set for all monitors, click on the Apply button again. If you are prompted to restart your machine in order for the changes to take affect, then do so. Otherwise, the resolution of your monitors will change and you will be prompted to keep the settings or change them back.

Note: If your monitors do not support a particular resolution they will likely display that or they will stay black. If you do not like your settings, wait for some time and Windows will revert back. After you have enabled your monitors and configured their display settings, you should make sure that the layout of the monitors matches the layout of the boxes in your display settings. First we need to identify which box represents which monitor, and we can do this by seeing what number has been assigned to each monitor by Windows. To do this, click on the Identify button. When you do this, your monitors will display a number indicating which box refers to which monitor. If your monitors are ordered differently than the boxes that are shown on your display settings, then you will need to re-arrange your monitors. This is easily done by clicking and dragging the boxes in your settings window. Again, you should make sure that the upper left most box matches with your upper left most monitor and that monitor is enabled as your Primary Monitor.

Note that the desktop numbering in Microsoft Windows depends on the order in which you've connected monitors to your graphics card(s). It may not appear in ascending order from left to right. All you have to make sure is the ordering is matched in the onscreen identify result and the display properties display, as shown in the following two screenshots.

Figure 3.3. Example desktop configuration

Example desktop configuration


Figure 3.4. Arrange desktops with drag-and-drop

Arrange desktops with drag-and-drop


Apple Mac OS X Users

To setup your monitors on your Mac you will need to get to the display settings. To do this, open the Apple menu in the upper-left of the screen and select "System Preferences". Then choose "Displays" and you will see a dialog window on each monitor that is connected to your machine.

Figure 3.5. Displays setup in System Preferences

Displays setup in System Preferences


Make sure the display resolution on each monitor is the same. After fixing the resolution, go to your main window and select the "Arrangement" tab. You will then see a layout of boxes that indicate how your monitors are laid out. Unfortunately there is no way to identify which monitor is represented by which box, as you can on Windows. You will need to arrange the boxes to match your monitor arrangement.

You will have to make sure the upper left most monitor in your arrangement will be the main monitor. On the Mac, the main monitor is visible in the Arrangement tab as the box that contains a white rectangle along the top of the box. To designate a different monitor to be the main monitor, simply drag the white rectangle to the box that should be the main monitor. This white rectangle is actually the menu bar you see on top of your monitor. Once the rectangle has been moved, the menu bar will also move.

Figure 3.6. Arrange tab in Displays setting

Arrange tab in Displays setting


If you are making a presentation then you may want to mirror your display, but normally you don't want to mirror your display so that you will have more screen real estate to view your core images and data.

Corelyzer Preferences

To launch Corelyzer, double-click on the Corelyzer icon. If you're launching Corelyzer for the first time, the Corelyzer Preferences dialog will appear, in which you can specify your scratch disk location, display settings, and user interface features.

Figure 3.7. Corelyzer Preferences Window

Corelyzer Preferences Window


Directories Panel

Image Block Directory: The first time you load a core section image, Corelyzer processes that image into a series of "blocks": sub-images at low, medium, and high resolutions. This processing is done in order to improve performance. Because this initial processing takes a fair amount of time, the "blocks" are stored locally in this directory for future use. Download Directory: In this directory, Corelyzer stores local copies of images downloaded from remote servers.

Figure 3.8. Directories preferences

Directories preferences


Display Preferences

Here you can set the display configuration that Corelyzer will use. More often than not you will have it match the display configuration you setup with your operating system (See above sections). After establishing inital settings, Corelyzer will load the saved configurations on future launches without popping up the preferences window.

  • Rows, Columns: define how many monitors do you have and how they are arranged.

  • Screen Width, Screen Height: define the size of a single monitor in pixels. If you start the Preferences configuration for the first time, the full screen dimension will be used.

  • Screen DPI X, Screen DPI Y: DPI stands for "dots per inch". These defines the mapping from pixels to physical measurement. In most cases, you can leave them as default values.

  • Column Offset, Row Offset: Defines the offsets of the visualization area from the origin (upper-left corner of the primary monitor).

  • Border Tickness: The visualization takes into account the monitor border in tiled displays setup. In most cases, you can leave them with the default values.

Figure 3.9. Display Preferences

Display Preferences

User Interface Preferences

  • Auto check version in startup: Corelyzer will automatically check for a newer version of the software at launch.

  • Lock depth of core section images after loading: cores loaded while this option is enabled cannot be moved up or down stratigraphically.

  • Use Quaqua look and feel: when enabled, makes user interface elements like buttons and checkboxes look more "Mac-like" in OS X 10.3 and earlier.

  • Double-clicking section name zooms to that section: double-clicking the section name in the session/iCores window shows the entire section at the highest zoom level that can accommodate its length.

  • Show crosshair at origin: show the visualization canvas' origin axes.

  • Show labels for sections with data but no image: show section label for dummy sections (those with plotted data but no image).

  • Canvas always draws below external application windows: windows of non-Corelyzer applications will always draw below the visualization canvas. We recommend disabling this option.

  • Scroll wheel/gesture zooms in Vertical Depth Mode: in Vertical Depth Mode, scroll wheel or gesture will zoom/unzoom when this option is enabled. If disabled, they will pan along the depth axis.

  • Horizontal or Vertical Depth Mode: defines the depth orientation. In Horizontal Depth Mode, depth increases from left to right. In Vertical Depth Mode, depth increases from top to bottom.

  • Canvas background color: defines the background color of the visualization canvas.

  • Canvas grid: enable/disable and defines the background measurement grid parameters. In "Grid Type", 5 types of grid are supported: Basic Cross, Horizontal Lines, Vertical Lines, Points and Cross Points.

Figure 3.10. User interface preferences

User interface preferences

Session Sharing and DIS Preferences

These 2 preference tabs customize functions for session sharing and default annotation dictionary definition. You can use the default values.

Chapter 4. Corelyzer Layout

Once the OK button is clicked in the initial preferences configuration, a window (or multiple windows) will be created, according to your configuration, for the visualization display.

Figure 4.1. Initial Corelyzer screen

Initial Corelyzer screen

Corelyzer has three primary windows:

  1. Tool Palette

  2. Session Window (aka "iCores")

  3. Visualization Canvas

Tool Palette

Figure 4.2. Tool Palette Functions

Tool Palette Functions

The Tool Palette contains frequently-used functions and modes. In a multi-display setup, the Tool Palette will follow the cursor from one display to another.

The Tool Palette buttons, from left to right:

Interaction mode:

  • Normal mode: Use drag-and-drop mouse gesture to pan and the mouse scroll wheel to zoom/out the visualization area.

  • Create annotation mode: Crop a rectangle area to create annotation over loaded core images.

  • Modify annotation marker mode: Select and highlight a created annotation to modify circled area and the annotation flag icon's position.

  • Measure mode: To specify the start and end of an interested segment. The physical measurement will be calculated based on the mapping information specified in the Display settings of Preferences configuration.

Cursor type:

  • Regular navigation cursor: Only the mouse cursor will be displayed in the visualization canvas.

  • CrossHair cursor: In additional to the mouse cursor, a crosshair indicating the current depth will be displayed in the visualization canvas.

Common system actions:

  • Show/Hide main window: Show or hide the session/iCores window.

  • Minimize Corelyzer: Minimize all Corelyzer windows.

  • Quit Corelyzer: Close Corelyzer application.

Session/iCores window

The main session/iCores window is used to manage sessions, tracks, section images, and datasets.

Menus

The menubar has "File", "Edit", "Share", "Plugins", "Lists", "Tools" and "Help" menus. Each menu option will be described in later chapters.

Local (status)

Clicking on the "Local" item in the "My Core Repository" panel will show the currently-loaded sessions, tracks, core sections, datafiles and the fields available in each dataset. Corelyzer can have multiple sessions, each containing multiple tracks, sections, and datafiles.

Figure 4.3. Session/iCores window

Session/iCores window

Subscriptions

Corelyzer supports core data list syndication (CoreCast) via Atom feeds. If you subscribed to feeds, they will be attached to the "Subscription" label in "My Core Repository". Clicking on the subscribed feed entry will show the core summary in the right hand panel as pictured below.

Figure 4.4. Session/iCores feed window

Session/iCores feed window

Visualization canvas

Core images, plotted data, etc. are displayed on the visualization canvas.

Figure 4.5. Visualization canvas with loaded core data

Visualization canvas with loaded core data

A screen capture video of start and quit Corelyzer can be found in this link online (size: 1.2MB).

Chapter 5. Load Images

Before you proceed, make sure you know the following properties of the images to be loaded:

  • Orientation: Are the images horizontally or vertically oriented? For horizontally-oriented images, depth is assumed to increase from left to right. For vertically-oriented images, top to bottom.

  • Resolution: What's the resolution of the images in dots-per-inch (DPI)?

Corelyzer requires these properties to process and render section images at the correct scale.

How do you determine the DPI of your image? This depends on the equipment in which the image was retrieved. Most line-scan cameras that are manufactured for the creation of high-resolution images of core sections indicate DPI on their packaging, but it seems that many don't save in the expected DPI. One method of ensuring a correct DPI is described in Making Sure the DPI of an Image is Correct. When loading images you can also specify the length of a core section image, from which Corelyzer can calculate the appropriate DPI value.

Load images from local files

To start the image loading process, select the menu item "File > Load Images > Open Local Image Files...". Choose the files you wish to load in the resulting dialog:

Figure 5.1. Select image files to load

Select image files to load


By default, Corelyzer displays core imagery by placing section images in horizontal tracks. Each track corresponds to a single hole. After images to load are selected, Corelyzer will attempt to organize these images into new and/or existing tracks based on image filenames and existing track names (if present). The following dialog displays the suggested organization and allows the user to modify it as needed.

Figure 5.2. Arrange loaded image files

Arrange loaded image files


In Figure 5.2, note that the seven loaded sections have been organized into three tracks. Tracks are indicated by "Track" prefixing their name and a beige background. Note that all sections and tracks have a green dot to their left indicating that they've just been loaded (sections) or created (tracks). Most operations in this dialog apply only to these new tracks and sections. To adjust the structure and arrangement of tracks and sections, use the buttons described below:

  • Move Up/Down: Move selected sections up/down within a track or between tracks.

  • Delete: Remove selected section or track from the list. Tracks containing sections cannot be deleted until emptied.

  • Rename Track: Rename selected track.

  • New Track: Create a new track.

Once the arrangement of sections and tracks is satisfactory, input your images' DPI values in the DPI X/Y fields. Because DPI X and DPI Y are almost always the same, the value entered in the X field will be immediately copied into the Y field if it's blank. Orientation defaults to Horizontal, change it to Vertical if necessary. Now that image properties and section order have been established, Corelyzer can place sections in appropriate tracks and position them end-to-end. To proceed, click the "Next >" button. The resulting dialog allows the user to review and modify image properties, if necessary:

Figure 5.3. Set image properties

Set image properties


As you can see in the (rightmost) Depth column, the first three sections start from depth zero: each is the first section in a new track. The last four sections are part of the third track: each is placed at the bottommost depth of the preceding section.

The section image properties can be modified individually by selecting the cell you wish to change and hitting the Return/Enter key, or by double-cliking the desired cell. To modify a value(s) for multiple sections, you can use the Batch Input controls below the section property table. Check the "Batch input..." checkbox to enable the controls, and enter the desired settings. If you want to apply these settings to all sections in the table, click the Apply to All Rows button. If you want to apply these settings only to certain sections, select those sections in the section property table, then click the Apply to Selected Rows button. In both cases, only populated fields will modify the corresponding table cells.

If you modify DPI values on the depth axis (DPI X for horizontal images, DPI Y for vertical), section lengths and depths will be updated automatically so sections in each track are positioned end-to-end when loaded.

When you are satisfied with the image properties, click the Finish button. Corelyzer will begin loading images with the specified parameters.

Once completed, the visualization window will display core images and the Section listbox in the main session/iCores window will update with the image filenames loaded in each track. Notice in the image below that the ruler in the core image closely matches the depth measurements at the bottom of the visualization window. This visual check is an excellent way to confirm the proper DPI values were used.

Figure 5.4. Visualization canvas with loaded core section image

Visualization canvas with loaded core section image


Load Images from online services

Corelyzer includes a simple interface to retrieve high-resolution core section images from online services like the IODP's Janus database and LIMS service.

Currently, Corelyzer supports three online core image services: JANUS database with CHRONOS service, IODP LIMS on-shore database, and the IODP LIMS on-ship database. For two IODP LIMS services, the query web service protocol is used to retrieve core images' metadata. Corelyzer uses the CHRONOS web service's capabilities to access JANUS and retrieve the URLs to the images. Because IODP images are vertically oriented, Corelyzer will rotate the images 90 degrees counter-clockwise. This plugin accurately positions core sections by using the CHRONOS web service to access the curated length and top depth (mbsf) of each core section image.

The user interface has been designed in a stream-lined manner. To bring up the plugin select the menu item File->"Show IODP lists..."->"Image list from services" tab. In order to get an image listing and load selected images:

  1. Select which online service to use. Currently CHRONOS, on-shore LIMS and on-ship LIMS services are available.

  2. Enter an IODP site to search for (e.g. site number 1215)

  3. Click on the Search button. A listing of core section images should become available

  4. You can optionally input the depth range to filter the returned available image section in the result table. Depth range should be input as string like "0-20", meaning only image sections with top depth zero to twenty meters (mbsf). The default value 0.0 will list all image sections returned by the online service.

  5. Select the images to load

  6. Click on the "Load selected image files" button

  7. Image files will then be downloaded, processed, and displayed. A progress bar indicating the status will update during the process in the session/iCores window.

Each loaded image will be placed in the session and track named with the combination of "leg", "site", "hole" and "core" metadata information from the online core image server.

Figure 5.5. Online core image service query interface

Online core image service query interface


Figure 5.6. Online core image service query

Online core image service query


A screen capture video of these actions can be found in this link online (size: 1.6MB).

Load Images from CoreCast syndication feeds

Corelyzer supports core data list syndication (CoreCast) via Atom feeds. If you subscribed to feeds, they will be attached to the "Subscription" label in "My Core Repository".

Subscribe to CoreCast feeds

First, show the session/iCores window (if necessary) with the Show/Hide button in the Tool Palette. Then click on the plus icon to add a new feed.

Figure 5.7. Add a new feed

Add a new feed


If you know the feed's URL, enter the URL in the popup dialog. Otherwise, you can click on the "Browse" button to list available feeds.

Figure 5.8. Specify feed URL

Specify feed URL


Here the "Browse" button is clicked. Next click on the "Refresh" button to show available feeds.

Figure 5.9. Refresh available lists

Refresh available lists


Check the desired feeds, then click on "OK" to subscribe to them. These feeds will be added to the main session/iCores window. Selecting a feed under the "Subscription" label will display the list of core images in the feed. Clicking a core image entry will display a summary report of the image in the panel below.

Figure 5.10. Select to subscribe feeds

Select to subscribe feeds


Load core images from CoreCast feeds

Select one or more core images of interest and right-click to see available options.

Figure 5.11. Select core image entries and right-click

Select core image entries and right-click


Select "Load" to download and load selected core images into Corelyzer. Select or fill in the intended track name for the selected core images.

Figure 5.12. Specify a track to hold selected core images

Specify a track to hold selected core images


Clicking "OK" will start the download and load process. Click on the "Local" label at the left hand side to see if the selected sections are loaded.

Figure 5.13. Images loaded with iCores feeds

Images loaded with iCores feeds


A screen capture video of these actions can be found in this link online (size: 10MB).

Load images using IODP-formatted section list

Click on the meun "File" -> "IODP" -> "Load section list" and select a section list file in format like example file (remote image files) and example file (local image files) will load and show the content of the list as shown in the following screen captures.

The section list file can be generated by any text editor or Excel. You will have to save the file as "tab-separated format". The file will need to include the following columns, in order:

"Leg"
"Site"
"Hole"
"Core"
"Type"
"Section"
"TopOffset"
"BottomOffset"
"Depth"
"ImageLength"
"Image Source URL"

The "TopOffset" and "BottomOffset" columns are not currently used, so any placeholder value (e.g. 0.0) is acceptable.

Select the section(s) to be loaded, then click on the "Load selected section" button to begin downloading and loading section images into Corelyzer.

Figure 5.14. Select load section list in IODP menu

Select load section list in IODP menu


Figure 5.15. Select sections and load images

Select sections and load images


Load FMS images from IODP-USIO logging database

The Integrated Ocean Drilling Program, United States Implementing Organization provides the logging database accessing service described in the webpage. The service serves not only numerical data but also some Formation MicroScanner (FMS) represented in image form stored in GIF format.

To load FMS images from the IODP-USIO logging database, select the "IODP" meun item from the "File" menu and then select "Show IODP lists...". Then clicking on the "Logging DB" tab in the popup window as shown in the following figure.

Figure 5.16. Logging DB tab in IODP tables window

Logging DB tab in IODP tables window


Depending on where you're running Corelyzer, you can choose to access the on-ship version or the Internet version of the service. The on-ship version will use the service provider URL "http://loa.ship.iodp.tamu.edu/services/" and the Internet version will use the service provider URL "http://brg.ldeo.columbia.edu/". Once the service provider is selected, the available site and tool options will be downloaded and populated in the selectable combobox options. Or you can also type in interested site and tool and then click on the "Search" button to search for available data. The search result will be shown in the table rows below. You can use mouse to highlight multiple rows and click on the "Load selected data files" button to download and load the data/image files.

For FMS images, since the depth and length information is not directly available, Corelyzer will attempt to load these images by guessing from their file name. For example a FMS image file named "306-642E_p2_D_372_442.gif" will be parsed and implies that the FMS image will contain data from 372 to 442 meters. Corelyzer will use these two values to determine the depth and length of the interval of interest. Be aware that the FMS images are not cropped to the exact range, and there are white space form borders around the image, so the estimation may not be accurate. Image properties can be fine-tuned in the Properties dialog, opened by right-clicking a section image and choosing "Properties...".

A screen capture video of these actions can be found in this link online (size: 6MB in 1920x1200 resolution).

Chapter 6. Load and Plot Numerical Log Data

Native Corelyzer XML Format Dataset Files

Corelyzer loads data using the Corelyzer data XML schema (see appendix). A Corelyzer XML format datset file can contain multiple fields in a single file. Data files can be loaded at anytime during the execution of the program. To do so you will need to choose the menu item under "File -> Open Dataset Files" and a file selection dialog will appear. Corelyzer data files are in XML and properly have a .xml extension appended to them.

Once a data file is selected, the Corelyzer application will process the data and then update the Dataset and Fields list boxes (click on the "Local" label in "My Core Repository" to show the lists). If you load up multiple data files, you can click on a dataset to view what fields were retrieved from the data file.

A screen capture video of these actions can be found in this link online (size: 868KB).

Use Quick Data Import

In many cases, numerical data are a list of depth-value pairs for a single property. Use the "Quick Data Import" function, you can import data files that can be easily edited or generated by external programs like spreadsheet or even raw text data files generated by multiple sensor core loggers. The "Quick Data Import" function will accept plain text files that follows the format described below.

The plain text file should be in tsv (Tab-Separated-Values) or csv (Comma-Separated-Values) formats (filename ended with .csv or .tsv). The first line of the file will describe the meaning of the values and its contents will also be used for data field labels. The rest of the file should be one depth with multiple values per line. And example .tsv plain text file might look like this (values separated by tabs):

MyDepth	Cr	Mg
m	mg	ion
0.1	0.1	0.4
0.2	0.3	3.2
0.3	0.5	-2.9
0.4	3.2	4.22
0.5	-2.1	-2.48
0.6	4.7	-1.90
0.7	-6.2	7.2
0.8	1.33	5.0
0.9	4.23	2.2
1.0	5.0	-1.0          
        

To use "Quick Data Import", select the menu item from the "File" menu. Corelyzer will popup a file selection dialog to select the text file in the format described above.

A screen capture video of these actions can be found in this link online (size: 665KB).

Use Custom Data Import

In the case your data file is not in Corelyzer dataset XML schema yet, you can use the “Custom Data Import” feature under “File” menu to specify few parameters and have the program to convert your data file into Corelyzer dataset XML format. A user can convert a plain text tabular data file or a Geotek generated data (after pre-processing and data cleaning) to Corelyzer XML data format and directly imported into Corelyzer working session.

Import parameters:

  • File name: Original input file name. Use "File..." button to select your input file.

  • Field Separator: Input what is used to separate each fields in the input file. Commonly used separator might be comma(,) for CSV file. Or Tab(type in \t) delimited file.

  • Section Prefix: The prefix used for naming each section

  • Start Line Number: In the input file, the starting line number of data values, starting from 1.

  • End Line Number: In the input file, the ending line number of data values

  • Fields Label Line Number: What is the line number for labels of each value in columns.

  • Unit Label Line Number: What is the line number for units of each value in columns. If there is no such line, just input the same line number as "Field Label Line Number"

  • Name Column Number: Which column field should be picked used as the name of section. The final section name will be composed with "Section Prefix" and "Name Column Number". A simple comma separated expression is allowed to compose the section name.

  • Depth Column Number: Which column will be treated as depth values. Column index starts with 1.

  • Select Value Columns: From previous inputs, the field labels will be identified. Then you can check which fields do you want to select to the final dataset file.

A step-by-step walkthrough example

Next is a step by step walkthrough example. The example source data file is downloaded from IODP Log database at Lamont-Doherty Earth Observatory, Columbia University. The data file used in this example is 763B-ngt.dat. The resulting Corelyzer dataset file is output_data.xml.

Select the "Custom Data Import" from the "File" menu.

Figure 6.1. Select "Custom Data Import"

Select "Custom Data Import"


The selected file will be loaded into "Plain Text Data Import" dialog. The upper half of the dialog shows different data format parameters in tabs. The lower half shows the content of the text file with line number attached to the beginning of each line.

In the "File Info" tab, the selected file will be shown and you have to select from one of the available separator (comma, tab or space). In the this example, tab separator is selected.

Figure 6.2. Data import - file info

Data import - file info


Because some text files will have certain number of comments lines in the header to describe the data file. In the "Data Range" tab, you can specify the actual data line range. Notice that the first number in each in the lower "File Content" panel shows the line number starting from one. In this example, the actual data starts from 6th line till the very end of the file (line 1586). In some equipments, bad or invalid values will be recorded during data acquisition with some fixed numbers like -999.99. If you want to ignore these bad values, check the "Ignore some bad values?" checkbox and type in the designated value.

Figure 6.3. Data range tab

Data range tab


Next, you need to specify the lines showing the labels for fields and units. If the data file does not have the unit label line, just select the same line as the field label. In this example 5th line shows the labels for data fields.

Figure 6.4. Field and Unit Labels

Field and Unit Labels


Next, depth information parameters have to be specified. You have to specify which column means depth. In this example, the depth is in the first column.

In the "Depth Mode" selection, you can select from either "Section Depth" or "Accumulated Depth". "Section Depth" means the depth values are measured from the beginning of each section that the data are acquired from. "Accumulated Depth" means the depth is measured from the bottom of the sea/lake floor.

Because internally Corelyzer arranges depth values into sections, it in one way fits how certain parties obtain the data from sections of cores. In the other way, it helps renderning performance. So if the "Customize Section Name" is not checked, the data will be put into sections suffixed with section numbers automatically. If your data files has section information embedded (like data files from LacCore repository), or you have your own section naming convension, you can customize your section names with "Section Prefix" and "Name Column Number".

For example, if you have a data file looks like this:

Geotek MSCL Version 3.0 - GLAD4-HST03-1A.OUT created at 12:37:15 on 08-21-2003.,,,,,,,,,
...
SB DEPTH  ,SECT NUM  ,SECT DEPTH,ST        ,PWAmp     ,PWVel     ,Den1      ,MS1       ,Imp       ,FP        
m         ,          ,cm        ,cm        ,          ,m/s       ,gm/cc     ,SI        ,          ,          
0.06,1H-1,6,6.605,50,130.9347,1.2618,82.5908,165.2135,0.8632
0.07,1H-1,7,6.605,50,131.1427,1.1873,89.2873,155.7109,0.9064
0.08,1H-1,8,6.605,50,130.9736,1.2688,95.0648,166.1739,0.8592
...
2.41,1H-2,92,6.604,50,130.9019,1.5467,152.7585,202.4669,0.698
2.42,1H-2,93,6.604,50,131.1098,1.5654,152.2331,205.2369,0.6871
2.43,1H-2,94,6.604,50,130.9408,1.6787,148.03,219.8154,0.6214
...
4.41,2H-2,20,6.605,50,5436.214,1.9546,271.8012,10625.5,0.4614
4.42,2H-2,21,6.605,50,130.9477,2.0751,287.0326,271.7301,0.3915
4.43,2H-2,22,6.606,50,130.9545,1.9434,300.9818,254.4949,0.4679
...
          

Each section's name can be composed by prefix "GLAD4-HST03-1A" with suffix from the string in the "SECT NUM" column. So check the "Customize Section Name" checkbox with "GLAD4-HST03-1A" section prefix and the number "2" in the "Name Column Number" will give the sections named "GLAD4-HST03-1A-1H-1", "GLAD4-HST03-1A-1H-2" and "GLAD4-HST03-1A-2H-2". Also notice that you need to use values from multiple columns to compose your full section name, you can also fill in string like, "2,-,4,-,7" to have values from multiple columns in the full section name separated by "-".

Figure 6.5. Depth setup

Depth setup


In the "Fields Selection" tab, you then can select the data field columns that you want to import into Corelyzer.

Figure 6.6. Fields selection

Fields selection


The data import process will then ask you to save the converted file (in Corelyzer native xml format) to your disk for future use. After saving, the data will be loaded into current Corelyzer session.

Figure 6.7. Save converted file

Save converted file


Notice that just like core images, data plots have to belong to a track grouping. So if you haven't have a track created or you want to have dedicated track grouping for data graph plots, create a new track from the "File" menu.

Figure 6.8. Create a track for data graph plot

Create a track for data graph plot


A screen capture video of these actions can be found in this link online (size: 6.7MB).

Download from IODP-USIO logging database

The Integrated Ocean Drilling Program, United States Implementing Organization provides the logging database accessing service described in the webpage.

To load logging data from the IODP-USIO logging database, select the "IODP" meun item from the "File" menu and then select "Show IODP lists...". Then clicking on the "Logging DB" tab in the popup window as shown in the following figure.

Figure 6.9. Logging DB tab in IODP tables window

Logging DB tab in IODP tables window


Then depending on where do you run the program, you can choose to access the on-ship version or the Internet version of the service. On-ship version will use the service provider URL "http://loa.ship.iodp.tamu.edu/services/" and the Internet version will use the service provider URL "http://brg.ldeo.columbia.edu/". Once the service provider is selected, the available site and tool options will be downloaded and populated in the selectable combobox options. Or you can also type in interested site and tool and then click on the "Search" button to search for available data. The search result will be shown in the table rows below. You can use mouse to highlight multiple rows and click on the "Load selected data files" button to download, convert and load the data files. Then follow the "Plot dataset graph" steps to show data plots of these loaded data files.

A screen capture video of these actions can be found in this link online (size: 6MB in 1920x1200 resolution).

Plot dataset graph

If you have dataset files loaded and tracks created, your main iCores control window should resemble that pictured below. To plot data, right-click on the desired data file and choose "Graph...". This opens the Graph dialog.

Figure 6.10. Main window with dataset loaded

Main window with dataset loaded


Alternately, you can right-click a section image in the visualization canvas and choose "Graph..." from the menu as seen below:

Figure 6.11. Opening graph dialog by right-clicking section image

Opening graph dialog by right-clicking section image


Figure 6.12. Graph dialog

Graph dialog


Select one or more sections and the available data fields will be shown in the "Properties fields" list. Checking a field's checkbox in the "Show" column will plot that data in the main visualization area. To change the color of plotted data, click the field's color cell and select from the resulting palette. Corelyzer attempts to use the same color across all sections for fields of the same name. The "Data Range" column indicates the min/max range of data across all selected sections.

Other controls:

  • Graph type: Change apperance of graph (points, lines, etc.).

  • Collapse graphs: When checked, all selected data fields will be plotted on a single coordinate plane for each section (see example below).

  • Scale min/max: Change the minimum and maximum range of the coordinate plane.

  • Excluded values: When populated, don't graph datapoints that fall within the excluded range. One or both fields can be filled. When multiple sections are selected, the broadest exclusion range will be displayed (that is, the minimum of minimums and maximum of maximums).

  • Leave gaps at excluded values: When checked, the Line and Line & Points graph types will not draw a line connecting points with excluded values between them.

Figure 6.13. Graph plot with "collapsed" graphs

Graph plot with "collapsed" graphs


Keyboard Commands:

In some cases, you may want to expand the vertical size of graph plots, e.g. those with a large depth range. To increase or decrease the graph (vertical) scale, you can first click on the visualization canvas area, and then press '[' or ']' to decrease or increase the graph's size on-screen. A screen capture video of these actions can be found in this link online (size: 2.0MB)

Chapter 7. Interactions

Interaction Scheme

The basic interaction scheme is a mouse-based interaction. The application is best run using a two-button mouse with a scroll wheel. In the most recent version of Corelyzer, the mouse clicks and events are context sensitive. This means, depending on what your mouse pointing to, the response of the application to mouse events can vary.

Panning

To automatically begin panning using the Click-and-drag style, first left-click on the visualization window, making sure not to click on any objects (e.g. core section images, graphs, annotation markers, etc.)

If you successfully clicked and are in the panning-mode, then the mouse pointer should change. In Windows, it will likely change to a four-direction pointer. On Mac OS X, it will change from a black mouse to a white mouse cursor. To pan, keep holding down the left mouse button and drag the mouse to move the view of the scene.

Zooming

If you have a mouse wheel, zooming is as easy as scrolling the wheel back to zoom out and forward to zoom in. Assuming a particular area is of interest and you want to zoom in on it, simply point at that area of interest and use the mouse wheel to zoom in. The area will stay in the same place as the scene changes in scale. Similarly, you can zoom out to see more of the context that surrounds a particular area.

You can also use keyboard for navigation in Corelyzer. You can use the four-direction arrow key to pan around the main visualization area. To zoom in and out around the mouse cursor position, you can press the "+" and "-" keys. If you want to jump to a certain depth directly, first click on the main visualization area and then press the "j" key to bring up the "Jump to..." dialog. Input the depth in meter and the main visualization area will jump to designated depth directly.

Figure 7.1. Jump to depth dialog

Jump to depth dialog


Sliding a section

To slide a section image, first left-click on the section image, the image will be highlighted by a yellow bounding box. If you successfully do this, the mouse pointer will change to a hand pointer. The core section image will also be brought to the front of the other images. This is noticeable if any of the core section images overlap. At this point you can slide the section image left or right by moving your mouse left or right with Alt key pressed at the same time.

Sliding a track

A track can be slid vertically. To do this, first select a core section image, and then hold down the Shift key. The mouse pointer will remain looking like a hand cursor. Move the mouse up or down and the track will be moved in the direction of the mouse motion.

NOTE: Corelyzer loads all images and tracks at the origin. It is recommended to slide a track away so that new images on a different track do not overlap an existing track.

Manipulating Tracks and Sections

Right-clicking on a section image opens a menu with several options to modify that section's (or its parent track's) appearance, properties and positioning relative to other sections within its track.

Figure 7.2. Section context menu

Section context menu


Lock Section

If checked, section cannot be moved up or down stratigraphically. Select this option to lock/unlock the section.

Lock Section Graphs

If checked, graphs of section data cannot be moved up or down stratigraphically (this is the default). Select this option to lock/unlock the section's graphs.

Graph...

Opens the Graph dialog - details here.

Split...

Opens the Split dialog, where you can divide the selected section into separate sections.

Properties...

Opens the Properties dialog, where you can modify traits (e.g. DPI, rotation, visible interval) of the selected section.

Delete...

Removes this section from the current session.

Stagger Sections

Moves every other section in the track up by the width of the track. If a track is staggered, a checkmark will appear by the "Stagger Sections..." menu option; select again to un-stagger.

Figure 7.3. Staggering sections

Staggering sections

Trim Sections...

Opens the Trim dialog, which allows you to "trim" from the top or bottom of either the selected section image, or the selected section and all deeper sections in the track. Trimming modifies sections' Visible Intervals, as seen in the Properties dialog. This is most useful for removing extraneous imagery such as color cards or core catchers.

Stack Sections

Positions all sections deeper than the selected section end-to-end, with no gaps between.

Figure 7.4. Stacking sections

Stacking sections

Chapter 8. Annotation

Annotations are currently shown using a marker along the top of a core. The marker is a simple interactive visual to indicate that an annotation exists. Different markers can mean different types of annotations. Annotations types will be added as development continues.

Figure 8.1. Annotations for core images

Annotations for core images


Creating new annotations

Currently, text and image annotations are supported. Annotations come in the form of HTML and property list XML files.

First an image must be loaded. A user can then select "Create annotation mode" to start creating annotations.

Figure 8.2. Select create annotation mode

Select create annotation mode


Once you are in creating annotation mode, you can create a region of interest rectangle by pressing-and-dragging to show interested region. A dialog asking for which kind of annotation you are creating will show up once you release the the mouse button. Currently Corelyzer supports the following types of annotations.

  • Freefrom: a threaded discussion freeform annotation.

  • Clast: a structured annotation which keeps track of clastology information.

  • Sample Request: a front-end annotation for sample requests.

  • Property Values: a generic property-value pairs annotation. Default properties is defined in the dictionary file specified in the preferences panel.

Figure 8.3. Select annotation type

Select annotation type


Reviewing and editing existing annotations

After an annotation is created, it can be edited in the future. To edit an annotation, or review it, a user simply clicks on an annotation marker. The same dialog used when creating an annotation will display.

Currently, the comments will be attached into a discussion thread-like display in a freeform annotation. By clicking the tool buttons at the top of the editing area of annotation window, the user can do simple HTML formatting and insert images and attachment files with URLs or by selecting files from local hard disk.

Figure 8.4. Review and edit a freeform annotation

Review and edit a freeform annotation


Any time after the marker is created, the user can change to marker manipulation mode by clicking icon at the toolbox in the upper left screen. Next, select the marker icon and then by click-and-drag the green box to change the region of interest.

Figure 8.5. Modify annotation marker mode

Modify annotation marker mode


Figure 8.6. Modify region of interest and marker position

Modify region of interest and marker position


A screen capture video of these actions can be found in this link online (size: 14.0MB).

Measuring Mode

Switch to measuring mode by click the measurement icon in the toolbox at the upper left corner. To measure, click two points on the visualization screen, the physical length measurement will be calculated and saved to measuring history. The last value will also be copied to system’s clipboard so you can easily paste to other applications or the annotation.

Figure 8.7. Enable measure mode

Enable measure mode


Figure 8.8. Show measuring history

Show measuring history


Figure 8.9. Measure on images

Measure on images


A screen capture video of these actions can be found in this link online (size: 5.7MB).

Chapter 9. Save and Load Sessions

You can save your current working session by selecting “Save Session As ...” under “File” menu. This function will save all the information that you loaded into the scene into a XML-based “CML” file. CML file schema description can be found in here.

This file doesn’t save all the images and dataset files with it, it keeps track of where all the related files are located. You can later load everything back by selecting “Open a Session File” under the same “File” menu.

The “cml” file is small, and if the resource you loaded into the scene are all downloaded from the Internet within Corelyzer, these resources’ URL will be kept and by passing just the “cml” file around, other people can load back the same session that you were working on.

But if the resources you loaded in your working session are all files in your local hard disk, and you want to pass the working session to your colleague? Please use the “Export…” and “Import…” functions under “Core Archive” menu in the "File" menu. The “Export…” function will pack all the resources along with a session “cml” file into a big compressed “Core ARchive”, a “.car” file. It will contain all the images, datasets, annotations and their attachments within. The other people can just use “Import…” to open it up and restore everything you were working on his/her screen.

Chapter 10. Corelyzer server and plugin clients

Corelyzer server and plugin support was developed by Arun Rao, Yu-Chung "Julian" Chen and Sangyoon "James" Lee in 2006 for supporting ANDRILL MIS Project.

Server setup

Before starting the server, a few things must be prepared. First, the machine will need to have the Java Runtime Environment (JRE) 1.5 or greater. Second, a web-server must be running. Third, configuration files will need to be made.

Setting up the JRE and a web-server are beyond the scope of this document, but many resources are available on the Web to do so.

The server program requires two files. The first file contains the server settings and is specifically named “server-settings.txt”. This file contains only four lines and are as follows:

        <the base web address for all annotation pages>
	<the directory where the annotations are placed in the server for access>
	<the directory where the annotations are backed-up to>
	<the last time that the server performed a backup>
        <"backenabled" or "backupdisabled" to enable or disable data  backups>
      

Here is an example of that file:

	http://131.193.77.222/~corewallDB/annotations
        /Users/corewallDB/Sites/annotations
        /Users/corewallDB/Sites/annotations
        1155613264194
        backupenabled
      

NOTE: The second last line should be 0 when first starting the server. After which the server will automatically update that line every day.

The second file needed by the server is named “users.txt.” This file contains a listing of tuples that identifies a unique user. The tuple is (user name, real name, password). The first three lines of the file describe the user name, real name and password for the administrator of the server.

NOTE: It should be stated that permissions to this file should be setup so that only the administrator has read and write permissions to the file.

An example of the file can be as follows:

admin
administrator
admin
arun
Arun G. Rao
melodr@mat1c
jason
Jason Leigh
th3bo55
      

Anytime a new user is going to be created, it is as easy as adding the user name, real name and password to the end of the file.

Running the server

To run the server you will need to perform the following command:

        java –cp CorelyzerSessionServer.jar corelyzer.plugin.andrill.CorelyzerSessionServer
      

After running that command you can logout of the server machine and the server program will continue to run. To properly shutdown the server, use the “server-shutdown” command available to the admin client.

Running the administration client

You can run the admin client from anywhere. Simply have the JRE 1.5 or greater and keep a copy of the CorelyzerSessionServer.jar file. To run the client simply run the command:

	java –cp CorelyzerSessionServer.jar corelyzer.plugin.andrill.CorelyzerSessionAdminClient 192.168.1.1
      

Where you would replace the I.P. 192.168.1.1 with the proper hostname or IP of the machine running the server. Following is a detailed look at the set of administrator commands.

Administrator commands

  • Command: "new-section". Arguments: "Section name", "Starting depth" in meters" and "Length in meters".

    Purpose: The main purpose of the command is to notify to the server that a new core sections exists. Effectively creating empty slots of split-core image and whole-core image entries. This is also used so that when a new data comes in, there are correlations to depth intervals and section names.

  • Command: "new-missing-section". Arguments: "Section name prefix", "Starting depth in meters" and "Length in meters".

    Purpose: The main purpose of the command is to notify to the server that a new missing core sections exists. Effectively creating empty slots of split-core image and whole-core image entries. Using command like “new-missing-section and001 0.0 1.5” will create a new section with section name “and001_0.0-1.5-missing”.

  • Command: "new-split-core". Arguments: "The URL to the image file", "The name of the section the image comes from", "The DPI (dots-per-inch) of the image in X (horizontal) direction" and (Optional) "The DPI of the image in Y (vertical) direction"

    Purpose: The purpose of this command is to let the server know the web address of the split-core image that was created from the core section. This will let the server then notify the clients that the image exists and is available for download and viewing in Corelyzer.

  • Command: "new-missing-split-core". Arguments: "The section name of missing split core"

    Purpose: The purpose of this command is to assign a empty split core image to a core section due to there might be no split core image available but users still need to access the data and whole core images. The missing section name convention will be like <prefix>_<start_depth>-<end_depth>, eg: “and001_186.7-187.5”.

  • Command: "new-whole-core". Arguments: "The URL to the image file", "The name of the section the image comes from" and "The DPI (dots-per-inch) of the image".

    Purpose: The purpose of this command is to let the server know the web address of the whole-core image that was created from the core section. This will let the server then notify the clients that the image exists and is available for download and viewing in Corelyzer.

  • Command: "new-dataset". Arguments: "Data file to parse" and "The name of the dataset to append/overwrite".

    Purpose: This command will parse a tab-delimited data file and feed the server new data tables. The tab delimited data file must follow the formatting exampled in Appendix B. This command will retrieve a listing of sections to use the depth and length of the sections to determine how to partition the data file into tables.

    Once the tables are created the tables are sent to the server and stored in a file with the following name convention:

                  dataset.<section name>.<dataset name>.tab
                

    If the dataset name does not exist in the server, it will be created automatically. If the name exists then the files created on the server will automatically be appended.

    NOTE: Existing files will be overwritten automatically! If this is an undesired effect, please make sure that there are no rows that contain depths of sections that would previously had a table made for them for the dataset. If you are only appending to a single tab-delimited file without changing previous rows then the overwrite will effectively be doing nothing for previously created tables.

  • Command: "list-sections". Arguments: None

    Purpose: The purpose of this command is to list the existing sections known to the server. Returned is a listing of section names, their depth and length in meters. The output is displayed to the command-line.

  • Command: "list-datasets". Arugments: None

    Purpose: The purpose of this command is to display datasets known to the server. Displayed are the names of the datasets followed by the attributes in the dataset and their respective minimum and maximum values within the whole dataset.

  • Command: "list-tables". Arguments: "The name of the dataset"

    Purpose: This command will display a listing of tables within a given dataset. This is useful if you do not know if a given section is covered by a dataset because the names of the tables are the names of the sections.

  • Command: "list-table-data". Arguments: "The name of the dataset" and "The name of the section/table to view"

    Purpose: This command will display the data of a table from a given dataset. The data is displayed in a tab-delimited form with the first line as the header followed by lines of numerical values. Table cells that are invalid will appear blank.

  • Command: "run-backup". Arguments: None

    Purpose: The server runs backups automatically if the last backup has occurred more than 24 hours ago. This command forces the current day’s backup to occur.

  • Command: "logout". Arguments: None

    Purpose: This command allows the administrator to logout and ends the client program.

  • Command: "server-shutdown". Arguments: None

    Purpose: This command allows the server to properly shutdown.

Admin commands reference table

Table 10.1. Commands reference table

CommandArguments
new-sectionsection_name> depth_in_mbsf length_in_meter
new-split-coreimage_url section_name image_dpi
new-whole-coreimage_url section_name image_dpi
new-datasetdataset_file dataset_name
list-sections 
list-datasets 
list-tablesdataset_name
list-table-datadataset_name table_name
run-backup 
run-scriptscript_file
logout 
server-shutdown 

Client plugin in Corelyzer

In the client side, a client plugin is provided in Corelyzer software. To activate the client user interface, select "Collaborative Corelyzer" from the "Plugins" menu.

Figure 10.1. Activate client plugin

Activate client plugin


To connect to the session server, you can either select or type in the server name from the drop down menu on the top of the client plugin user interface and click on the "Connect" button. The interface then will prompt to ask for the user name and password for accessing the server.

Figure 10.2. Connect to session server

Connect to session server


After logging in, the user interface will display available split core and whole core section images and numerical datasets for plotting. To load the available images, click on the checkboxes in each section row. The client plugin will start downloading and loading the section images in the background and show in the main visualization canvas.

Figure 10.3. Main session client plugin user interface

Main session client plugin user interface


Example dataset file

The basic formatting of this file is simple. The first row will contain unique column headers that are tab-delimited (i.e. separated by tabs). The first column of the data, by default, is assumed to be the column that contains the depth reference for the data in the row. Every row of data is also tab-delimited, and must contain the same number of tabs as the header row; in order to positively determine which data value belongs to which column. Microsoft® Excel can export a worksheet as a tab-delimited file in the same way. An empty entry is considered to be two consecutive tabs, and will be dealt with properly. Any data that appears to be invalid should be deleted in your spreadsheet program of choice to create an empty entry.

Depth [m]	Porosity [% vol]	WBD [g/ccm]	Sus [units]
12.250	0.454	1.937	241.46
12.270			245.60
12.290	0.420	1.995	244.68
12.310	0.408	2.015	257.45
12.330	0.365	2.087	280.15
12.350	0.387	2.050	305.97
12.370	0.383	2.057	390.86
12.390	0.434	1.971	620.38
12.410	0.282	2.226	762.53
12.430	0.376	2.069	644.55
12.450	0.441	1.959	435.98	
      

NOTE: In this example you can see that on the third row there are two blank entries for both Porosity and WBD columns.

Handy scripts

Table 10.2. Handy scripts

Script nameFunction description
startserver.shServer startup script
adminlogin.shInteractive administrator client startup script
import_img.cronSample script that can be placed in crontab to import section image summary report
import_data.cronSample script that can be placed in crontab to import dataset summary report
img_summSection image summary report example file (tab separated fields in each line)
CRPDataset summary report example file. Notice that the data’s depth must be within the range of sections existed in server

Some notes

  • Convert raw scanned image files from BMP or TIFF to JPEG files, to reduce file size and save some network transmission time.

  • The server assume the splitcore images are in ‘vertical’ orientation and it will tell clients to rotate them so images will be layout horizontal way.

  • Before import the dataset, make sure the data are in the range of sections already available in the server.

Chapter 11. Fine tune with Correlator

Before start - Download Corrlator and Corelyzer

You have to download and install Correlator and Corelyzer. The latest version of Correlator can be downloaded from here, and the latest version of Corelyzer can be downloaded from here.

Interaction flow

In the following section, we will show step-by-step how to connect to Corelyzer from Correlator to use available core images assisting choosing tie points in creating affine tables.

Start Corelyzer

Double click on the Corelyzer icon to start Corelyzer. You might want to properly setup the visualization area of Corelyzer if you do not want it overlaps with Correlator's data plot window. Please refer to Corelyzer Display Configuration section for setting up Corelyzer visualization area.

Start Correlator

Double click on the Correlator icon to start Correlator. Please refer to Correlator documentation for start using Correlator.

Load log data tables and image list table

Before using the fine tune function, you have to make sure you have loaded both the data table and the image table of the cores. Please refer to Correlator document on "How to load data files into Correlator Data Manager".

In the following example, 3 data files (Bulk Density GRA) and a image list data file are loaded into Correlator's Data Manager.

Figure 11.1. Example data and image list files are loaded in Data Manager in Correlator

Example data and image list files are loaded in Data Manager in Correlator

Figure 11.2. The log data file format loaded in Correlator

The log data file format loaded in Correlator

Figure 11.3. The image list file format loaded in Correlator

The image list file format loaded in Correlator

Load log data into Correlator plotting area

Right click on the log data entries and select "Load" to load the data into the plotting area in the Correlator.

Figure 11.4. Right click on the data entries and click on the "Load" to load the log data into the plotting area of Correlator

Right click on the data entries and click on the "Load" to load the log data into the plotting area of Correlator

The data will be plotted in the Correlator window. In the following screenshot, it shows a 1920x1200 screen with Corelyzer showing in the left half and Correlator showing the right half with log data loaded and plotted.

Figure 11.5. Side-by-side Corelyzer and Correlator with log data plotted

Side-by-side Corelyzer and Correlator with log data plotted

Connect to Corelyzer from Correlator

Click on the "Connect to Corelyzer" button on the Correlator command window as shown in the following screenshot.

Figure 11.6. "Connect to Corelyzer" button in Correlator command window

"Connect to Corelyzer" button in Correlator command window

A confirmation dialog will popup asking whether you want to unload previous loaded images in Corelyzer. Click on "YES" will unload previous tracks and images in Corelyzer.

Figure 11.7. Confirmation of unload previously loaded images in Corelyzer

Confirmation of unload previously loaded images in Corelyzer

After successfully connected, if the user use the scrollbar in Correlator to change the viewing depth range, the view range will also be updated accordingly in the Corelyzer visualization area.

Composite depth shifting with core images

Core images will be loaded in the Corelyzer side, if the connection between Correlator and Corelyzer is established during choosing both 2 tie points (red and green points) in Correlator. A red horizontal line will appear in the Corelyzer as the reference tie depth.

Figure 11.8. Creating 2 tie points in Correlator

Creating 2 tie points in Correlator

Dragging the green tie point in Correlator like you always do, it will update/shift the core images accordingly like the data plots segments. You can use the core image texture for correlation reference.

Figure 11.9. Adjusting tie points also updates core images

Adjusting tie points also updates core images

If you right click the (green) tie point and select the "Clear" option, the core images will be placed to their original position. After your adjustments, right click on the (green) tie point to choose adjustment option as described in Correlator document. The core images will be positioned using the result affine table. If you click on the "Undo To" button in the Correlator, the affine table will be restored and re-read by Corelyzer to shift core images according to the affine table.

When you disconnect from Corelyzer, a dialog will popup in Corelyzer main window. By default selecting "YES" it will close all opened core images during the composite session. If you want to keep the arrangements setup on screen, you can save the session file as described in the "Save and Load Sessions".

Chapter 12. Frequently Asked Questions (FAQ)

How do I compare two cores?

To compare 2 cores images or data side-by-side, you can arrange cores to be compared in different "tracks". To do that, first create and highlight a new track. Then load first batch of images to be compared using "Load images" item in the "File" menu. The second batch of core images can be loaded into another newly created track using similar steps. To arrange them side-by-side, use keyboard+mouse gesture "Shift-Drag" one track away from another in the vertical direction. If you need to move individual section along the depth direction, you can use "Alt-Drag" gesture to move sections to different depths.

More question...

More description...

Appendix A. Appendix

Why is the Image DPI Important?

Corelyzer is a system that intends to bridge core imagery from multiple sources and scale as time moves on and resolution improves. To do this, the system scales all the images so that these varying resolution imagery can map to a space that will indicate what the dimensions of these images actually represent. In other words, so that an image of a 1.5-meter section appears to be 1.5 meters in length despite how high of a resolution image you take. Does this mean that getting higher resolution imagery is a bad idea? No, because you can always zoom in to see the finest detail available on the image. The higher the resolution the image is (i.e. the higher the DPI), then the more details that can be seen.

Making Sure the DPI of an Image is Correct

Here we will discuss about how to make sure a core image has the correct DPI. At this point, let's assume that your digital-line-scanner scans the core at 100 dots per centimeter. This is equal to 254 DPI.

The first thing to do is open the image in a program like Adobe Photoshop, or The Gimp. At this point, we will assume that you are working with Photoshop.

In Photoshop, you will want to view the image's properties by going to Image -> Image Size. A dialog will appear showing the image width, height, etc. If the resolution does not match the expected DPI then we will need to change it. Before doing that make sure that the Resample Image checkbox is unchecked. Otherwise, when you change the DPI of the image, the image will get resized. After you uncheck the Resample Image option, edit the Resolution text field and enter the correct DPI. At the time of this writing, most core section images have a DPI of 254.

If you realize that more than one image contains the wrong DPI, you can create a batch process in Photoshop to help you deal with all the images.

Corelyzer Data XML Schema

The Corelyzer Data XML Schema is a fairly simple XML schema. It is based off of a version of the Geotek data XML format. Examples are available at Sample Data.

The root of the Corelyzer XML Schema is >corewall_data<. Inside this node are blocks of section tags. The XML schema is simply a set of tables, one for each core section. Inside section tags are tags to identify which section the table belongs to, units of depth, listing of fields and the data retrieved from sensors at particular depths. Here is a complete example of the XML schema, with sample data processed from JANUS:

Figure A.1. Example native Corelyzer data XML file

Example native Corelyzer data XML file