This project has moved and is read-only. For the latest updates, please go here.

Two Layer Phase Diagram

Sep 1, 2011 at 10:50 PM
Edited Sep 1, 2011 at 10:55 PM


I simulated two layer tissue with 5K and 100K photons. The phase diagram turned out to be in order of 10^-14. some of my simulation specifications:

the source-detector separation is 10mm. freq range [50,400] MHz. 

I would appreciate if anyone can help me with mistakes  in my simulations.

here the links for phase diagrams:  (5K photons) (100K photons)



Sep 2, 2011 at 2:11 AM

Hi Soroush,

From your figures it appears that the max is on the order 10^-4 not 10^-14.  Is that correct?

I looked at your infile and see a potential problem.  In your second tissue layer, mus is set

to 1 and mus' is also set to 1 with g=0.8.  These are inconsistent parameter definitions since

mus'=mus(1-g).  We have an issue already logged about removing mus from the xml.

In the meantime, I suggest the following.  I would run the sample one layer infile,

infile_one_layer_all_detectors.  It will generate R(rho,omega) output for a system that

has your top layer optical properties.  I just did this but modified the rho range to be

one detector [10,10.1]mm so as to be your first detector.  I got the following for 10000 photons:

Note that the y-axis is in units of radians.  Is the phase delay in this plot more in line with

what you are used to seeing?    If not, let me know.  If so, then modifying your input

file keeping mus and mus' consistent in the second layer should work for you.


Sep 2, 2011 at 3:20 AM
Edited Sep 2, 2011 at 3:20 AM

Beyond the mus'/mus problem, I think there's a real "bug": the current code expects frequency in MHz, not GHz

Found this comment line 75 of ROfRhoAndOmegaDetector: /* convert to Hz-sec from MHz-ns 1e-6*1e9=1e-3 */-

Looks like frequency is possibly NOT coded in GHz, which is what we'd adopted elsewhere as the standard.

See my 1-layer results for amplitude and phase that repeat Soroush's underlying issue. Repeating by using MHz yields the much more reasonable results.

Sep 2, 2011 at 4:03 AM

Thanks David, you're right, my linux code assumed MHz and ROfRhoAndOmegaDetector didn't get updated when we changed to default units of GHz.  Shall I make the fix or did you already?

Sep 2, 2011 at 4:05 AM

Ok, awesome. Please go ahead and make the fix if you can - I'm currently branched locally to work on "human-readable" input files (based on YAML...).

Sep 2, 2011 at 5:11 AM

I updated ROfRhoAndOmegaDetector to assume GHz input units.  I reran the homogeneous case and get results that look like David's "much more reasonable results".  Soroush, this fix will be available next week on codeplex.  In the meantime, please assume MHz input units.  We will post on this discussion when the new software is available on codeplex.  Thanks for bearing with these changes. 

Sep 2, 2011 at 6:04 PM

sure, I will run the simulation again. Thanks Carole and David for your help.