using System.Collections.Generic; using XP.Hardware.Detector.Abstractions.Enums; namespace XP.Hardware.Detector.Config { /// /// iRay 探测器配置类 | iRay detector configuration class /// 包含 iRay 专属的配置参数 /// public class IRayDetectorConfig : DetectorConfig { /// /// 默认增益值 | Default gain value /// public double DefaultGain { get; set; } = 1.0; /// /// 采集模式 | Acquisition mode /// public AcquisitionMode AcquisitionMode { get; set; } = AcquisitionMode.Continuous; /// /// iRay 支持 1×1、2×2、3×3、4×4 四种 Binning | iRay supports 1×1, 2×2, 3×3, 4×4 binning /// public override List GetSupportedBinnings() { return new List { new BinningOption("1×1", 0), new BinningOption("2×2", 1), new BinningOption("3×3", 2), new BinningOption("4×4", 3), }; } /// /// iRay PGA 范围 1-8 | iRay PGA range 1-8 /// public override List GetSupportedPgaValues() { return new List { 1, 2, 3, 4, 5, 6, 7, 8 }; } /// /// iRay 各 Binning 模式最大帧率 | iRay max frame rate per binning mode /// public override decimal GetMaxFrameRate(int binningIndex) => binningIndex switch { 0 => 15m, // 1×1 1 => 30m, // 2×2 2 => 45m, // 3×3 3 => 60m, // 4×4 _ => 15m }; } }