using MainShell.Models;
using System.Threading;
using System.Threading.Tasks;

namespace MainShell.Vision
{
    /// <summary>
    /// 中心识别服务接口。
    /// </summary>
    public interface IFindCenterService
    {
        /// <summary>
        /// 采图并执行中心识别。
        /// </summary>
        Task<VisionProcessResult<FindCenterResult>> ProcessAsync(
            FindCenterRequest request,
            CancellationToken cancellationToken = default(CancellationToken));

        /// <summary>
        /// 对已有图像执行中心识别。
        /// </summary>
        Task<VisionProcessResult<FindCenterResult>> ProcessImageAsync(
            MxImage image,
            FindCenterImageRequest request,
            CancellationToken cancellationToken = default(CancellationToken));
    }
}
