ParticleCoefficients Method

NI Vision for Visual Basic

ParticleCoefficients Method

Syntax

CWIMAQVision.ParticleCoefficients SourceImage, ParametersArray, ParticlesReport, CoefficientsArray

Return Type

Long

On success, this method returns 0. On failure, this method returns a negative number.

Purpose

Obsolete—Use ParticleMeasurement instead. Calculates the coefficients of all detected particles. This method returns an array of coefficients whose measurements are based on the results from Particle.

Remarks

Use this method with U8 images.

Parameters

SourceImage As CWIMAQImage

The image used by the Particle method. ParticleCoefficients needs this image to get the calibration values.

ParametersArray As Variant

An array containing the parameter list you want to extract. The parameter list contains elements from the enumeration CWIMAQParticleParameters.

ParticlesReport As CWIMAQFullParticleReport

A report object containing the ParticlesReport that the Particle method generated.

CoefficientsArray As Variant

On return, a 2D array filled with the computed particle coefficients. The array columns contain parameter coefficients extracted from a particle. The array rows contain the same coefficients extracted from each particle measurement. The method returns the computed coefficients particle by particle.

Example

Private Sub Run_Click()
    Dim report1 As New CWIMAQFullParticleReport
    Dim parameterarray(0 To 3) As CWIMAQParticleParameters
    Dim coeffarray
    Dim i

    ' Do particle analysis
    CWIMAQVision1.Particle CWIMAQViewer1.Image, report1

    ' Calculate the area, orientation, and center of mass for each particle
    parameterarray(0) = cwimaqParticleArea
    parameterarray(1) = cwimaqParticleOrientation
    parameterarray(2) = cwimaqParticleCenterMassX
    parameterarray(3) = cwimaqParticleCenterMassY
    CWIMAQVision1.ParticleCoefficients CWIMAQViewer1.Image, parameterarray, report1, coeffarray

    ' For each particle, display the Area, Orientation, and mark the center of mass
    For i = 0 To report1.Count - 1
        Dim Area
        Dim Orientation
        Dim X
        Dim Y
        Dim Text As String
        Dim oval As New CWIMAQOval
        Dim point As New CWIMAQPoint
        Dim textOptions As New CWIMAQTextOptions
        Area = coeffarray(0, i)
        Orientation = coeffarray(1, i)
        X = coeffarray(2, i)
        Y = coeffarray(3, i)
        Text = "A: " & CStr(Area) & "  O: " & Format(Orientation, "##0.00")
        oval.Initialize X - 4, Y - 4, 8, 8
        CWIMAQViewer1.Image.Overlays(1).DrawOval oval, cwimaqDrawModePaint
        point.Initialize X, Y
        textOptions.HorizontalAlignment = cwimaqHorizontalTextAlignmentCenter
        textOptions.Style = cwimaqTextStyleNormal
        textOptions.Font = "Arial"
        textOptions.Size = 16
        textOptions.ForeColor = vbWhite
        CWIMAQViewer1.Image.Overlays(1).DrawText point, Text, textOptions
    Next
End Sub

See Also

ParticleMeasurement