Subject: Re: sensitivity profiles Hi Anand - After v brief look, I suggest you check the 2pt outputs at early timegates (this is what contributes to the modified-Bessel shaped spike around the optode). I assume you are summing over time (CW). 3 issues: 1) Line 699 of code explains that .2pt is a snapshot at the end of each timegate rather than an integral over the timegate. For me this was adequate (and the CPU effort involved to do the interpolation was not warranted). Just make shorter timegates. If your .2pt file size then gets too big, do 2 runs of tFDimg, one for eg only 200ps with timegate=10ps, then again for eg 3ns with timegate=50ps, collect the data together, so you can get more accurate integration at early times. Or you can rewrite the parts of code that care where the timegates fall to make them non-uniform (extract_sig() and any other lines that contain "stepT" - there are only a few - and optionally Jon's parser if you want new .cfg file format options). 2) In the update of 5/28/03, I updated the .sig output to work correctly for timegate < dt (timestep). However, I didn't do the same for fluence .2pt. If I remember rightly, lines 697-702 will leave zeros in some of the .2pt snapshots if timegate < dt. Again, you don't really want to be in this regime anyway since the finite-difference dt is the minimum relevant timescale. If you want more calculated detail at early times, it is very easy to do this: line 683 sets "this_dt", and you can put any expression here. For example currently the flag "vary_courant" shows a simple way to have half-size timesteps for t<110ps. (this flag's default is set at line 199, you could change to 1). 3) Fluence impulse is acually released in a disk of radius given by fiber, at depth about 1.5 voxels (see OPTODE_DEPTH). More precisely it is by default a dipole of disks, one at depth OPTODE_DEPTH and the other at depth OPDOTE_DEPTH + GRAD_GAP (all in voxel units). I found this to give decent protection from surface voxellated roughness, while still maintaining the optode close enough to the surface. You may want to try (especially if you don't care about absolute intensities) decreasing OPTODE_DEPTH via the command line to see if improves results. Also try smaller fiber radius. Also: Be aware that the 2pt file gives fluence at nodes (corners) rather than the at the centers of the voxels, if you care about the (1/2,1/2,1/2) voxel location error involved. Hope this helps. If you choose timegates to be about dt, and dt to be half the courant value (the maximum stable value), then you should have accurate representation of time-integrated fluence at the scale of 1-2 voxels. Alex *-------------------------------------------------------------------~-^`^-,.-' |\ Dr Alex Barnett Rm 1122, Courant Institute of Mathematical Sciences, | ` New York University, 251 Mercer St, NY, NY 10012-1185 | http://www.cims.nyu.edu/~barnett tel: (212) 998-3296 ` "You can no more win a war than win an earthquake" - Jeanette Rankin On Wed, 22 Oct 2003, Anand Kumar wrote: > hi Alex, > > hope all is well with you. > > I am back with a question about your FD code. I am using the 2-pt files > generated by your FD code to calculate the 3-pt Greens functions for S-D > pairs on a voxelized mouse. While plotting the 3-pt profiles for source > detector pairs, I notice something seems to be weird.... I don't get the > behaviour I usually see plotted, i.e., that the sensitivity is max at the > source/detector. It rather peaks inside the medium, below the optode > locations. > > I have attached an example of the 3-pt distribution (sliced along the x/y/z > planes) shown with the mouse countour. Altho I havent shown the source and > detector for this example, they are located on the surface, close to where > the peak occurs. > > Please let me know what I could possibly be doing wrong. Or is there some > explanation for this behaviour... > > thanks for any help! > > regards > -Anand