/// <summary> /// Vectorized ROfFx. Solves SDA using Cuccia et al JBO, March/April 2009 /// </summary> /// <param name="ops">set of optical properties of the medium</param> /// <param name="fxs">spatial frequencies (1/mm)</param> /// <returns></returns> public override IEnumerable <double> ROfFx( IEnumerable <OpticalProperties> ops, IEnumerable <double> fxs) { foreach (var op in ops) { DiffusionParameters dp = DiffusionParameters.Create(op, this.ForwardModel); foreach (var fx in fxs) { yield return(SFDDiffusionForwardSolver.StationaryOneDimensionalSpatialFrequencyFluence( dp, fx, 0.0) / 2 / dp.A); // this is not the true mathematical derivation given the source condition! but is the WIDELY used in the lit } } }
public override IEnumerable <double> FluenceOfFxAndZ( IEnumerable <OpticalProperties> ops, IEnumerable <double> fxs, IEnumerable <double> zs) { foreach (var op in ops) { DiffusionParameters dp = DiffusionParameters.Create(op, this.ForwardModel); foreach (var fx in fxs) { foreach (var z in zs) { yield return(SFDDiffusionForwardSolver.StationaryOneDimensionalSpatialFrequencyFluence( dp, fx, z)); } } } }