mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-21 01:01:43 +00:00
- sliceByteBuffer() was not setting native order on the duplicated buffer. This caused all array-copyin functions to generate bad values. - Correctly handle unsigned byte and unsigned short values. These could read/write to bad locations previously. - Implement custom version of imaqReadFile() to always pass in NULL for the colorTable. Eventually a more-complete version should be written. Also this works around a crash in imaqGetErrorText() by not calling it from throwJavaException(). It's not clear why imaqGetErrorText() is crashing at present (my best guess is there's still something fishy with multiple C++ lib versions getting loaded somehow), as this used to work. Instead, the exception now just gives the error code without the error message, which is not user friendly but at least doesn't crash. This will be fixed in a future commit by creating our own version of imaqGetErrorText() based on the information available in the header file. Change-Id: I4d099e62ee41f8e2a50089806561be191cb5d9d7
841 lines
20 KiB
INI
841 lines
20 KiB
INI
;
|
|
; [name]
|
|
; arraysize -- comma separated list of "param:numParam" where param is the
|
|
; name of the pointer parameter, and numParam is the name of
|
|
; the parameter that contains the array size for the pointer
|
|
; retarraysize -- name of the pass-by-reference parameter that on function
|
|
; return contains the array size of the returned pointer
|
|
; exclude -- if True, no code is output for this name (full custom)
|
|
; underscore -- if True, only underscored raw wrapper is output (partial custom)
|
|
; outparams -- comma separated list of output parameter names
|
|
; inparams -- comma separated list of parameter names that are input
|
|
; parameters (e.g. not output parameters)
|
|
; defaults -- comma separated list of "param:default" where param is the
|
|
; parameter name and default is the default value
|
|
; exclude_members -- for structures, members to not emit
|
|
; nullok -- comma separated list of parameter names that may be null
|
|
; retref -- parameter that (if non-null) is returned as a reference
|
|
; retunowned -- if True, return value should not be owned
|
|
;
|
|
; The generator code auto-detects many parameters, so this file is only needed
|
|
; for overriding the auto-detected behavior.
|
|
|
|
; defines
|
|
[IMAQ_IMPORT]
|
|
exclude=True
|
|
[IMAQ_FUNC]
|
|
exclude=True
|
|
[IMAQ_STDCALL]
|
|
exclude=True
|
|
[IMAQ_CALLBACK]
|
|
exclude=True
|
|
[IMAQ_DEFAULT_LEARNING_MODE]
|
|
exclude=True
|
|
[ERR_INVALID_COLORCOMPLEXITY]
|
|
exclude=True
|
|
|
|
; structures
|
|
[PolyModel]
|
|
arraysize=kCoeffs:numKCoeffs
|
|
[CalibrationReferencePoints]
|
|
arraysize=pixelCoords:numPixelCoords,realCoords:numRealCoords
|
|
[GetCameraParametersReport]
|
|
#TODO: projectionMatrix:projectionMatrixRows*projectionMatrixCols
|
|
exclude_members=projectionMatrix
|
|
[GetCalibrationInfoReport]
|
|
#TODO: errorMap:errorMapRows*errorMapCols
|
|
exclude_members=errorMap
|
|
[ContourFitSplineReport]
|
|
arraysize=points:numberOfPoints
|
|
[ContourFitPolynomialReport]
|
|
arraysize=bestFit:numberOfPoints,polynomialCoefficients:numberOfCoefficients
|
|
[SetupMatchPatternData]
|
|
arraysize=matchSetupData:numMatchSetupData
|
|
[ContourInfoReport]
|
|
arraysize=pointsPixel:numPointsPixel,pointsReal:numPointsReal,curvaturePixel:numCurvaturePixel,curvatureReal:numCurvatureReal
|
|
[SupervisedColorSegmentationReport]
|
|
arraysize=labelOut:numLabelOut
|
|
[LabelToROIReport]
|
|
arraysize=roiArray:numOfROIs,labelsOutArray:numOfLabels,isTooManyVectorsArray:isTooManyVectorsArraySize
|
|
[ClassifiedCurve]
|
|
arraysize=curvePoints:numCurvePoints
|
|
[CurvatureAnalysisReport]
|
|
arraysize=curves:numCurves
|
|
[ComputeDistancesReport]
|
|
arraysize=distances:numDistances,distancesReal:numDistancesReal
|
|
[ClassifiedDisparity]
|
|
arraysize=templateSubsection:numTemplateSubsection,targetSubsection:numTargetSubsection
|
|
[ClassifyDistancesReport]
|
|
arraysize=classifiedDistances:numClassifiedDistances
|
|
[ContourComputeCurvatureReport]
|
|
arraysize=curvaturePixel:numCurvaturePixel,curvatureReal:numCurvatureReal
|
|
[ExtractContourReport]
|
|
arraysize=contourPoints:numContourPoints,sourcePoints:numSourcePoints
|
|
[ExtractTextureFeaturesReport]
|
|
arraysize=waveletBands:numWaveletBands
|
|
#TODO: textureFeatures:textureFeaturesRows:textureFeaturesCols
|
|
exclude_members=textureFeatures
|
|
[WaveletBandsReport]
|
|
#TODO: LLBand:rows:cols
|
|
#TODO: LHBand:rows:cols
|
|
#TODO: HLBand:rows:cols
|
|
#TODO: HHBand:rows:cols
|
|
#TODO: LLLBand:rows:cols
|
|
#TODO: LLHBand:rows:cols
|
|
#TODO: LHHBand:rows:cols
|
|
exclude_members=LLBand,LHBand,HLBand,HHBand,LLLBand,LLHBand,LHHBand
|
|
[MeasureParticlesReport]
|
|
#TODO: pixelMeasurements:numParticles:numMeasurements
|
|
#TODO: calibratedMeasurements:numParticles:numMeasurements
|
|
exclude_members=pixelMeasurements,calibratedMeasurements
|
|
[ClassifierReportAdvanced]
|
|
arraysize=allScores:allScoresSize,sampleScores:sampleScoresSize
|
|
[FindEdgeReport]
|
|
arraysize=straightEdges:numStraightEdges
|
|
[ReadTextReport3]
|
|
arraysize=characterReport:numCharacterReports
|
|
[EdgeReport2]
|
|
arraysize=edges:numEdges,gradientInfo:numGradientInfo
|
|
[ConcentricRakeReport2]
|
|
arraysize=firstEdges:numFirstEdges,lastEdges:numLastEdges,searchArcs:numSearchArcs
|
|
[SpokeReport2]
|
|
arraysize=firstEdges:numFirstEdges,lastEdges:numLastEdges,searchLines:numSearchLines
|
|
[RakeReport2]
|
|
arraysize=firstEdges:numFirstEdges,lastEdges:numLastEdges,searchLines:numSearchLines
|
|
[QRCodeDataToken]
|
|
arraysize=data:dataLength
|
|
[StraightEdgeReport2]
|
|
arraysize=straightEdges:numStraightEdges,searchLines:numSearchLines
|
|
[StraightEdge]
|
|
arraysize=usedEdges:numUsedEdges
|
|
[QRCodeReport]
|
|
arraysize=data:dataLength,tokenizedData:sizeOfTokenizedData
|
|
[DataMatrixReport]
|
|
arraysize=data:dataLength
|
|
[ReadTextReport2]
|
|
arraysize=characterReport:numCharacterReports
|
|
[FeatureData]
|
|
arraysize=contourPoints:numContourPoints
|
|
uniontype=feature:type:IMAQ_CIRCLE_FEATURE=circle:IMAQ_ELLIPSE_FEATURE=ellipse:IMAQ_CONST_CURVE_FEATURE=constCurve:IMAQ_RECTANGLE_FEATURE=rectangle:IMAQ_LEG_FEATURE=leg:IMAQ_CORNER_FEATURE=corner:IMAQ_PARALLEL_LINE_PAIR_FEATURE=parallelLinePair:IMAQ_PAIR_OF_PARALLEL_LINE_PAIRS_FEATURE=pairOfParallelLinePairs:IMAQ_LINE_FEATURE=line:IMAQ_CLOSED_CURVE_FEATURE=closedCurve
|
|
[GeometricPatternMatch2]
|
|
arraysize=featureData:numFeatureData
|
|
[ShapeDetectionOptions]
|
|
arraysize=angleRanges:numAngleRanges
|
|
[Curve]
|
|
arraysize=points:numPoints
|
|
[Barcode2DInfo]
|
|
arraysize=data:dataLength
|
|
[ClassifierAccuracyReport]
|
|
arraysize=classNames:size,classAccuracy:size,classPredictiveValue:size
|
|
#TODO: classificationDistribution:classPredictiveValue:size
|
|
exclude_members=classificationDistribution
|
|
[NearestNeighborTrainingReport]
|
|
arraysize=allScores:allScoresSize
|
|
#TODO: classDistancesTable
|
|
exclude_members=classDistancesTable
|
|
[ClassifierSampleInfo]
|
|
arraysize=featureVector:featureVectorSize
|
|
[ClassifierReport]
|
|
arraysize=allScores:allScoresSize
|
|
[MatchGeometricPatternOptions]
|
|
arraysize=angleRanges:numAngleRanges
|
|
[ConstructROIOptions2]
|
|
arraysize=palette:numColors
|
|
[BestEllipse2]
|
|
arraysize=pointsUsed:numPointsUsed
|
|
[BestCircle2]
|
|
arraysize=pointsUsed:numPointsUsed
|
|
[ReadTextOptions]
|
|
arraysize=validChars:numValidChars
|
|
[ReadTextReport]
|
|
arraysize=characterReport:numCharacterReports
|
|
[EdgeLocationReport]
|
|
arraysize=edges:numEdges
|
|
[ImageInfo]
|
|
#TODO: imageStart
|
|
exclude_members=reserved0,reserved1,imageStart
|
|
[LCDReport]
|
|
arraysize=segmentInfo:numCharacters
|
|
exclude_members=reserved
|
|
[LCDSegments]
|
|
exclude_members=reserved
|
|
[LearnColorPatternOptions]
|
|
arraysize=colorsToIgnore:numColorsToIgnore
|
|
[LinearAverages]
|
|
arraysize=columnAverages:columnCount,rowAverages:rowCount,risingDiagAverages:risingDiagCount,fallingDiagAverages:fallingDiagCount
|
|
[LineProfile]
|
|
arraysize=profileData:dataCount
|
|
[MatchColorPatternOptions]
|
|
arraysize=angleRanges:numRanges
|
|
[HistogramReport]
|
|
arraysize=histogram:histogramCount
|
|
[BestLine]
|
|
arraysize=pointsUsed:numPointsUsed
|
|
[CalibrationInfo]
|
|
#TODO: errorMap:mapColumns*mapRows
|
|
exclude_members=errorMap
|
|
[CalibrationPoints]
|
|
arraysize=pixelCoordinates:numCoordinates,realWorldCoordinates:numCoordinates
|
|
[CaliperReport]
|
|
exclude_members=reserved
|
|
[ClosedContour]
|
|
arraysize=points:numPoints
|
|
[ColorInformation]
|
|
arraysize=info:infoCount
|
|
[ConcentricRakeReport]
|
|
arraysize=rakeArcs:numArcs,firstEdges:numFirstEdges,lastEdges:numLastEdges,allEdges:numLinesWithEdges,linesWithEdges:numLinesWithEdges
|
|
[ConstructROIOptions]
|
|
arraysize=palette:numColors
|
|
[ContourInfo]
|
|
arraysize=points:numPoints
|
|
[ContourInfo2]
|
|
uniontype=structure:type:IMAQ_POINT=point:IMAQ_LINE=line:IMAQ_RECT=rect:IMAQ_OVAL=ovalBoundingBox:IMAQ_CLOSED_CONTOUR=closedContour:IMAQ_OPEN_CONTOUR=openContour:IMAQ_ANNULUS=annulus:IMAQ_ROTATED_RECT=rotatedRect
|
|
[UserPointSymbol]
|
|
#TODO: pixels:cols*rows
|
|
exclude_members=pixels
|
|
[MatchPatternOptions]
|
|
arraysize=angleRanges:numRanges
|
|
[OpenContour]
|
|
arraysize=points:numPoints
|
|
[QuantifyReport]
|
|
arraysize=regions:regionCount
|
|
[RakeReport]
|
|
arraysize=rakeLines:numRakeLines,firstEdges:numFirstEdges,lastEdges:numLastEdges,allEdges:numLinesWithEdges,linesWithEdges:numLinesWithEdges
|
|
[TransformReport]
|
|
arraysize=points:numPoints,validPoints:numPoints
|
|
[MeterArc]
|
|
arraysize=arcCoordPoints:numOfArcCoordPoints
|
|
[StructuringElement]
|
|
#TODO: arraysize=kernel:matrixRows*matrixCols
|
|
exclude_members=kernel
|
|
[SpokeReport]
|
|
arraysize=spokeLines:numSpokeLines,firstEdges:numFirstEdges,lastEdges:numLastEdges,allEdges:numLinesWithEdges,linesWithEdges:numLinesWithEdges
|
|
[ToolWindowOptions]
|
|
exclude_members=reserved2,reserved3,reserved4
|
|
[EventCallback]
|
|
exclude=True
|
|
|
|
; Logical functions
|
|
; TODO: constant versions
|
|
[imaqAndConstant]
|
|
exclude=True
|
|
[imaqCompareConstant]
|
|
exclude=True
|
|
[imaqLogicalDifferenceConstant]
|
|
exclude=True
|
|
[imaqNandConstant]
|
|
exclude=True
|
|
[imaqNorConstant]
|
|
exclude=True
|
|
[imaqOrConstant]
|
|
exclude=True
|
|
[imaqXnorConstant]
|
|
exclude=True
|
|
[imaqXorConstant]
|
|
exclude=True
|
|
|
|
; Arithmetic functions
|
|
; TODO: constant versions
|
|
[imaqAbsoluteDifferenceConstant]
|
|
exclude=True
|
|
[imaqAddConstant]
|
|
exclude=True
|
|
[imaqAverageConstant]
|
|
exclude=True
|
|
[imaqDivideConstant2]
|
|
exclude=True
|
|
[imaqMaxConstant2]
|
|
exclude=True
|
|
[imaqMinConstant]
|
|
exclude=True
|
|
[imaqModuloConstant]
|
|
exclude=True
|
|
[imaqMultiplyConstant]
|
|
exclude=True
|
|
[imaqSubtractConstant]
|
|
exclude=True
|
|
|
|
; Particle Analysis functions
|
|
[imaqCountParticles]
|
|
outparams=numParticles
|
|
[imaqMeasureParticle]
|
|
outparams=value
|
|
[imaqMeasureParticles]
|
|
arraysize=measurements:numMeasurements
|
|
[imaqParticleFilter4]
|
|
arraysize=criteria:criteriaCount
|
|
outparams=numParticles
|
|
nullok=roi
|
|
|
|
; Morphology functions
|
|
[imaqFindCircles]
|
|
retarraysize=numCircles
|
|
[imaqLabel2]
|
|
outparams=particleCount
|
|
[imaqMorphology]
|
|
nullok=structuringElement
|
|
[imaqSeparation]
|
|
nullok=structuringElement
|
|
[imaqSimpleDistance]
|
|
nullok=structuringElement
|
|
[imaqSizeFilter]
|
|
nullok=structuringElement
|
|
|
|
; Acquisition functions
|
|
[imaqCopyFromRing]
|
|
nullok=image,imageNumber
|
|
outparams=imageNumber
|
|
retref=image
|
|
[imaqExtractFromRing]
|
|
nullok=imageNumber
|
|
outparams=imageNumber
|
|
retunowned=True
|
|
[imaqGrab]
|
|
nullok=image
|
|
retref=image
|
|
[imaqSetupRing]
|
|
arraysize=images:numImages
|
|
inparams=images
|
|
[imaqSetupSequence]
|
|
arraysize=images:numImages
|
|
inparams=images
|
|
[imaqSnap]
|
|
nullok=image
|
|
retref=image
|
|
|
|
; Caliper functions
|
|
[imaqCaliperTool]
|
|
retarraysize=numEdgePairs
|
|
arraysize=points:numPoints
|
|
[imaqDetectExtremes]
|
|
retarraysize=numExtremes
|
|
arraysize=pixels:numPixels
|
|
[imaqFindTransformRect2]
|
|
outparams=baseSystem,newSystem,axisReport
|
|
[imaqFindTransformRects2]
|
|
outparams=baseSystem,newSystem,axisReport
|
|
[imaqSimpleEdge]
|
|
retarraysize=numEdges
|
|
arraysize=points:numPoints
|
|
|
|
; Spatial Filters functions
|
|
[imaqCannyEdgeFilter]
|
|
nullok=options
|
|
[imaqConvolve2]
|
|
inparams=kernel
|
|
exclude=True
|
|
[imaqEdgeFilter]
|
|
nullok=mask
|
|
[imaqLowPass]
|
|
nullok=mask
|
|
[imaqMedianFilter]
|
|
nullok=mask
|
|
[imaqNthOrderFilter]
|
|
nullok=mask
|
|
|
|
; Drawing functions
|
|
[imaqDrawTextOnImage]
|
|
nullok=options,fontNameUsed
|
|
|
|
; Interlacing functions
|
|
[imaqInterlaceSeparate]
|
|
nullok=odd,even
|
|
|
|
; Image Information functions
|
|
[imaqEnumerateCustomKeys]
|
|
retarraysize=size
|
|
[imaqGetImageSize]
|
|
nullok=width,height
|
|
[imaqGetPixelAddress]
|
|
underscored=True
|
|
exclude=True
|
|
[imaqReadCustomData]
|
|
retsize=size
|
|
retunowned=True
|
|
[imaqWriteCustomData]
|
|
size=data:size
|
|
|
|
; Display functions
|
|
[imaqGetLastKey]
|
|
nullok=keyPressed,windowNumber,modifiers
|
|
[imaqGetSystemWindowHandle]
|
|
exclude=True
|
|
[imaqGetWindowCenterPos]
|
|
outparams=centerPosition
|
|
|
|
; Image Manipulation functions
|
|
[imaqCast]
|
|
nullok=lookup
|
|
exclude=True
|
|
[imaqFlatten]
|
|
retsize=size
|
|
[imaqRotate2]
|
|
# TODO because of PixelValue
|
|
exclude=True
|
|
[imaqShift]
|
|
# TODO because of PixelValue
|
|
exclude=True
|
|
[imaqUnflatten]
|
|
size=data:size
|
|
|
|
; File I/O functions
|
|
[imaqGetAVIInfo]
|
|
outparams=info
|
|
[imaqGetFileInfo]
|
|
nullok=calibrationUnit,calibrationX,calibrationY,width,height,imageType
|
|
[imaqGetFilterNames]
|
|
retarraysize=numFilters
|
|
[imaqLoadImagePopup]
|
|
retarraysize=numPaths
|
|
[imaqReadAVIFrame]
|
|
size=data:dataSize
|
|
# unclear whether dataSize is input or output parameter
|
|
exclude=True
|
|
[imaqReadFile]
|
|
;nullok=colorTable,numColors
|
|
;arraysize=colorTable:numColors
|
|
[imaqWriteAVIFrame]
|
|
size=data:dataLength
|
|
[imaqWriteBMPFile]
|
|
nullok=colorTable
|
|
defaults=colorTable:null
|
|
[imaqWriteFile]
|
|
nullok=colorTable
|
|
defaults=colorTable:null
|
|
[imaqWriteJPEGFile]
|
|
nullok=colorTable
|
|
defaults=colorTable:null
|
|
inparams=colorTable
|
|
[imaqWritePNGFile2]
|
|
nullok=colorTable
|
|
defaults=colorTable:null
|
|
[imaqWriteTIFFFile]
|
|
nullok=options,colorTable
|
|
defaults=options:null,colorTable:null
|
|
|
|
; Analytic Geometry functions
|
|
[imaqBuildCoordinateSystem]
|
|
outparams=system
|
|
[imaqFitCircle2]
|
|
arraysize=points:numPoints
|
|
[imaqFitEllipse2]
|
|
arraysize=points:numPoints
|
|
[imaqFitLine]
|
|
arraysize=points:numPoints
|
|
[imaqGetBisectingLine]
|
|
outparams=bisectStart,bisectEnd
|
|
[imaqGetIntersection]
|
|
outparams=intersection
|
|
[imaqGetMidLine]
|
|
outparams=midLineStart,midLineEnd
|
|
[imaqGetPerpendicularLine]
|
|
outparams=perpLineStart,perpLineEnd
|
|
[imaqGetPointsOnContour]
|
|
retarraysize=numSegments
|
|
[imaqGetPointsOnLine]
|
|
retarraysize=numPoints
|
|
[imaqInterpolatePoints]
|
|
retarraysize=interpCount
|
|
arraysize=points:numPoints
|
|
|
|
; Clipboard functions
|
|
[imaqClipboardToImage]
|
|
nullok=palette
|
|
[imaqImageToClipboard]
|
|
nullok=palette
|
|
|
|
; Image Management functions
|
|
[imaqCreateImage]
|
|
defaults=borderSize:0
|
|
[imaqImageToArray]
|
|
nullok=columns,rows
|
|
underscored=True
|
|
exclude=True
|
|
|
|
; Color Processing functions
|
|
[imaqChangeColorSpace2]
|
|
# TODO because of Color2
|
|
exclude=True
|
|
[imaqColorBCGTransform]
|
|
nullok=redOptions,greenOptions,blueOptions,mask
|
|
[imaqColorHistogram2]
|
|
nullok=mask
|
|
[imaqColorLookup]
|
|
nullok=mask,plane1,plane2,plane3
|
|
exclude=True
|
|
[imaqColorThreshold]
|
|
nullok=plane1Range,plane2Range,plane3Range
|
|
|
|
; Transform functions
|
|
[imaqBCGTransform]
|
|
nullok=mask
|
|
[imaqEqualize]
|
|
nullok=mask
|
|
[imaqInverse]
|
|
nullok=mask
|
|
[imaqMathTransform]
|
|
nullok=mask
|
|
[imaqLookup2]
|
|
nullok=mask
|
|
exclude=True
|
|
|
|
; Window Management functions
|
|
[imaqGetMousePos]
|
|
nullok=position,windowNumber
|
|
[imaqGetWindowBackground]
|
|
outparams=backgroundColor
|
|
[imaqGetWindowDisplayMapping]
|
|
outparams=mapping
|
|
[imaqGetWindowGrid]
|
|
nullok=xResolution,yResolution
|
|
[imaqGetWindowPos]
|
|
outparams=position
|
|
[imaqGetWindowSize]
|
|
nullok=width,height
|
|
[imaqSetWindowPalette]
|
|
arraysize=palette:numColors
|
|
nullok=palette
|
|
|
|
; Utilities functions
|
|
; Many Make* functions are faster in native Python
|
|
[imaqGetKernel]
|
|
exclude=True
|
|
[imaqMakeAnnulus]
|
|
exclude=True
|
|
[imaqMakePoint]
|
|
exclude=True
|
|
[imaqMakePointFloat]
|
|
exclude=True
|
|
[imaqMakeRect]
|
|
exclude=True
|
|
[imaqMakeRectFromRotatedRect]
|
|
exclude=True
|
|
[imaqMakeRotatedRect]
|
|
exclude=True
|
|
[imaqMakeRotatedRectFromRect]
|
|
exclude=True
|
|
[imaqMulticoreOptions]
|
|
underscored=True
|
|
|
|
; Tool Window functions
|
|
[imaqGetLastEvent]
|
|
nullok=windowNumber,tool,rect
|
|
outparams=type,tool,rect
|
|
[imaqGetToolWindowHandle]
|
|
exclude=True
|
|
[imaqGetToolWindowPos]
|
|
outparams=position
|
|
[imaqSetEventCallback]
|
|
exclude=True
|
|
[imaqSetupToolWindow]
|
|
nullok=options
|
|
|
|
; Meter functions
|
|
[imaqReadMeter]
|
|
outparams=endOfNeedle
|
|
|
|
; Calibration functions
|
|
[imaqCorrectCalibratedImage]
|
|
# TODO because of PixelValue
|
|
exclude=True
|
|
[imaqTransformPixelToRealWorld]
|
|
arraysize=pixelCoordinates:numCoordinates
|
|
[imaqTransformRealWorldToPixel]
|
|
arraysize=realWorldCoordinates:numCoordinates
|
|
|
|
; Pixel Manipulation functions
|
|
[imaqArrayToComplexPlane]
|
|
exclude=True
|
|
[imaqComplexPlaneToArray]
|
|
nullok=columns,rows
|
|
underscored=True
|
|
exclude=True
|
|
[imaqExtractColorPlanes]
|
|
nullok=plane1,plane2,plane3
|
|
[imaqFillImage]
|
|
nullok=mask
|
|
# TODO because of PixelValue
|
|
exclude=True
|
|
[imaqGetLine]
|
|
nullok=numPoints
|
|
underscored=True
|
|
exclude=True
|
|
[imaqGetPixel]
|
|
outparams=value
|
|
# TODO because of PixelValue
|
|
exclude=True
|
|
[imaqReplaceColorPlanes]
|
|
nullok=plane1,plane2,plane3
|
|
[imaqSetLine]
|
|
underscored=True
|
|
exclude=True
|
|
[imaqSetPixel]
|
|
# TODO because of PixelValue
|
|
exclude=True
|
|
|
|
; Color Matching functions
|
|
[imaqLearnColor]
|
|
nullok=roi
|
|
[imaqMatchColor]
|
|
retarraysize=numScores
|
|
nullok=roi
|
|
|
|
; Barcode I/O functions
|
|
[imaqGradeDataMatrixBarcodeAIM]
|
|
outparams=report
|
|
[imaqReadBarcode]
|
|
nullok=roi
|
|
[imaqReadPDF417Barcode]
|
|
retarraysize=numBarcodes
|
|
[imaqReadQRCode]
|
|
defaults=reserved:IMAQ_QR_NO_GRADING
|
|
|
|
; LCD functions
|
|
[imaqFindLCDSegments]
|
|
nullok=options
|
|
[imaqReadLCD]
|
|
nullok=options
|
|
|
|
; Shape Matching functions
|
|
[imaqMatchShape]
|
|
retarraysize=numMatches
|
|
|
|
; Contours functions
|
|
[imaqAddClosedContour]
|
|
arraysize=points:numPoints
|
|
[imaqAddOpenContour]
|
|
arraysize=points:numPoints
|
|
[imaqGetContourColor]
|
|
outparams=contourColor
|
|
|
|
; Regions of Interest functions
|
|
[imaqGetROIBoundingBox]
|
|
outparams=boundingBox
|
|
[imaqGetROIColor]
|
|
outparams=roiColor
|
|
[imaqSetWindowROI]
|
|
nullok=roi
|
|
|
|
; Image Analysis functions
|
|
[imaqExtractCurves]
|
|
retarraysize=numCurves
|
|
[imaqHistogram]
|
|
nullok=mask
|
|
[imaqQuantify]
|
|
nullok=mask
|
|
|
|
; Error Management functions
|
|
[imaqClearError]
|
|
exclude=True
|
|
[imaqGetErrorText]
|
|
exclude=True
|
|
[imaqGetLastError]
|
|
exclude=True
|
|
[imaqGetLastErrorFunc]
|
|
exclude=True
|
|
[imaqSetError]
|
|
nullok=function
|
|
exclude=True
|
|
|
|
; Threshold functions
|
|
[imaqMultithreshold]
|
|
arraysize=ranges:numRanges
|
|
|
|
; Memory Management functions
|
|
[imaqDispose]
|
|
# This is done as a full-custom function
|
|
exclude=True
|
|
|
|
; Pattern Matching functions
|
|
[imaqDetectCircles]
|
|
retarraysize=numMatchesReturned
|
|
[imaqDetectEllipses]
|
|
retarraysize=numMatchesReturned
|
|
[imaqDetectLines]
|
|
retarraysize=numMatchesReturned
|
|
[imaqDetectRectangles]
|
|
retarraysize=numMatchesReturned
|
|
[imaqGetGeometricFeaturesFromCurves]
|
|
retarraysize=numFeatures
|
|
arraysize=curves:numCurves,featureTypes:numFeatureTypes
|
|
[imaqGetGeometricTemplateFeatureInfo]
|
|
retarraysize=numFeatures
|
|
[imaqLearnMultipleGeometricPatterns]
|
|
arraysize=patterns:numberOfPatterns
|
|
exclude=True
|
|
[imaqMatchColorPattern]
|
|
retarraysize=numMatches
|
|
[imaqMatchGeometricPattern2]
|
|
retarraysize=numMatches
|
|
[imaqMatchMultipleGeometricPatterns]
|
|
retarraysize=numMatches
|
|
[imaqReadMultipleGeometricPatternFile]
|
|
underscored=True
|
|
[imaqRefineMatches]
|
|
retarraysize=numCandidatesOut
|
|
arraysize=candidatesIn:numCandidatesIn
|
|
[imaqMatchGeometricPattern3]
|
|
retarraysize=numMatches
|
|
[imaqMatchPattern3]
|
|
retarraysize=numMatches
|
|
nullok=options
|
|
|
|
; Overlay functions
|
|
[imaqGetOverlayProperties]
|
|
outparams=transformBehaviors
|
|
[imaqMergeOverlay]
|
|
arraysize=palette:numColors
|
|
[imaqOverlayBitmap]
|
|
underscored=True
|
|
[imaqOverlayClosedContour]
|
|
arraysize=points:numPoints
|
|
[imaqOverlayOpenContour]
|
|
arraysize=points:numPoints
|
|
[imaqOverlayPoints]
|
|
arraysize=points:numPoints,colors:numColors
|
|
|
|
; OCR functions
|
|
[imaqVerifyPatterns]
|
|
arraysize=expectedPatterns:patternCount
|
|
retarraysize=numScores
|
|
[imaqVerifyText]
|
|
retarraysize=numScores
|
|
|
|
; Geometric Matching functions
|
|
[imaqContourClassifyCurvature]
|
|
arraysize=curvatureClasses:numCurvatureClasses
|
|
[imaqContourClassifyDistances]
|
|
arraysize=distanceRanges:numDistanceRanges
|
|
[imaqContourSetupMatchPattern]
|
|
arraysize=rangeSettings:numRangeSettings
|
|
[imaqContourAdvancedSetupMatchPattern]
|
|
arraysize=geometricOptions:numGeometricOptions
|
|
|
|
; Morphology Reconstruction functions
|
|
[imaqGrayMorphologyReconstruct]
|
|
arraysize=points:numOfPoints
|
|
[imaqMorphologyReconstruct]
|
|
arraysize=points:numOfPoints
|
|
|
|
; Texture functions
|
|
[imaqClassificationTextureDefectOptions]
|
|
exclude=True
|
|
[imaqCooccurrenceMatrix]
|
|
exclude=True
|
|
[imaqExtractTextureFeatures]
|
|
inparams=waveletBands
|
|
exclude=True
|
|
[imaqExtractWaveletBands]
|
|
inparams=waveletBands
|
|
exclude=True
|
|
|
|
; Regions of Interest Manipulation functions
|
|
[imaqMaskToROI]
|
|
nullok=withinLimit
|
|
[imaqROIToMask]
|
|
nullok=imageModel,inSpace
|
|
[imaqLabelToROI]
|
|
arraysize=labelsIn:numLabelsIn
|
|
|
|
; Morphology functions
|
|
[imaqGrayMorphology]
|
|
nullok=structuringElement
|
|
|
|
; Classification functions
|
|
[imaqAddClassifierSample]
|
|
arraysize=featureVector:vectorSize
|
|
[imaqAdvanceClassify]
|
|
arraysize=featureVector:vectorSize
|
|
[imaqClassify]
|
|
arraysize=featureVector:vectorSize
|
|
[imaqGetColorClassifierOptions]
|
|
outparams=options
|
|
[imaqGetNearestNeighborOptions]
|
|
outparams=options
|
|
;[imaqReadClassifierFile]
|
|
;[imaqWriteClassifierFile]
|
|
|
|
; Obsolete functions
|
|
[imaqWritePNGFile]
|
|
nullok=colorTable
|
|
defaults=colorTable:null
|
|
[imaqRotate]
|
|
# TODO because of PixelValue
|
|
exclude=True
|
|
[imaqSelectParticles]
|
|
retarraysize=selectedCount
|
|
[imaqGetParticleInfo]
|
|
retarraysize=reportCount
|
|
[imaqEdgeTool]
|
|
retarraysize=numEdges
|
|
[imaqCircles]
|
|
retarraysize=numCircles
|
|
[imaqFitEllipse]
|
|
arraysize=points:numPoints
|
|
outparams=ellipse
|
|
[imaqFitCircle]
|
|
arraysize=points:numPoints
|
|
outparams=circle
|
|
[imaqChangeColorSpace]
|
|
# TODO because of Color
|
|
exclude=True
|
|
[imaqMatchPattern]
|
|
retarraysize=numMatches
|
|
nullok=options
|
|
[imaqLineGaugeTool]
|
|
nullok=reference
|
|
[imaqBestCircle]
|
|
arraysize=points:numPoints
|
|
outparams=center
|
|
[imaqCoordinateReference]
|
|
outparams=origin
|
|
[imaqSetWindowOverlay]
|
|
nullok=overlay
|
|
[imaqGetCalibrationInfo]
|
|
outparams=unit,xDistance,yDistance
|
|
nullok=unit,xDistance,yDistance
|
|
[imaqGetParticleClassifierOptions]
|
|
outparams=preprocessingOptions,options
|
|
[imaqConvolve]
|
|
nullok=mask
|
|
inparams=kernel
|
|
exclude=True
|
|
[imaqDivideConstant]
|
|
# TODO because of PixelValue
|
|
exclude=True
|
|
[imaqLookup]
|
|
nullok=mask
|
|
exclude=True
|
|
[imaqMatchPattern2]
|
|
retarraysize=numMatches
|
|
nullok=options
|
|
[imaqMaxConstant]
|
|
# TODO because of PixelValue
|
|
exclude=True
|
|
[imaqParticleFilter2]
|
|
arraysize=criteria:criteriaCount
|
|
[imaqEdgeTool2]
|
|
retarraysize=numEdges
|
|
[imaqReadDataMatrixBarcode]
|
|
retarraysize=numBarcodes
|
|
[imaqMatchGeometricPattern]
|
|
retarraysize=numMatches
|
|
[imaqColorHistogram]
|
|
nullok=mask
|
|
[Priv_ReadJPEGString_C]
|
|
arraysize=string:stringLength
|
|
inparams=image,string
|
|
|
|
; block comment exclusion list
|
|
[Block Comment]
|
|
exclude=
|
|
Includes
|
|
Control Defines
|
|
Macros
|
|
This accomplishes said task.
|
|
If using Visual C++, force startup & shutdown code to run.
|
|
Error Management functions
|
|
Callback Function Type
|
|
Backwards Compatibility
|
|
Error Codes
|