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