**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 |