public double ApplyTo(AnalyticStatisticsValue statisticsValue) { double value = statisticsValue.Value; if (value < atom.MaxOptimal && value > atom.MinOptimal) { return(10); } if (value == atom.MaxOptimal || value == atom.MinOptimal) { return(9); } if (value == atom.MinAcceptable || value == atom.MaxAcceptable) { return(2); } if (value > atom.MaxAcceptable || value < atom.MinAcceptable) { return(1); } return(GetDifferentialMark(value)); }
public AnalyticStatisticsItem Get(PsaParametersSet set, DateTime sourceDataCaptureDateTime) { AnalyticStatisticsItem result = new AnalyticStatisticsItem(Type, VehicleInfo.Engine.Family.Type, VehicleInfo.Engine.Type); PsaParameterData rpmData = set.GetParameterOfType(PsaParameterType.EngineRpm); PsaParameterData voltageData = GetRequiredDependentData(set); if (rpmData == null || voltageData == null) { throw new Exception("set does not fit."); } CorrelatedMedianExtractor extractor = new CorrelatedMedianExtractor( rpmData.GetDoubles(), voltageData.GetDoubles(), RpmCorrelationThresholdPercentage); double doubleValue = extractor.GetForBaseValue(Convert.ToDouble(TargetRpm)); if (!double.IsNaN(doubleValue)) { AnalyticStatisticsValue value = new AnalyticStatisticsValue(doubleValue, info.Vin, set.Id, sourceDataCaptureDateTime); result.Values.Add(value); } return(result); }
public double ApplyTo(AnalyticStatisticsValue statisticsValue) { double value = statisticsValue.Value; double module = Math.Abs(value); if (module > atom.MinOptimal && module < atom.MaxOptimal) { return(10); } if (module.Equals(atom.MinOptimal) || module.Equals(atom.MaxOptimal)) { return(9); } if (module.Equals(atom.MaxAcceptable)) { return(2); } if (module > atom.MaxAcceptable) { return(1); } return(GetDifferentialMark(module)); }
public EvaluationMark( AnalyticRuleSettings ruleSettings, AnalyticStatisticsValue statisticsValue) { this.ruleSettings = ruleSettings; this.statisticsValue = statisticsValue; CalculateValue(); }
public static AnalyticStatisticsValue FromDtoToDomainObject( AnalyticStatisticsValueDto source) { AnalyticStatisticsValue target = new AnalyticStatisticsValue( source.Value, source.SourceVin, source.SourcePsaParametersSetId, source.SourceDataCaptureDateTime); target.Id = source.Id; target.AnalyticStatisticsItemId = source.AnalyticStatisticsItemId; return(target); }
public static AnalyticStatisticsValueDto FromDomainObjectToDto(AnalyticStatisticsValue source) { AnalyticStatisticsValueDto target = new AnalyticStatisticsValueDto(); target.Id = source.Id; target.AnalyticStatisticsItemId = source.AnalyticStatisticsItemId; target.SourceDataCaptureDateTime = source.SourceDataCaptureDateTime; target.SourcePsaParametersSetId = source.SourcePsaParametersSetId; target.SourceVin = source.SourceVin; target.Value = source.Value; return(target); }
public AnalyticStatisticsItem Get(PsaParametersSet set, DateTime sourceDataCapturetime) { AnalyticStatisticsItem result = new AnalyticStatisticsItem( AnalyticRuleType.InjectionTimeStartupPeak, info.Engine.Family.Type, info.Engine.Type); IList <double> rpmData = set.GetParameterOfType(PsaParameterType.EngineRpm).GetDoubles(); IList <double> reqData = set.GetParameterOfType(PsaParameterType.InjectionTime).GetDoubles(); EngineStartupDetector detectro = new EngineStartupDetector(rpmData); if (detectro.EngineStartupDetected()) { IList <int> startupIndexes = detectro.GetEngineStartupPointIndexes(); foreach (int startupIndex in startupIndexes) { AnalyticStatisticsValue value = new AnalyticStatisticsValue( StartupRegionExtractor.Extract(startupIndex, reqData).Max(), info.Vin, set.Id, sourceDataCapturetime); result.Values.Add(value); } } return(result); }
public AnalyticStatisticsValueViewModel(AnalyticStatisticsValue model) { this.model = model; }