public IReadOnlyList <int> GetRelevantIndices(DataRepository observedData, RemoveLLOQMode removeLLOQMode, Scalings outputScaling = Scalings.Linear)
        {
            if (removeLLOQMode == RemoveLLOQModes.Never)
            {
                return(getRelevantIndicesAll(observedData, outputScaling));
            }

            if (removeLLOQMode == RemoveLLOQModes.NoTrailing)
            {
                return(getRelevantIndicesNoTrailingLLOQ(observedData, outputScaling));
            }

            if (removeLLOQMode == RemoveLLOQModes.Always)
            {
                return(getRelevantIndicesNoLLOQ(observedData, outputScaling));
            }

            throw new ArgumentOutOfRangeException(nameof(removeLLOQMode));
        }
示例#2
0
        private IReadOnlyList <float> timeGridFromObservedData(IEnumerable <DataRepository> observedDataUsedInMapping, RemoveLLOQMode removeLLOQMode)
        {
            var times = new List <float>();

            foreach (var observedData in observedDataUsedInMapping)
            {
                times.AddRange(_timeGridRestrictor.GetRelevantTimes(observedData, removeLLOQMode));
            }

            return(times.ToList());
        }
示例#3
0
        public void UpdateSimulationTimeGrid(IModelCoreSimulation modelCoreSimulation, RemoveLLOQMode removeLLOQMode, IEnumerable <DataRepository> observedDataUsedInMapping)
        {
            var times = timeGridFromObservedData(observedDataUsedInMapping, removeLLOQMode);

            modelCoreSimulation.BuildConfiguration.SimulationSettings.OutputSchema.AddTimePoints(convertToDoubleArray(times));
        }
 public override string Convert(RemoveLLOQMode valueToConvert, TSerializationContext context)
 {
     return(valueToConvert?.Name);
 }
 public IReadOnlyList <float> GetRelevantTimes(DataRepository observedData, RemoveLLOQMode removeLLOQMode)
 {
     return(GetRelevantIndices(observedData, removeLLOQMode).Select(i => observedData.BaseGrid[i]).ToList());
 }