123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- using System.Runtime.Serialization;
- namespace EPInterface.Datas
- {
- [DataContract]
- public enum AlgorithmType
- {
- [EnumMember]
- None, //非endpoint
- //level trigger, invaild time
- [EnumMember]
- FallByValue, //"FallValue" ValidationTime,Threshold <
- [EnumMember]
- RiseByValue, //"RiseValue" ValidationTime,Threshold >
- [EnumMember]
- FallByPercent, //"FallPecent" ValidationTime,Threshold, TimeWindow <
- [EnumMember]
- RiseByPercent, //"RisePecent" ValidationTime,Threshold, TimeWindow >
- [EnumMember]
- FallByPercentOnMinBase, //"MinFallPecent" ValidationTime,Threshold, TimeWindow, BandTime
- [EnumMember]
- FallByPercentOnMaxBase, //"MaxFallPecent" ValidationTime,Threshold, TimeWindow, BandTime
- [EnumMember]
- RiseByPercentOnMinBase, //"MinRisePecent" ValidationTime,Threshold, TimeWindow, BandTime
- [EnumMember]
- RiseByPercentOnMaxBase, //"MaxRisePecent" ValidationTime,Threshold, TimeWindow, BandTime
- [EnumMember] Threshold, //"Threshold"
- //Edge Trigger
- [EnumMember]
- Gradients, //"Gradient" Threshold, TimeWindow
- [EnumMember]
- Range, //"RangeIn" Threshold, TimeWindow
- [EnumMember]
- Peak, //Peak Threshold, TimeWindow, ValidationTime
- [EnumMember]
- Valley, //Vallery Threshold, TimeWindow, ValidationTime
- [EnumMember]
- FallingEdge, //"RiseFall" Threshold, ValidationTime,ValidationValue,
- [EnumMember]
- RisingEdge, //"FallRise" Threshold, ValidationTime,ValidationValue,
- [EnumMember] Fringe, //"FallRise" Threshold, ValidationTime,ValidationValue,
- [EnumMember] Etch,
- [EnumMember] ONetch,
- }
- [DataContract]
- public class EPDColumn
- {
- [DataMember]
- public bool bNormalization { get; set; }
- [DataMember]
- public bool bControl { get; set; }
- [DataMember]
- public bool bPostponePercent { get; set; }
- [DataMember]
- public bool bEvtTrigger { get; set; }
- [DataMember]
- public bool bCriteriaPercent { get; set; }
- [DataMember]
- public int nCCDExposureTime { get; set; }
- [DataMember]
- public int nPreFilterTime { get; set; }
- [DataMember]
- public int nPostFilterTime { get; set; }
- [DataMember]
- public AlgorithmType algorithmType { get; set; }
- [DataMember]
- public double nCriteria { get; set; }
- [DataMember]
- public int nDelayTime { get; set; }
- [DataMember]
- public int nValidationTime { get; set; }
- [DataMember]
- public int nTimeWindow { get; set; }
- [DataMember]
- public int nMinimalTime { get; set; } // Version 2
- [DataMember]
- public int nPostponeTime { get; set; } // Version 2
- [DataMember]
- public int nValidationValue { get; set; } // Used for rise / fall algorithm
- [DataMember]
- public int nRefractionIndex { get; set; }// Only for IEP, always zero
- [DataMember]
- public float fEtchAmount { get; set; } // Only for IEP, always zero
- [DataMember]
- public ushort[] nWaveLength { get; set; }
- [DataMember]
- public ushort[] nBinning { get; set; }
- [DataMember]
- public string cPSMode { get; set; } // Version 7
- [DataMember]
- public string cFunc { get; set; }
- public EPDColumn()
- {
- nWaveLength = new ushort[8];
- nBinning = new ushort[8];
- }
- }
- [DataContract]
- public class EPDConfig
- {
- [DataMember]
- public int nParameterCount { get; set; }
- [DataMember]
- public EPDColumn[] Columns;
- public bool FaultIfNoEPDTrigger { get; set; }
- [DataMember]
- public string cLogic { get; set; } // logic for multiple endpoints, resevered for future to support logic 'OR' Version 3
- public EPDConfig()
- {
- Columns = new EPDColumn[3];
- for (int i = 0; i < Columns.Length; i++)
- Columns[i] = new EPDColumn();
- }
- }
- [DataContract]
- public enum RegionEquType
- {
- [EnumMember] Average, // 平均
- [EnumMember] Sum, // 累加和
- [EnumMember] Min, // 最低亮度
- [EnumMember] Max, // 最大亮度
- [EnumMember] Median, // 从低到高排列时中值
- [EnumMember] Variance, // Variance
- [EnumMember] StandardDeviation, // 标准差的值
- //[EnumMember] M1_WeightedMean, // Weighted Mean WL
- //[EnumMember] M3_Skew, // Skew
- //[EnumMember] M4_Kurtosis, // Kurtosis
- }
- [DataContract]
- public class EPDChannel
- {
- public int ID { get; set; }
- public bool LinkStatus { get; set; }
- [DataMember] public bool Enable { get; set; }
- [DataMember] public string ChannelNO { get; set; }
- [DataMember] public string IP { get; set; }
- [DataMember] public int Port { get; set; }
- }
- }
|