SEGAL

Section: LAWRENCE BERKELEY LABORATORY (n)
Updated: 1992
Index Return to Main Contents
 

NAME

segal - X-based image processing tool for segmentation of 2d and 3d images and registration of 3d images.  

SYNOPSIS

segal
[-i image ] [-m mask ] [-l list ] [-v] [-c NN ] [-n] [-h[elp]]
 

DESCRIPTION

segal takes a 2d (single frame) or 3d (multi-framed) image as input and produces bit masks of segmented objects in that image as output.

Segmentation is the process of separating objects (also called Regions Of Interest, or roi's) from the background and other impertinent objects of an image. One can think of this process as Object Recognition minus the neural network component which assigns a name or other description to the object. The product of a segmentation algorithm is a collection of points that define an object. segal outputs the collections in the form of bit masks which can be used in conjunction with the image by some other image processing program to analyze, manipulate, or render the objects for display.

segal grew out of a need for human interaction in the segmentation process. Completeley automatic algorithms for segmentation require some prior knowlege of the input image and especially the characteristics of the objects to be found. Hence, no general automatic segmentation algorithm exists that can satisfactorily segment a broad class of scientific images acquired through serial sectioning techniques (i.e NMR, earth siesmic tomography, confocal microscopy, mechanical sectioning of object, etc.) because these techniques are imperfect and subject to a wide variety of errors during acquisition.

These errors result in a non-uniformity of characteristics of an object both within one frame (slice, tomogram, etc.) and (usually more pronounced) from frame to frame. This non-uniformity presents the greatest challenge to the automatic segmentation algorithm, as uniformity in characteristics of the pixels (or voxels) of an object is its criteria for including each pixel in the collection of points.  

HOW TO USE

Loading an Image:

Before doing anything, an image must be loaded into memory. It can be a single or multi framed image stored in one of the image formats listed at the end of this man page. To load an image, select the File: Load image ... menu option from the main window. Enter the Directory (default is the current directory) and file name and then press return. The image header info will be read and then various options on the Load Image window will become accessible. In this release, color images will be converted to gray scale during the loading process.

Masks: Creating and Loading

The next thing to do is to create a new mask or load an existing one. All mask input/output is done from the Mask Log window's Mask menu. This menu allows the loading, creating, saving, and unloading of masks in the Mask Log. The Mask Log can contain at most 6 masks at a given time. These masks may be designated as one of the following types: Edit (one at a time), Not applied, Exclusive, and Inclusive.
Once this is done, the various segmentation facilities of segal become accessible from the main window.

Modes: Segment

segal has two main modes: Segment and Register. In Segment mode, segal creates, loads, edits, stores, adds, subtracts, and otherwise manipulates masks. Some primitive editing of the image may be performed also.

Image Editing:

Painting the image with a lightening or darkening paintbrush is possible in the Paint window (Brush Mode: Image). This is especially useful when a bridge points can be found. They can be either lightened or darkened to create a barrier for the mask growing algorithm. While painting is useful, it is only advised if the results of segal do not need to be accurate enough for precise scientific analysis.
Thresholding the image is accomplished be selecting the appropriate upper and lower threshold values (click the left or right button on the Histogram in the Segment:Threshold window and then pressing either the Black Image or White Image button). All pixel values in the image within the Region of application and within the threshold boundaries will be mapped to either Black or White, respectively. Various Regions of application can be selected, and the histogram will update to reflect each one. (IMPLEMENTED: whole frame, whole image)

Mask Editing:

Painting the mask involves either painting or erasing. When a mask is created, it is blank. Painting will add to the mask. From the Mask Log:Options ..., addition of the Inclusive and subtraction of the Exclusive masks can be controled. If multiple masks are loaded in the mask log and one is designated as Exclusive, one may find that attempting to paint mask over any region of the image covered by the Exclusive mask does not work. Either the Exclusive mask must be set to Not applied or the Mask Log: Options ...:Apply mask log must be set to No.
The main uses of painting the edit mask are planting seed points for the mask grow algorithm and touching up any automatic algorithm's results.
The paintbrush can change mode (Image/Mask); Affect (Lighter/Darker or Paint/Erase); Shape (Square/Round); and Size (1x1 ... 20x20).
segal's power is its interaction with the human user. It contains a quite general, fast, and good automatic segmentation algorithm available via the Mask Grow window. This region growing algorithm incorporates:
Threshold: (Is the candidate pixel's (voxel's) intesity within some range of values?),
Gradient: (How fast are the intensities of the pixels changing with respect to some direction at the candidate pixel (voxel)? * Low in center of an object, High at edge of object *), and
Connectivity: (How many pixels (voxels) close to the candidate pixel satisfy the thresholing and gradient criteria? * Low at edge of object or at a bridge point, High in center of an object *).
The progress of the mask growing algorithm may be viewed in all three aspects of the main window. If the connectivity criteria (Bridge) is applied (selected by a check in the box), then the progress is plotted in color; otherwise it is plotted as red. The Bridge colors signify how connected the candidate pixel (voxel) is to the object. Their interpretation is as follows:
Bridge-Strength
8 PURPLE (Most Connected)
7 BLUE
6 TURQUOISE
5 GREEN
4 YELLOW
3 ORANGE
2 BROWN
1 RED (Least Connected)
The mask grow algorithm runs in the background, as do the various loading and saving routines. It can be Stopped and Continued by pressing the buttons. The parameters can be adjusted during the growing if desired. During these background processes, the user interface is active, allowing the user to "get on with it" instead of waiting for i/o or growing. Growing a mask in a large 3d image may take as long as 15 to 20 minutes if all mask growing criteria are applied, though typical images take much less time. In any case, often the preliminary results of growing within a frame are good, while when attempting to grow throughout the entire image may reveal bridge points that need to be handled by adjusting the parameters, Undoing, and then pressing Grow once again.
A simple threshold is also available. Review the description of thresholding above in the Image Editing section. The difference is that whatever pixels (voxels) in the image have intensities that fall within the Max and Min are either overwritten to, added to, or subtracted from the edit mask when the Threshold button is pressed.

Mode: Register

Often with images acquired through serial sectioning, the frames are out of alignment with one another. segal has facilities to register the frames with a reference frame of the image. The Image Registry window pops up when the Register mode is selected. When segal is in this mode, no attempt at segmentation (alteration in any way) of the edit mask should be made. Most options are disabled in this mode.
A window containing an image will pop up next to the view window. The user should move this window next to the appropriate aspect in the view window (main window). This view window will have the reference frame's mask overlayed on it in red. First, locate a common object or point of symmetry in each of the two windows. Then with the left mouse button draw a line along or across the common object in each window. If, for example, the reference image contains a square with sides aligned with the window's edge, and the view window contains the same square translated, smaller, and rotated, then the line drawn in the view window's square should be likewise translated, smaller, and rotated with respect to the line drawn in the reference image's square.
 

OPTIONS

-i
specify image file name.
-m
specify mask file name.
-l
specify list file name. The list file contains various paths and file names of an image and masks, as well as comments and a description. It is created from the List window by entering appropriate info and storing it.
-v
turn on verbose mode for debugging purposes.
-c NN
color hue of edit mask. NN takes values from 0 to 360 and defaults to 170 (Green).
 

FILES

segal requires the input image to be in one of the formats handled by Jin Goujin's Complex Conversion Library. Presently, they are:

HIPS
FITS
RLE
GIF
SUN-RASTER
TIFF
PNM
ICC

segal outputs the masks as byte HIPS images with each pixel having the value 0 (blank) or 255 (part of mask).  

SEE ALSO

xmask(n), ccs(n)  

DIAGNOSTICS

 

BUGS

Report to Bryan Skene (skene@george.lbl.gov)  

AUTHORS

Bryan Skene, Brian Tierney, Jin Goujin


 

Index

NAME
SYNOPSIS
DESCRIPTION
HOW TO USE
OPTIONS
FILES
SEE ALSO
DIAGNOSTICS
BUGS
AUTHORS

This document was created by man2html, using the manual pages.
Time: 01:44:40 GMT, December 05, 2024