APHELION™ VERSION 3.X


Aphelion Developer Function List

* = optimized for increased performance on PCs using the Intel MMX technology

Arithmetic/Logic

Arithmetic

ImgAbs
returns the absolute value of every pixel
*ImgAdd
adds two images together
ImgBlend
performs an alpha blending combination of two images
ImgDivide
divides two images together
ImgInvert
inverts the pixel values of an image
ImgMask
masks an image using another image as the mask
ImgMatrixMultiply
multiplies a pixel-by-pixel matrix of an Image Vector
*ImgMaximum
returns the pixel-by-pixel maximum of two images
*ImgMinimum
returns the pixel-by-pixel minimum of two images
*ImgMultiply
multiplies two images together
ImgRemainder
calculates the remainder of an image divided by an integer constant
*ImgSubtract
subtracts two images
 
 

Bit Logic

ImgBitAnd
performs a pixel-by-pixel bitwise AND of an image
ImgBitDifference
finds the bit difference of 2 images
ImgBitNot
takes the bitwise complement of the pixel values in an image
ImgBitOr
performs a bitwise OR of an image
ImgBitXNor
performs the logical XNOR of two images.
ImgBitXOr
performs the logical XOR of two images.
ImgLeftShift
performs left-bit shifting on the bits of an integral datatype image
ImgRightShift
performs right-bit shifting on the bits of an integral datatype image
 
 

Logic

ImgAnd
performs logical AND of two images
ImgLogicalDifference
performs logical difference
ImgNAnd
performs logical NOT AND of two images
ImgNOr
performs logical NOT OR of two images
ImgNot
performs logical NOT of an image
ImgOR
performs logical OR of two images
ImgXNOr
performs logical exclusive NOT OR of two images
ImgXOr
performs logical exclusive OR of two images
 
 

Constants

ImgAddConstant
adds a constant value to every pixel of the input image
ImgMultiplyConstant
multiplies every pixel of the input image by a constant value
ImgSubtractConstFloor
subtracts a constant from all pixels of the input image
 
 

Filtering

Convolution

*ImgConvolve
convolves an image using a user-defined N*N kernel
ImgSeparableConvolve
performs a separable convolution on an image
 
 

Low Pass

ImgBlur
convolves an image using a 5x5 blurring kernel
ImgBoxFilter
performs box filtering on an image using an arbitrary window size
ImgGaussianFilter
convolves an image using a kernel generated with a Gaussian shape
ImgLowPass3x3
performs low-pass filtering on an image using a 3x3 kernel
ImgLowPass5x5
performs low-pass filtering on an image using a 5x5 kernel
ImgLowPass7x7
performs low-pass filtering on an image using a 7x7 kernel
 
 

High Pass

ImgHighPass3x3
performs high-pass filtering using a 3x3 kernel
ImgHighPass5x5
performs high-pass filtering using a 5x5 kernel
ImgHighPass7x7
performs high-pass filtering using a 7x7 kernel
ImgLaplacian
convolves a 3x3 Laplacian kernel over an image
ImgLaplacian3x3
performs edge detection by convolving a 3x3 Laplacian kernel over an image
ImgLaplacian5x5
performs edge detection by convolving a 5x5 Laplacian kernel over an image
ImgLaplacian7x7
performs edge detection by convolving a 7x7 Laplacian kernel over an image
ImgLowStopFilter
performs a fast low-stop filter by subtracting the results of a fast low-pass filter from the original image
 
 

Enhancement

ImgMedian
performs median filtering using a user-defined N*N window
ImgMedian3x3
performs median filtering using a 3x3 window
ImgMedian5x5
performs median filtering using a 5x5 window
ImgMode
performs mode filtering on an image
ImgMode3x3
performs mode filtering using a 3x3 window
ImgNagaoFilter
performs the edge-enhancement image smoothing algorithm proposed by Nagao & Matsuyama
ImgRankValueFilter
provides a median-like filter where an element can be selected from the sorted list of pixel values
ImgWallisFilter
performs amplification of pixels by a gain factor dependent upon the moving-window standard deviation of pixels within a pixel plane
ImgWeymouthFilter
performs image enhancement proposed by Weymouth & Overton
 
 

Edge Detection

Laplacian

ImgLaplacian
convolves a 3x3 Laplacian kernel over an image
 
 

Morphology

ImgExternalGradient
performs morphological edge detection by subtracting the original image from the dilated image
ImgInternalGradient
performs morphological edge detection by subtracting the eroded image from the original image
ImgMorphGradient
performs morphological edge detection by subtracting the eroded image from the dilated image
 
 

Linear

ImgCannyDericheEdges
performs a CannyDeriche edge detection on the input image
ImgOneByTwoEdges
performs simple vertical & horizontal edge detection
ImgPrewittEdges
produces edges at every pixel where the gradient magnitude is at least as great as the magnitudeThreshold
ImgRobertsEdges
applies two 2x2 kernels over the input image: along the NW-SE diagonal & along the SW-NE diagonal
ImgSobelEdges
produce edges at every pixel where the gradient magnitude is at least as great as the magnitudeThreshold
ImgZeroCrossEdges
computes an edge image based on the zero-crossings of the non-directional 2 nd derivative of the image intensity values
 
 

Non-Linear

ImgRidgeValleyEdges
detects ridge & valley edges for a given input image
 
 

Utilities

ImgEdgesThin
performs edge thinning by suppression of non-maximal magnitude edge values in a local neighborhood
 
 

Mathematical Morphology

Erosion/Dilation

*ImgDilate
performs morphological dilation of the input image
*ImgErode
performs morphological erosion of the input image
 
 

Opening/Closing

*ImgClose
performs morphological closing of the input image
*ImgOpen
performs morphological opening of the input image
 
 

Distance

ImgGraphDistance
computes for every white point the 4 or 8-connected distance to the nearest black point
ImgChamferDistance
computes for every white point the 4-connected distance to the nearest black point using a fast two-pass algorithm
 
 

Features

ImgExtendedRegionalMaxima
extracts the regional maxima inside the specified mask
ImgExtendedRegionalMinima
extracts the regional minima inside the specified mask
ImgLocalMaxima
finds the local maxima points in an image
ImgLocalMinima
finds the local minima points in an image
ImgRegionalMaxima
extracts the regional maxima of a gray scale image
ImgRegionalMinima
extracts the regional minima of a gray scale image
ImgUltimateErodedSet
extracts the ultimate eroded sets from a binary image
 
 

Geodesy

ImgBorderKill
removes all connected components connected to the image borders
ImgBorderKillAndHoleFill
performs both a BorderKill and HoleFill
ImgGeodesicDilate
performs a geodesic dilation using a specified structuring element
ImgGeodesicGraphDistance
computes for every white point the distance to the nearest black point
ImgHoleFill
puts all dark point sets included in the white point set to white points
ImgReconstruct
performs a reconstruction of an input image inside a reference image
 
 

Watershed

ImgConstrainedWatershed
computes the catchment basins of the input image
ImgWatershed
computes the image of a watershed from an input image
 
 

Advanced Openings

ImgAddReconsClose
adds a constant to the image & reconstructs the resulting image
ImgAreaClose
performs a closing based on the surface area of structures present
ImgAreaOpen
performs an opening based on the surface area of structures present
ImgDilateReconsClose
dilates the input image & reconstructs the resulting image
ImgErodeReconsOpen
erodes the input image & reconstructs the resulting image
ImgInfimumClose
performs the intersection of closings by segments in all directions
ImgSubtractReconsOpen
subtracts a constant from the image & reconstructs the resulting image inside the original input image
ImgSupremumOpen
performs the combination of openings by segments in all directions
 
 

Thinning/Thickening

ImgConstrainedThicken
performs a constrained thickening which specified pixels cannot thicken
ImgConstrainedThin
performs a constrained thinning which specified pixels cannot thin
ImgHitOrMiss
performs a hit-or-miss transform on an input image
ImgThicken
performs a thickening by a user-defined neighborhood configuration on a binary image
ImgThin
performs thinning by a neighborhood configuration on a binary image
 
 

Skeletons

ImgConnectedSkeleton
computes a connected skeleton of a binary image
ImgMinimalSkeleton
computes the minimal skeleton of a binary image
ImgOpenSkeleton
computes the opening skeleton of a binary image
ImgThickenSkeleton
computes a skeleton by thickening the input binary or gray scale image
ImgThinSkeleton
computes a skeleton by thinning the input binary or gray scale image
 
 

Filtering

ImgAlternateSequential
performs an alternate sequential filter for which the structuring element & the maximum size are specified
ImgAutoMedian
performs an automedian filter on the input image
 
 

Contrast

ImgMorphContrast
performs a morphological contrast on the input image
 
 

Frequency Domain

Fourier

ImgFFT
performs fast Fourier transform on an input image
ImgInverseFFT
performs fast inverse Fourier transform on an input image
ImgPeakMask
increases or decreases the values of the frequency peak in one area of the image by multiplying the area by a number
 
 

Low Frequency Filters

ImgLPButterworthFilter
computes the Butterworth low pass filter from a user-defined mask
ImgLPExponentialFilter
computes the exponential low pass filter from a user-defined mask
ImgLPRectangularFilter
computes the rectangular low pass filter from a user-defined mask
ImgLPTrapezoidalFilter
computes the trapezoidal low pass filter from a user-defined mask
 
 

High Frequency Filters

ImgHPButterworthFilter
computes the Butterworth high pass filter from a user-defined mask
ImgHPExponentialFilter
computes the exponential high pass filter from a user-defined mask
ImgHPRectangularFilter
computes the rectangular high pass filter from a user-defined mask
ImgHPTrapezoidalFilter
computes the trapezoidal high pass filter from a user-defined mask
 
 

Transforms

Geometry

ImgCenter
rearranges an image around its center in a radial way
ImgFlip
performs a flip transformation of an image about a given axis
ImgRotate
performs an affine rotation of an image about its midpoint
ImgScale
performs an affine scaling of an image
ImgShear
performs an affine shear transform of an image
ImgTranslate
performs an affine translation of an image
ImgTranspose
performs a transpose transformation of an image
ImgWarpControlPoint
performs two-dimensional geometric warping of an image
 
 

Utilities

ImgCartesianToPolar
converts image vector data from cartesian to polar coordinates
ImgPolarToCartesian
converts image vector data from polar to cartesian coordinates
 
 

Color

ImgColorToRGB
splits a color image into three bands
ImgExcessRGB
computes a set of excess color images from RGB raw images
ImgHSIToRGB
converts a HSI image to a RGB image
ImgNormalizedRGB
computes a set of normalized RGB images from RGB raw images
ImgRGBToColor
copies three single-band images to a color image
ImgRGBToHSI
converts a RGB image to a HSI image
ImgRGBToYIQ
converts a RGB image to a YIQ image
ImgYIQToRGB
converts a YIQ image to a RGB image
 
 

Image Utilities

Generation

ImgCreateGaussianNoise
creates an image with random values in a Gaussian distribution
ImgCreateGaussianSurface
builds a Gaussian-shaped image
ImgCreateRamp
creates an image with a ramp in x, y, or both
ImgCreateUniformNoise
creates an image with random values in a uniform distribution
ImgFree
removes an image from memory
ImgFreeAll
removes all images from memory
 
 

Utilities

ImgClear
sets all pixels in an image to 0
ImgClip
clips the pixel values of an image to a specified range
ImgCopy
copies the input image to a destination image
ImgCut
copies a piece of an image to the cut buffer
ImgFill
sets all pixels in an image to a specified value
ImgFrame
creates a frame image from an existing image
ImgJoinBands
joins single band images into a multiband image
ImgPaste
copies the cut buffer to a specific location in the image
ImgSetName
changes the image name
ImgSetType
sets the datatype of an image (i.e. scalar type of the pixels)
ImgSplitBands
converts a multiband image to single band images
ImgSubCopy
copies an image so that the output image will be resized to the dimensions of the area being copied from the input image
 
 

LUT/Point

ImgEqualizeHistogram
equalizes the histogram of an image
ImgLinearScale
maps image values using a linear ramp function
ImgMapThroughLUT
maps an image through a lookup table
 
 

Input/Output

ImgImport
reads an arbitrary binary file into Aphelion image format
ImgRead
reads an image into an AphImage
ImgWrite
writes an AphImage Object to a file in a specified image file format
 
 

Segmentation

Threshold

ImgAdaptivePercentileThreshold
computes a threshold that can then be passed to ImgThreshold
ImgColorThreshold
performs a color threshold on the three RGB or HSI bands
ImgEntropyThreshold
thresholds the input image with the threshold value computed automatically
ImgExtremaThreshold
thresholds pixels representing extrema points in the input image
ImgHysteresisThreshold
applies two thresholds to the input image, producing an image in which selected pixels are set to 1
ImgMultiModalThreshold
a region segmentation operator developed from the Localized Histogram Segmentation algorithm, where the sector size is 1
ImgMaximumContrastThreshold
picks a set of thresholds from an input image that give maximal contrast
ImgMomentThreshold
thresholds an input image with the threshold value computed automatically
*ImgThreshold
thresholds the input image between a lower & upper bound
 
 

Morphology

*ImgBlackTophat
performs a Top Hat over the black structures of the input image using the supplied structuring element
ImgClustersSplitConvex
uses the watershed operator to split connected blobs into convex blobs
ImgRegionGrow
performs region growing on an input image
ImgSeededRegionGrow
performs connected-components analysis on gray scale values to produce region labels
*ImgWhiteTophat
performs a Top Hat over the white structures of the input image using the supplied structuring element
 
 

Rectangles

ImgLabelsToRectangles
computes the extents of each region label in the input image & creates a rectangle in the output ObjectSet
 
 

Polygons

PolygonArea
computes the area of each polygon in a set of polygons
RegionConvexHullPolygons
computes the convex hull polygon for each input region
RegionToBoundaryPolygon
converts region borders to boundary polygons
 
 

Lines

ImgEdgesToLines
groups edges of similar orientation & proximity into straight lines
ImgGradientLines
constructs lines from regions of similar gradient direction in an approximation of the algorithm proposed by J. Brian Burns
ImgHoughLines
detects lines in an input image by Hough Transform (HT)
 
 

Regions

ImgEntropyThresholdObj
produces a set of regions from the output of ImgEntropyThreshold
ImgHysteresisThresholdObj
produces a set of regions from the output of ImgHysteresisThreshold
ImgMultiModalThresholdObj
produces a set of regions from the output of ImgMultiModalThreshold
ImgMaximumContrastThresholdObj
produces a set of regions from the output of ImgMaximumContrastThreshold
ImgMomentThresholdObj
produces a set of regions from the output of ImgMomentThreshold
ImgRegionGrowObj
performs region growing on the input image using ImgRegionGrow
ImgThresholdObj
produces a set of regions from the output of ImgThreshold
ImgZeroCrossObj
computes a region segmentation based on zero-crossings of the non-directional 2nd derivative of image intensity values
 
 

Snakes

ImgSnake
performs a snake algorithm, from a marker defined in the graphic overlay
 
 

Chains

ImgLabelsToChains
converts labels into chains
 
 

Utilities

ImgClustersObj
performs connected components on the input image using ImgClustersToLabels
ImgClustersToLabels
produces a region-label image from a cluster-label image
ImgEdgesToEdgels
converts edge data from an image format to edgel Objects
ImgLabelsObj
converts a label image to a set of regions
 
 

Analysis

Global

ImgArea
computes the area of a binary image
ImgBandHistogram
builds a one dimensional histogram of the values contained in the input image for the specified band
ImgBoundingBox
computes the bounding box for the whole image
ImgCompare
compares 2 images & returns the number of pixels equal in these images
ImgConcavity
returns the number of concavities
ImgConvexity
returns the number of convexities
ImgCountObjects
returns the number of 4-connected regions in the input image
ImgEuler
computes the Euler number (connectivity number) of a binary image
ImgFirstPoint
computes the coordinates of the first non-zero pixel in the image
ImgHistogram
computes the intensity histogram of all pixels in the image
ImgIntercepts
computes the intercepts of a binary image
ImgMoments
computes the first & second order moments
ImgPerimeter
computes the global perimeter of all objects in a binary image
ImgRange
computes the minimum & the maximum of all pixels in an image
ImgVolume
computes the sum of all pixels in an image
 
 

Image Analysis

ImgHoughTransform
performs a Hough transform for the input image
ImgLawsTexture
computes the 9 Laws texture images for a given input image
ImgLocalVariance
computes the variance in the neighborhood of each pixel in the input image
 
 

Objects

ChainAttributes
computes attributes of each chain in a given set of chains & adds them to the ObjectSet
ChainWidth
computes the width mean, min, max, and sd of each chain and adds them as attributes to the ObjectSet
LineAttributes
computes a number of measurements for a given set of lines
ObjAttributeRatio
computes the ratio between two attributes for each Object
ObjComputeMeasurements
computes a variety of measurements for spatial Objects
ObjComputeRuleScore
computes the rule score in the Fuzzy Logic Toolkit
ObjHistogram
computes a 1D histogram for a measurement
ObjLoadRuleSet
loads a set of rules in the Fuzzy Logic Toolkit
ObjMoments
computes the first order moments of an attribute
RegionFeret
returns the oriented bounding box of each region in an ObjectSet
RegionShape
computes shape attributes for each region in an ObjectSet
RegionStatistics
computes for each region the min, max, mean, & standard deviation
 
 

Interactive

ImgDistance
computes the distance between 2 points in an image
ImgProfile
performs the gray level profile of the image line defined by the user
ImgTrace
reads the gray level of a point into an image
ImgWarpControlPoint
computes warping between two input images into an output image
 
 

Correlation/Template Matching

ImgAutoCorrelate
correlates a data set using a simplified algorithm of cross-correlation
ImgCrossCorrelate
implements a two-dimensional image cross-correlation
ImgCorrelateWithTemplate
computes correlation of a template pattern with an input image
ImgCooccurence
computes the cooccurence matrix
ImgFromTemplate
converts a template (kernel) to an image of the same size with pixel values equal to the exact values of the kernel
ImgToTemplate
converts an ROI of an image to a template (kernel)
 
 

Object Processing

Geometry

ObjRotate
performs an affine rotation of an ObjectSet about its midpoint
ObjScale
performs an affine scaling of an ObjectSet
ObjShear
performs an affine shear transform of an ObjectSet
ObjTranslate
performs an affine translation of an ObjectSet
 
 

Region

RegionClose
performs a morphological closing on each region in an ObjectSet
RegionDilate
performs a dilation on each region in an ObjectSet
RegionErode
performs an erosion on each region in an ObjectSet
RegionHoleFill
fills holes in region attributes, creating a new region attribute containing the filled regions
RegionOpen
performs a region opening on each region in an ObjectSet
 
 

Lines

RegionLineFit
fits a line to a region
 
 

Chains

ChainLineFit
fits a straight line to the specified chain location attribute
 
 

Grouping

ChainNeighbors
given a chain ObjectSet, constructs the set of neighbors at the end points within a given radius.
EdgelNeighbors
computes the set of near-by for each edgel in an ObjectSet
EdgelsToChains
groups edgels into chains in an iterative process
RegionOverlap
computes the set of regions which overlap for each region in an ObjectSet
RegionSplitConvex
segments regions in a regionset into convex components
RegionSplitStatistical
segments regions in an ObjectSet into convex components
RegionSplitUnconnected
extracts connected regions of pixels from region attributes
 
 

Object Utilities

Object IO

ObjExport
writes an ObjectSet to a named file in a tab-separated format that can be read into any spreadsheet application
ObjFree
deletes all references to an ObjectSet
ObjFreeAll
removes all ObjectSets from memory
ObjImport
reads an ObjectSet from a named file in a format writeable by any spreadsheet application
ObjRead
reads an ObjectSet from a named binary file
ObjWrite
writes an ObjectSet to a file in a specified file format
RegionToBoundaryPolygon
converts region into boundary polygons
 
 

Cut/Copy/Paste

ObjAppend
combines two ObjectSets by adding the second set to the first
ObjCopy
duplicates an ObjectSet
ObjDeleteAttribute
deletes attribute definitions & their associated slots in the Objects
ObjFilter
removes Objects from ObjectSet falling outside the specified range for a numeric attribute
ObjFree
deletes all references to an ObjectSet
ObjMerge
merges two ObjectSets into one
 
 

Graphics

ObjDraw
draws one spatial attribute of an ObjectSet in the overlay of an image
ObjDrawMapped
draws Objects in an image overlay using a scalar attribute to compute the gray level of each Object
ObjRemoveOverlay
removes one spatial attribute overlay for 1 ObjectSet from image display
 
 

Conversion

ObjSpatialAttributeToImage
performs a raster conversion of a spatial attribute & writes the result into the output image
ObjSpatialAttributeToRegions
performs a raster conversion of a spatial attribute & writes the result into a new region attribute
 
 

Image Acquisition

Grab/Snap

FGStartGrab
opens a Live Image window
ImgGetFGFrame
gets one frame from a Live Image window opened using FGStartGrab
FGFreeze
freezes an acquisition started using the ImgGrab function
ImgGrab
captures an image from a variety of hardware devices
ImgSnap
acquires an image from a frame grabber
 
 

Recognition Toolkit

Utility

AutoCode
codes data for information evaluation or classification. It takes specified attributes from the input ObjectSet and produces new integer coded features.
Encode
codes data for information evaluation or classification using specified partitions. It takes selected attributes from the input ObjectSet and produces new integer-coded features.
Normal
normalizes features by extracting the means, and standardizing variances to 1. It can be used as a preprocessing step before evaluation, clustering or classification.
Centroid
computes class centroids. It is useful for data analysis and classifier training.
MeanAsgn
assigns Objects to the closest centroid. It can be used in conjunction with Centroid for evaluation or classification.
 
 

Extract

Corners
finds corners from line pairs, providing a basis for advanced component-based recognition.
Parallels
finds parallel line pairs, providing a basis for advanced component-based recognition.
Boxes
forms boxes by finding opposite and adjacent relationships between corners, providing a basis for advanced component-based recognition.
MergeLines
combines Lines formed by any line extraction operator. It can combine line segments that are collinear and close parallel lines.
MergeBoxes
combines boxes formed by the box finding operator Boxes. The Boxes operator can form a large number of overlapping boxes based on different combinations of corners.
 
 

Evaluate

CorrEval
computes the correlations between a selected set of attributes and a key attribute. This operator can be effective for redundancy analysis of measurement data.
InfoEval
used to evaluate the information content for recognition of symbolic, discrete or coded numeric features. This feature evaluation operator can uncover discrimination potential that depends on complex functional relationships.
PairEval
used to evaluate the information content for recognition from pairs of symbolic, discrete, or coded numeric features.
LinkEval
computes the tree linkage which maximizes the overall discriminant information given an input of paired discriminant information values.
MRegres
performs a multiple linear regression. It can be used in feature evaluation, constructing composite features, and in redundancy analysis.
 
 

Learn

PFSClust
implements a Pseudo F Statistic Clustering process. It is capable of finding the natural classes given a set of feature data.
MinD_Trn
performs training for a Minimum Distance classifier. It creates the reference data necessary for the MinD_Cls operator.
KNN_Trn
performs training for a K-Nearest-Neighbor (KNN) classifier. It creates the reference data necessary for the KNN_Cls operator.
Bayes_Trn
performs training for a multi-variate normal Bayesian classifier. It creates the reference data necessary for the Bayes_Cls operator.
DIT_Trn
performs training for a Discriminant Information Tree (DIT) classifier. It creates the reference data necessary for the DIT_Cls operator.
 
 

Classify

MinD_Cls
implements a Minimum Distance classifier.
KNN_Cls
implements a K-Nearest-Neighbor (KNN) classifier.
Bayes_Cls
implements a multi-variate normal Bayesian classifier.
DIT_Cls
implements a Discriminant Information Tree classifier. This classifier is designed to work with discrete data and can readily classify using symbolic as well as numeric features.
 
 

* = optimized for increased performance on PCs using the Intel MMX technology