private double getSkinVolume(IMuSigma muSigmaSkin, double[] organVolumes, Func <IMuSigma, double> generateVolumeFunction) { double skinScaleFactor = getSkinScaleFactor(organWeightsFrom(organVolumes).Sum()); double mu = muSigmaSkin.Mean; double sigma = muSigmaSkin.Deviation; try { muSigmaSkin.Mean *= skinScaleFactor; muSigmaSkin.Deviation *= skinScaleFactor; return(generateVolumeFunction(muSigmaSkin)); } finally { muSigmaSkin.Mean = mu; muSigmaSkin.Deviation = sigma; } }
private double getOrganVolumeForIndividual(IMuSigma muSigma) { return(muSigma.GenerateRandomValueForIndividual(_randomGenerator)); }
private double getOrganVolumeForPopulation(IMuSigma muSigma) { return(muSigma.GenerateRandomValueForPopulation(_randomGenerator)); }
private double getDefaultSkinWeight(IMuSigma muSigmaSkin) { return(muSigmaSkin.DefaultValue * getSkinScaleFactor(_objectiveWeight)); }