using Vinno.AI.AIDiagnosisSDK.Models;
using Vinno.AI.CommonSDK.Enums;
using Vinno.AI.CommonSDK.Interfaces;
using Vinno.AI.CommonSDK.Models;
namespace Vinno.AI.AIDiagnosisSDK.Interfaces
{
public interface IAIDiagnosisService : IAIService
{
///
/// 初始化Breast Diagnosis
///
///
void InitializeBreastDiagnosis(AIDiagnosisParameter breastDiagnosisParameter, bool hasImageProvider);
///
/// 初始化Abdomen Diagnosis
///
///
void InitializeAbdomenDiagnosis(AIDiagnosisParameter abdomenDiagnosisParameter, bool hasImageProvider);
///
/// 初始化Thyroid Diagnosis
///
///
void InitializeThyroidDiagnosis(AIDiagnosisParameter thyroidDiagnosisParameter, bool hasImageProvider);
///
/// 初始化Carotid Diagnosis
///
///
void InitializeCarotidDiagnosis(AIDiagnosisParameter carotidDiagnosisParameter, bool hasImageProvider);
///
/// Start Image Provider
///
void Start();
///
/// Stop Image Provider
///
void Stop();
///
/// 检测单张Byte Image
///
///
TransAIDiagResultPerImg DetectOneByteImage(AIEnumModuleType aiEnumType);
///
/// 检测单张Byte Image,其中enableLesionSeg与enableLessionDescription仅此次调用生效
///
/// 是否计算轮廓
/// 是否计算病灶描述结果
///
TransAIDiagResultPerImg DetectOneByteImageWithTempSetting(AIEnumModuleType aiEnumType, bool enableLesionSeg, bool enableLessionDescription, bool enableOrganDescrition);
///
/// 检测单张Raw Image
///
///
TransAIDiagResultPerImg DetectOneRawImage(AIEnumModuleType aiEnumType, int height, int width, AIEnumColorType colorType);
///
/// 检测单张Raw Image,其中enableLesionSeg与enableLessionDescription仅此次调用生效
///
/// 是否计算轮廓
/// 是否计算病灶描述结果
///
TransAIDiagResultPerImg DetectOneRawImageWithTempSetting(AIEnumModuleType aiEnumType, int height, int width, AIEnumColorType colorType, bool enableLesionSeg, bool enableLessionDescription, bool enableOrganDescrition);
///
/// 评估单幅图像 ,图像计算完成后,使用者希望调整结果,使部分结果在选定的矩形框内。
///
/// 使用者给出的矩形框
/// 图像的初始计算结果
///
TransAIDiagResultPerImg CalculateCarotidInnerDiameterAndIntimaMediaThicknessInSpecifiedRectWithBytesImage(AIRect aiRect, TransAIDiagResultPerImg transAIDiagResultPerImg);
///
/// 评估单幅图像 ,图像计算完成后,使用者希望调整结果,使部分结果在选定的矩形框内。
///
/// 使用者给出的矩形框
/// 图像的初始计算结果
TransAIDiagResultPerImg CalculateCarotidInnerDiameterAndIntimaMediaThicknessInSpecifiedRectWithRawImage(int height, int width, AIEnumColorType colorType, AIRect aiRect, TransAIDiagResultPerImg transAIDiagResultPerImg);
///
/// 设置图片是否已裁剪
///
///
void SetIsCropped(AIEnumModuleType aiEnumType, bool isCropped);
///
/// 设置每秒图片吞吐量
///
///
void SetDetectTps(AIEnumModuleType aiEnumType, int detectTps);
///
/// 设置间隔时间
///
///
void SetIntervalTime(AIEnumModuleType aiEnumType, int intervalTime);
///
/// 设置检测模式
///
///
void SetDetectMode(AIEnumModuleType aiEnumType, AIEnumDetectMode detectMode);
///
/// 设置是否启用轮廓计算
///
///
void SetEnableLesionSeg(AIEnumModuleType aiEnumType, bool enableLesionSeg);
///
/// 设置是否启用病灶描述
///
///
void SetEnableDescription(AIEnumModuleType aiEnumType, bool enableLessionDescription, bool enableOrganDescription);
///
/// 关闭AI Diagnosis
///
void Close(AIEnumModuleType aiEnumType);
///
/// Send Raw Image Data For Pipe
///
///
///
///
void SendRawImageData(AIEnumModuleType aiEnumType, int height, int width, AIEnumColorType colorType);
///
/// Send Byte Image Data For Pipe
///
void SendByteImageData(AIEnumModuleType aiEnumType);
}
}