next up previous
Next: Filter Up: No Title Previous: Introduction

Categories of Functions

Filter

Operations in the ``Filter'' category perform the basic image preprocessing functions of filtering and image enhancement. Some of the functions are linear, while many of the more effective functions are highly nonlinear. The list of functions here is:

Lowpass:
lowpass filter
Median:
median filter
Maximum_Homogeneity:
maximum-homogeneity filter
Symmetric_Nearest_Neighbor:
symmetric nearest-neighbor mean filter
Sigma:
sigma filter
Average_Maximum:
average/maximum filter
Average_Minimum:
average/minimum filter
Salt_and_Pepper_Removal:
remove spike noise
Anisotropic_Diffusion:
anisotropic diffusion

Morphology

Mathematical morphology is a popular framework for performing geometrically based operations on an image [19,25,3,21]. Since much of IMPROMPTU is geared toward extracting objects (or facilitating the eventual goal of extracting objects) and since geometrical properties are one of the richest class of attributes one can focus one when attempting to extract objects, mathematical morphology appears in many functions throughout IMPROMPTU. The ``Morphology'' category collects some of the more rudimentary (and more purely ``math-morphology-oriented'') functions.

The fundamental operations of erosion and dilation (and their gray-scale analogs of local minimum and local maximum) are, of course, included here. The complete list of functions here is:

Binary_Erosion:
binary erosion
Binary_Dilation:
binary dilation
Binary_Opening:
binary opening
Binary_Closing:
binary closing
Minimum:
local minimum (simple gray-scale erosion)
Maximum:
local maximum (simple gray-scale dilation)
Grayscale_Erosion:
gray-scale erosion; uses more complex structuring elements
Grayscale_Dilation:
gray-scale dilation; uses more complex structuring elements
Grayscale_Opening:
gray-scale opening; uses more complex structuring elements
Grayscale_Closing:
gray-scale closing; uses more complex structuring elements
Ultimate_Erosion:
ultimate erosion
Conditional_Dilation:
conditional dilation

Topology

A binary-valued volume (voxels take on the values 0 or 1) can be looked upon as a collection of connected sets (components), where a connected set consists of connected collections of 1's. Functions in the ``Topology'' category focus on the topological properties of such images. Examples of functions: finding (and labeling) connected components, deleting overly small components, deleting interior cavities, and thinning/thickening connected objects.

The list of functions here is:

3D_conn_comp:
three-dim. connected components analysis
2D_conn_comp:
two-dim. connected components analysis
Cavity_Deletion:
delete interior cavities
Homotopic_Thinning:
thin an input volume
Homotopic_Thickening:
conditional homotopic thickening
Segment_Generation:
compute more accurate central axes of thin structures

Segmentation

The category ``Segmentation'' contains functions that consist of integrated packages of simpler functions; a typical function in this category uses several simpler functions from the other categories. Most of these functions perform some sort of image segmentation operation.

The list of functions here is:

3D_Adaptive_thresholding:
automatically threshold a 3-D volume
hysteresis threshold:
-- thresholding using hysteresis; NOT IN IMPROMPTU, ROI ONLY!
Region_growing:
segment a volume using seeded region growing
Relaxation_Labeling:
image segmentation using cue-based relaxation labeling
Watershed_Relaxation:
image segmentation using cue-based, watershed-driven relaxation labeling
Watershed:
image segmentation using watershed analysis
Kirsch_edge_detection:
Kirsch edge operator
Difference_of_Gaussians:
Difference of Gaussians edge operator
Morphological_gradient:
morphological gradient
Binary_Border_detection:
find borders in a binary volume
Nonmaxima_Suppression:
suppressing non-maximum points
Ojard_Watershed:
watershed analysis per E. Ojard; has hierarchical segmentation
Sobel Operator:
Sobel edge operator

Manipulation

The ``Manipulation'' category features functions for various image manipulations. Many functions involve pointwise operations on one or two volumes, such as thresholding, zeroing out low-valued voxels, taking the pointwise product of two different volumes, etc. Others combine two different volumes, such as volume algebra. Functions for gray-scale interpolation, shrinking/expanding images, adding noise, et al., appear in this category.

The list of functions here is:

Copy_volume:
copy one volume into another
Volume_algebra:
pointwise functions combining 2 volumes
Thresholding:
intensity thresholding
Complement:
complement a volume
Zero_hi_voxels:
zero out bright voxels
Zero_lo_voxels:
zero out dim voxels
Umbra:
compute the umbra of a volume
Gaussian_Noise_Generator:
add Gaussian noise to a volume
2D_Shading:
make a shaded relief-map of a 2D gray-scale image
Linear_Interpolation:
several 3D linear gray-scale image-interpolation techniques
Demask_Region:
Using a labeled segmented image, form an image containing only one selected region
Nonlinear_Interpolation_weh:
several 3D nonlinear gray-scale image-interpolation techniques
Grayscale Inversion:
invert the gray scale of an image
3D Expand:
form an expanded (zoomed) version of an image
3D Shrink:
form a shrunken (subsampled) version of an image
Save_Largest_Region:
save the largest connected region in an image

Measurement

The ``Measurement'' category features functions for making measurements on regions in images, for making comparisons between two regions, for getting the gray-scale characteristics (histogram) of images, etc.

The list of functions here is:

Error_func:
make various comparisons between two images
Region_properties:
compute gray-scale and shape-based properties of a selected image region
Two_vol_Comparison:
Same as Error_Func? NOT AVAILABLE?
Volume_properties:
Compute various simple properties of a volume
Histogram:
compute various types of histograms of an image
3D_Histogram:
Compute a histogram profile image of all slices in a 3D image
Minimum_bounding_cuboid:
find the bounding box of a region
Branch_Measurements:
Construct a measurement profile of a branching (skeletal) structure

Turnkey

The category ``Turnkey'' contains functions that consist of integrated packages of simpler functions; a typical function in this category uses several simpler functions from the other categories. Most of these functions perform some sort of image segmentation operation.

The list of functions here is:

Region_separation:
separate connected regions
Region_isolation:
extract one large bright region
Concave_gap_filling:
fill concave gaps in regions
LV_extract:
extract left-ventricular chambers
Solid_Blob_Extraction:
extract bright solid blobs
Solid_Blob_Test:
run tests on Solid_Blob_Extraction
3D_Angiogram_Analysis:
extract the 3D coronary arteries
Aortic_root_Removal:
MISNOMER! get a large protruding part of an object (aortic root)

Input/Output

The category ``Input/Output'' contains functions for simple input and output.

The list of functions here is:

Display:
Bring up a display of an image
Load:
Load an image from disk
Save:
Save an image to disk

Example_Category

The category ``Example_Category'' gives an example of an IMPROMPTU functions. Mike Hansen's manual on adding functions to IMPROMPTU refers to this example; in the directory

 /work/psu-sources/manual/impromptu
run ``xdvi" on the ``how-to.dvi" to bring up this manual.

The list of functions here is:

Example:
a dummy example of an impromptu function





next up previous
Next: Filter Up: No Title Previous: Introduction



Updated: Fri May 19 14:39:07 CDT




Copyright 1994-99 Division of Physiologic Imaging, Dept. of Radiology, Univ. of Iowa


VIDA Directory | DPI Homepage | Contact Us | Search