using MwFramework.Device.Model;
using SemiconductorVisionAlgorithm.SemiParams;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Jm1RecheckDiePoint = JM1.JM1Params.RecheckDiePoint;
using SemiPoint = SemiconductorVisionAlgorithm.SemiParams.Point;
namespace MainShell.Vision
{
///
/// 通用视觉算法服务接口。
///
public interface ICommonVisionAlgorithmService
{
Task GenWaferMapXAsync(
string fileDirectory,
double[] edgePtRow,
double[] edgePtCol,
double[] edgePtAngle,
double[] inPtRow,
double[] inPtCol,
double[] inPtAngle,
double upThresholdAngle,
double upRowDistance,
double upColDistance,
int upRowNumber,
int upColNumber,
double firstPosRow,
double firstPosCol,
double distanceThreshold,
double angleThreshold,
double rotateAngle,
CancellationToken cancellationToken = default(CancellationToken));
Task RecheckPosRgbAsync(
List edgeDiePoints,
List inDiePoints,
double threshold,
List existingPoints,
RecheckDieMap padPos,
double diePitch,
int rowNumber,
int colNumber,
CancellationToken cancellationToken = default(CancellationToken));
Task ClearRecheckDiePosAsync(
CancellationToken cancellationToken = default(CancellationToken));
Task ClearMapAsync(
int flag,
CancellationToken cancellationToken = default(CancellationToken));
Task PatchPos, List ExceptPos)>> GetMapAsync(
CancellationToken cancellationToken = default(CancellationToken));
Task ExposedPoints)>> GetRecheckDiePosAsync(
CancellationToken cancellationToken = default(CancellationToken));
Task CalProductAffineAsync(
List sourcePoints,
List targetPoints,
CancellationToken cancellationToken = default(CancellationToken));
Task> CalculateLineAngleAsync(
SemiPoint point1,
SemiPoint point2,
CancellationToken cancellationToken = default(CancellationToken));
Task SetWorkAreaAsync(
string fileDirectory,
double heightY,
double widthX,
CancellationToken cancellationToken = default(CancellationToken));
Task SetDirectionAsync(
string fileDirectory,
int xDirection,
int yDirection,
CancellationToken cancellationToken = default(CancellationToken));
}
}