using OpenCvSharp;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
namespace PaintDotNet.Base.DedicatedAnalysis.GrainSize
{
///
/// 评定方法
///
public abstract class MethodOfAssessment
{
///
/// 所属的标准
///
public GrainSizeStandard grainSizeStandard;
///
/// 标准的方法类型(0 截点法/截距法, 1 面积法)
///
public int grainMethodType;
///
/// 数据库的name(报告模板)
///
public string resourcesName;
///
/// 辅助线配置文件名称
///
///
public string guideXmlName;
// 标准的结果模型
// 试样总检验面积
// 视场面积
// 放大倍数
/////
///// 产生报告
/////
//public AnalysisResult generateReport(Mat originalImage, Mat binary, List rectangles,int kLevel,int viewNum)
//{
// AnalysisResult analysisResult = GetAnalysisResult();
// analysisResult.inclusionsStandard = this.inclusionsStandard;
// analysisResult.mat = originalImage;
// analysisResult.inclusions = inclusions;
// analysisResult.rectangles = rectangles;
// analysisResult.kLevel = kLevel;
// analysisResult.viewNum = viewNum;
// analysisResult.buildResultBody();
// binary.Dispose();
// return analysisResult;
//}
//public abstract AnalysisResult GetAnalysisResult();
//public abstract List getResultConclusionHead();
//public abstract List buildResultConclusion(List analysisResults);
/////
///// 分析结果
/////
//public abstract class AnalysisResult
//{
// ///
// /// 所属标准
// ///
// public InclusionsStandard inclusionsStandard;
// ///
// /// 所属图片
// ///
// public Mat mat;
// ///
// /// 夹杂物列表
// ///
// public List inclusions;
// public List rectangles;
// public int viewNum;
// public List publicResultHead = new List {"图片","视场"};
// public Dictionary> resultBody = new Dictionary>();
// ///
// /// K法级别
// ///
// public int kLevel;
// ///
// /// 视场模型
// ///
// public class FieldOfView
// {
// public string name;
// public RectangleF rectangle;
// public List inclusions;
// ///
// /// 过滤有效的夹杂物
// ///
// ///
// public List effectiveFilteringInclusion(List inclusions)
// {
// List inclusions1 = new List();
// foreach (var item in inclusions)
// {
// if (this.rectangle.Contains(item.rectProfile) || this.rectangle.IntersectsWith(item.rectProfile))
// {
// inclusions1.Add(item);
// }
// }
// return inclusions1;
// }
// }
// public List getResultHead()
// {
// List resultHead = new List();
// resultHead.AddRange(publicResultHead);
// resultHead.AddRange(getDedicatedResultHead());
// return resultHead;
// }
// public abstract List getDedicatedResultHead();
// public abstract void buildResultBody();
// ///
// /// 夹杂物评级
// ///
// /// 评级图暂已硬编码形式实现
// public abstract double ratingInclusion(string type, double value);
//}
}
}