Files
XplorePlane/XP.Hardware.Detector/Services/IImageService.cs
T

42 lines
1.8 KiB
C#

using System.Threading.Tasks;
using XP.Hardware.Detector.Abstractions;
namespace XP.Hardware.Detector.Services
{
/// <summary>
/// 图像服务接口 | Image service interface
/// 提供图像获取和 16 位 TIFF 保存功能,适用于连续采集和单帧采集
/// </summary>
public interface IImageService
{
/// <summary>
/// 获取最新采集的原始 16 位图像数据 | Get latest captured raw 16-bit image data
/// 返回 null 表示尚无图像 | Returns null if no image available
/// </summary>
ImageCapturedEventArgs LatestFrame { get; }
/// <summary>
/// 保存 16 位灰度图像为 TIFF 文件 | Save 16-bit grayscale image as TIFF file
/// </summary>
Task<DetectorResult> SaveAsTiffAsync(ushort[] imageData, int width, int height, string filePath);
/// <summary>
/// 保存 16 位灰度图像为 TIFF 文件,自动生成文件名 | Save with auto-generated filename
/// </summary>
Task<DetectorResult> SaveAsTiffAsync(ushort[] imageData, int width, int height, string saveDirectory, string prefix, int frameNumber);
/// <summary>
/// 保存最新帧为 16 位 TIFF(便捷方法)| Save latest frame as 16-bit TIFF (convenience method)
/// </summary>
/// <param name="saveDirectory">保存目录 | Save directory</param>
/// <param name="prefix">文件名前缀 | Filename prefix</param>
/// <returns>操作结果,无可用帧时返回失败 | Operation result, failure if no frame available</returns>
Task<DetectorResult> SaveLatestFrameAsync(string saveDirectory, string prefix);
/// <summary>
/// 获取配置的默认保存目录 | Get configured default save directory
/// </summary>
string GetDefaultSaveDirectory();
}
}