using System.Drawing; namespace XP.Calibration.Models; /// /// 椭圆拟合结果 | Ellipse fitting result /// public record EllipseResult { public PointF Center { get; init; } public float LongAxis { get; init; } public float ShortAxis { get; init; } public float Angle { get; init; } } /// /// 几何参数 | Geometry parameters for CT system /// public class GeoParams { /// 焦点到旋转中心距离 (mm) | Distance Source to Origin public double DSO { get; set; } /// 焦点到探测器距离 (mm) | Distance Source to Detector public double DSD { get; set; } /// 探测器像素大小 (mm) | Detector pixel size public double PixelSize { get; set; } /// 探测器水平像素数 | Detector horizontal pixel count public int NDetecU { get; set; } /// 探测器垂直像素数 | Detector vertical pixel count public int NDetecV { get; set; } } /// /// 中心校准结果 | Center calibration result /// public record CenterCalibrationResult { /// 椭圆拟合结果 public EllipseResult Ellipse { get; init; } = null!; /// 倾斜角 (度) | Tilt angle in degrees public double AlphaDeg { get; init; } /// 反算半径 R (mm) public double R_mm { get; init; } /// 透视偏移量 (像素) | Perspective offset in pixels public double DeltaPx { get; init; } /// 修正后焦点投影 U 坐标 public double FocalU { get; init; } /// 修正后焦点投影 V 坐标 public double FocalV { get; init; } /// 各帧检测到的球心坐标 public List DetectedCenters { get; init; } = new(); }