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 pixelbypixel matrix of an Image Vector
 *ImgMaximum
 returns the pixelbypixel maximum of two images
 *ImgMinimum
 returns the pixelbypixel 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 pixelbypixel 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 leftbit shifting on the bits of an integral datatype image
 ImgRightShift
 performs rightbit 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 userdefined 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 lowpass filtering on an image using a 3x3 kernel
 ImgLowPass5x5
 performs lowpass filtering on an image using a 5x5 kernel
 ImgLowPass7x7
 performs lowpass filtering on an image using a 7x7 kernel


High Pass
 ImgHighPass3x3
 performs highpass filtering using a 3x3 kernel
 ImgHighPass5x5
 performs highpass filtering using a 5x5 kernel
 ImgHighPass7x7
 performs highpass 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 lowstop filter by subtracting the results of a fast lowpass filter from the original image


Enhancement
 ImgMedian
 performs median filtering using a userdefined 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 edgeenhancement image smoothing algorithm proposed by Nagao & Matsuyama
 ImgRankValueFilter
 provides a medianlike 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 movingwindow 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 NWSE diagonal & along the SWNE 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 zerocrossings of the nondirectional 2 nd derivative of the image intensity values


NonLinear
 ImgRidgeValleyEdges
 detects ridge & valley edges for a given input image


Utilities
 ImgEdgesThin
 performs edge thinning by suppression of nonmaximal 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 8connected distance to the nearest black point
 ImgChamferDistance
 computes for every white point the 4connected distance to the nearest black point using a fast twopass 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 hitormiss transform on an input image
 ImgThicken
 performs a thickening by a userdefined 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 userdefined mask
 ImgLPExponentialFilter
 computes the exponential low pass filter from a userdefined mask
 ImgLPRectangularFilter
 computes the rectangular low pass filter from a userdefined mask
 ImgLPTrapezoidalFilter
 computes the trapezoidal low pass filter from a userdefined mask


High Frequency Filters
 ImgHPButterworthFilter
 computes the Butterworth high pass filter from a userdefined mask
 ImgHPExponentialFilter
 computes the exponential high pass filter from a userdefined mask
 ImgHPRectangularFilter
 computes the rectangular high pass filter from a userdefined mask
 ImgHPTrapezoidalFilter
 computes the trapezoidal high pass filter from a userdefined 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 twodimensional 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 singleband 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 Gaussianshaped 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 connectedcomponents 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 zerocrossings of the nondirectional 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 regionlabel image from a clusterlabel 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 4connected regions in the input image
 ImgEuler

computes the Euler number (connectivity number) of a binary image
 ImgFirstPoint
 computes the coordinates of the first nonzero 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 crosscorrelation
 ImgCrossCorrelate
 implements a twodimensional image crosscorrelation
 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 nearby 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 tabseparated 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 integercoded 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 componentbased recognition.
 Parallels
 finds parallel line pairs, providing a basis for advanced componentbased recognition.
 Boxes
 forms boxes by finding opposite and adjacent relationships between corners, providing a basis for advanced componentbased 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 KNearestNeighbor (KNN) classifier. It creates the reference data necessary for the KNN_Cls operator.
 Bayes_Trn
 performs training for a multivariate 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 KNearestNeighbor (KNN) classifier.
 Bayes_Cls
 implements a multivariate 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
