public static void UpdateFittedData(ref Culture culture) { var fitted = culture.GrowthMeasurements.GetMeasurements(DataType.ProcessedFitted); culture.GrowthMeasurements.SetMeasurements(fitted, DataType.Processed); culture.GrowthMeasurements.Measurements.Remove(DataType.ProcessedFitted); var lag = new MacroLagData(); var yield = new MacroYieldData(); var gt = new MacroRateData(); if (Modules.NoGrowth(fitted)) { lag.Lag = 48; yield.Yield = double.NaN; gt.GT = double.NaN; } else { lag = Modules.GetLag(fitted); yield = Modules.GetYield(fitted); gt = Modules.GetGT(fitted); } culture.Lag = lag.Lag; culture.GrowthMeasurements.VariableMetaDatas[DataType.Processed].Lag = lag.InterceptStretchs; culture.Rate = gt.GT; culture.GrowthMeasurements.VariableMetaDatas[DataType.Processed].Rate = gt.RateSlopeAnchors; culture.Yield = yield.Yield; culture.GrowthMeasurements.VariableMetaDatas[DataType.Processed].Yield = yield.YieldAnchors; }
public static string GetFittedDataPreview(ref Culture culture, NeuralParameters parameters) { var raw = Modules.Clone(culture.GrowthMeasurements.GetMeasurements(DataType.Raw)); var fitted = Modules.ProccessedAndFitDatapoints(raw, 0, parameters, TrueODCalibartionFunction); culture.GrowthMeasurements.SetMeasurements(fitted, DataType.ProcessedFitted); var lag = new MacroLagData(); var yield = new MacroYieldData(); var gt = new MacroRateData(); if (Modules.NoGrowth(fitted)) { lag.Lag = 48; yield.Yield = double.NaN; gt.GT = double.NaN; } else { lag = Modules.GetLag(fitted); yield = Modules.GetYield(fitted); gt = Modules.GetGT(fitted); } string format = "00.0000"; return(string.Format(CultureInfo.InvariantCulture, "Prev Lag = {0}, Fitted Lag = {1} \r\nPrev GT = {2}, Fitted Rate = {3} \r\nPrev Yield = {4}, Fitted Yield = {5}", culture.Lag.ToString(format), lag.Lag.ToString(format), culture.Rate.ToString(format), gt.GT.ToString(format), culture.Yield.ToString(format), yield.Yield.ToString(format))); }