
Hi,
a Quick question! the units for tissue region is mm or meter?
Thanks,
Soroush



Coordinator
Sep 13, 2011 at 12:30 AM

Hi Soroush,
The following are the dimension standards we've adopted for the VTS:
Spatial Domain: Millimeters (mm)
Spatial Frequency Domain: Inverse Millimeters (1/mm),
Time Domain: Nanoseconds (ns)
Time Frequency Domain: Gigahertz (GHz)
Wavelength: Nanometers (nm)
Absorption/Scattering Optical Properties: (1/mm)
Chromophore Absorption Spectra: (1/mm for absolute; 1/mm/μM for molar absorption)
If someone knows a location of this info in the documentation, please post a link in a reply to this discussion.
Thanks!
David




Hi again,
I guess Carole said Frequency is in MHz in previous discussions!
Thanks.
Soroush



Developer
Sep 13, 2011 at 2:36 PM

Yes, in MC 1.0, the units of temporal frequency is MHz but in our next release MC 1.0.1 the code conforms to our intended standard of GHz.




Hi again,
I ran a single layer simulation for one of our phantoms with four laser diodes 680,785,810 and 850nm. I got the musp and mua from a phantom optical properties file. I extracted the phase and amplitude from MC model and fed the Multidistance
code for diffusion model. my results ( optical properties) are not close to actual Phantom(ISS4) . I changed the phase unit from radian to degree. how about amplitude? in results, under the ROfRhoAndOmega, I want to know if the amplitude is in 20*log(u)?
Thanks,
Soroush



Developer
Oct 19, 2011 at 1:16 AM

Hi Soroush,
I'm wondering if you're using the matlab files that come with the download to plot the results for you. In MC 1.0 download there are 3 matlab files, load_results_script.m, loadMCResults.m, readBinaryData.m, and a matlab folder, xml_toolbox.
If you edit load_results_script.m with your results folder name in "datanames" and run it in matlab, then the Phase plot has units of radians and the log of the amplitude [units 1/(mm*mm*MHz), MHz is standard ONLY for MC 1.0, later versions have standard GHz]
is plotted.
Let me know if you have more questions.
Carole




Hi,
Thanks for your reply. I get the phase and amplitude from MC and fit those with fpdm code to recover optical properties! MHz is fine. I want to know if I should apply 20*log(amplitude) for amplitude or it is already in this form.
Thanks
Soroush



Coordinator
Oct 19, 2011 at 7:57 PM

Soroush,
The amplitude saved as complex numbers in binary form (real & imaginary sequentially stored for each frequency), and is absolute reflectance (not log). readBinaryData.m should load the amplitude by calculating the modulus of the complex
number, and again, is not in log form (you can see this in the readBinaryData.m code where we calculate ROfRhoAndOmega.Amplitude:
http://virtualphotonics.codeplex.com/SourceControl/changeset/view/2db5f5326c11#matlab%2fpost_processing%2fmonte_carlo%2fsimulation_result_loading%2floadMCResults.m
Carole asked if you were reading the results in Matlab with the script "load_results_script.m" and "readBinaryData.m" or if you're doing it some other way, which perhaps could be a source of error.
Before you push on, I would suggest first trying the online simulator here (http://virtualphotonics.org/vts/), and using the Forward Solver Panel with diffusion and Monte Carlo to determine if the complex amplitude
matches what your matlab diffusion multidistance code is predicting. Please try to be quantitative when you tell us it doesn't match, and try pasting a link to images (such as on
http://imgur.com/) that compare the results you see with the online tool, matlab, and the mc.exe code.
Thanks,
David



Oct 21, 2011 at 7:20 PM
Edited Oct 21, 2011 at 7:24 PM

Hi,
I ran four simulations( N=1.5E6) for four different Wavelenght with these opitcal properties around Mua=[0.009771,0.007584,0.007305,0.00662] and around Mus=[1.222693,1.015182,0.974788,0.915796] ( Freq: 50MHz1GHz). Then I loaded the load_results_script file.
I saved the results part. I extracted the Phase and Amplitude. I fed our mutlidistance fdpm code to recover optical properties. Scattering values are pretty close( 1.21176427701992 ,1.13696008443278,
1.08894019340611, 1.04263560393974). However, Mua for all four wavelentgh is 0.0001!
before ( previous posts) this I ran 50350 MHz simulations which didn't give me desired Mua and Mus.
Thanks,
Soroush



Developer
Oct 21, 2011 at 10:29 PM

Hi Soroush,
Considering the fact that these are initial inverse solution results, they aren't that bad! Do you have reason to believe that the Monte Carlo results are in error?
There are many aspects of the inverse solution that could be playing a part in your recovered optical properties. I have a few questions about your inverse solution set up just to make sure I understand:
1) the tissue model is one layer?
2) you say you used frequencies in [50MHz1GHz), how many?
3) how many rho detectors did you use and what are their locations?
4) what value for g did you use in the Monte Carlo results?
5) does the fdpm code use the standard diffusion approximation?
The answers to the questions above (and others) will affect your inverse results. We can schedule a Friday morning to discuss this more if you'd like.
Carole



Coordinator
Oct 21, 2011 at 11:44 PM

Soroush,
I tried to send this earlier today, but it bounced from the servers. Obviously I don't want to derail Carole's comments above...definitely important to know those facts.
I'd repeat my previous suggestion to focus on the forward model comparison first. Otherwise, it's really hard to help. There are of course
differences between transport and diffusion predictions, including sometimes an absolute bias, which may be the reason for your problem above (and the reason one calibrates measurements with the same model), but that's just guessing if you don't first compare
the forward model predictions.
David
On Fri, Oct 21, 2011 at 3:29 PM, hayakawa <notifications@codeplex.com> wrote:
From: hayakawa
Hi Soroush,
Considering the fact that these are initial inverse solution results, they aren't that bad! Do you have reason to believe that the Monte Carlo results are in error?
There are many aspects of the inverse solution that could be playing a part in your recovered optical properties. I have a few questions about your inverse solution set up just to make sure I understand:
1) the tissue model is one layer?
2) you say you used frequencies in [50MHz1GHz), how many?
3) how many rho detectors did you use and what are their locations?
4) what value for g did you use in the Monte Carlo results?
5) does the fdpm code use the standard diffusion approximation?
The answers to the questions above (and others) will affect your inverse results. We can schedule a Friday morning to discuss this more if you'd like.
Carole




Thanks Carole and David!
here are the specifications:
1) the tissue model is one layer? yes
2) you say you used frequencies in [50MHz1GHz), how many? 190! every 5MHz
3) how many rho detectors did you use and what are their locations? I chosed [6,11,16,21] but I think we have the Amplitude and Phase only in the midpoints? right? then it is [8.5.13,5,18.5]
4) what value for g did you use in the Monte Carlo results? .8
5) does the fdpm code use the standard diffusion approximation? yes
@ David! I am going to do that!
About the question 3, am I right? I put count=4, Delta=5, Start=6, Stop=21! then in results I will get Phase and Amplitude at these distances: [8.5,13.5,18.5]
Thanks again,
Soroush




I normalized my comsol, MC and p1Semi Infinite model data ( Phase and Ampltiude). basically, I divided all phase by lowest frequency phase and same for amplitude ( single wavelenght at a single distance 8.5mm). frequency range is from 50MHz to 350
MHz. here are the graphs:
Phase: http://i.imgur.com/i3aHS.png
Amplitude: http://i.imgur.com/B97Bq.png
Thanks,
Soroush



Coordinator
Oct 24, 2011 at 9:30 PM

Thanks Soroush. Can you also please 1) add the homogeneous MC and PointSDA solutions from
here as requested earlier, and 2) plot absolute values (nonnormalized) on a separate pair of axes? Any absolute bias, discussed earlier, will be removed from your data if you normalize them.
Lastly, based on your earlier comments on binning  I'd make sure that your bin size is smaller, perhaps 2mm at the most. Others may chime in with a stronger opinion...
David
On Mon, Oct 24, 2011 at 2:18 PM, soroush6486 <notifications@codeplex.com> wrote:
From: soroush6486
I normalized my comsol, MC and p1Semi Infinite model data ( Phase and Ampltiude). basically, I divided all phase by lowest frequency phase and same for amplitude ( single wavelenght at a single distance 8.5mm). frequency range is from 50MHz to 350 MHz. here
are the graphs:
Phase: http://i.imgur.com/i3aHS.png
Amplitude: http://i.imgur.com/B97Bq.png
Thanks,
Soroush



Developer
Oct 24, 2011 at 11:15 PM

Hi Soroush,
I agree the rho bin size of 4mm sounds large. As David suggests 2mm would be better and possibly even 1mm. Each problem with its particular optical properties, source, etc. will be different. But generally, the variation of the photons
weights exiting the rho bin is important. Looking at the relative error (which is derived from the variance) of your estimates will help. If you set the SimulationInput file Options, TallySecondMoment to true, I can help you determine the relative
error of your estimates. Are you still using MC1.0Beta?
Carole




Hi,
yes, I am still using MC1.0Beta. can you answer question 3 on my Friday post too? thanks,
Soroush



Developer
Oct 25, 2011 at 12:15 AM

Yes, you are correct. Specifying Rho.Start=6, Rho.Count=4, Rho.Delta=5, Rho.Stop=21 then results are at midpoints of the bins [8.5,13.5,18.5].
I'll try to quick fix the matlab files to get you relative error for R(rho,omega).



Developer
Oct 25, 2011 at 1:36 AM

In order to do the following, SimulationInput, Options, TallySecondMoment needed to be set to true prior to running the simulation.
In loadMCresults.m, cut and paste following after line 102:
ROfRhoAndOmega.Stdev = sqrt((real(ROfRhoAndOmega.SecondMoment)  (real(ROfRhoAndOmega.Mean)
.* real(ROfRhoAndOmega.Mean))) / str2num(xml.N)) + ...
1i*sqrt((imag(ROfRhoAndOmega.SecondMoment)  (imag(ROfRhoAndOmega.Mean)
.* imag(ROfRhoAndOmega.Mean))) / str2num(xml.N));
Then after running load_results_script.m, execute:
>> max(max(real(results.ROfRhoAndOmega.Stdev)./abs(real(results.ROfRhoAndOmega.Mean))))
>> max(max(imag(results.ROfRhoAndOmega.Stdev)./abs(imag(results.ROfRhoAndOmega.Mean))))
These commands give you the maximum relative error over all rho and omega bins of the real and imaginary tallies. These are the components used to calculate the phase and amplitude results.
These relative errors should be <= 23 %.



Developer
Oct 25, 2011 at 3:05 AM

I just referred to the MCNP manual. It says that relative errors < 5% are good. However, I also reviewed some of the relative errors I've obtained when I'm generating data for a paper and most have been <=23%.

