manoharan-lab / holopy

Hologram processing and light scattering in python
GNU General Public License v3.0
133 stars 50 forks source link

DDA does not agree with Mie for a sphere #17

Open tdimiduk opened 10 years ago

tdimiduk commented 10 years ago

sch = ImageSchema(shape=[100, 100], spacing=[0.10000000000000001, 0.10000000000000001], optics=Optics(wavelen=0.66, index=1.33, polarization=[1, 0], divergence=0.0), origin=[0.0, 0.0, 0.0]) sph = Sphere(n=1.59, r=0.5, center=(5, 5, 5)) hm = Mie.calc_holo(sph, sch) hd = DDA.calc_holo(sph, sch) hp.show(hm - hd)

These do not agree as well as they probably should. It appears there is a systemic offset in the center position.

jeromefung commented 10 years ago

Are you sure this isn't due to the non-far field r dependence being correctly captured by Mie while being ignored by DDA?

tdimiduk commented 10 years ago

Good chance that could be the case. I was just porting over all of the old bugs from launchpad to github, so I didn't actually look at this in any depth.

On Mon, Aug 11, 2014 at 5:09 PM, Jerome Fung notifications@github.com wrote:

Are you sure this isn't due to the non-far field r dependence being correctly captured by Mie while being ignored by DDA?

— Reply to this email directly or view it on GitHub https://github.com/manoharan-lab/holopy/issues/17#issuecomment-51841260.

anna-wang commented 10 years ago

The centroid offset introduced by voxellation also contributes.

On 11 August 2014 17:16, Tom Dimiduk notifications@github.com wrote:

Good chance that could be the case. I was just porting over all of the old bugs from launchpad to github, so I didn't actually look at this in any depth.

On Mon, Aug 11, 2014 at 5:09 PM, Jerome Fung notifications@github.com wrote:

Are you sure this isn't due to the non-far field r dependence being correctly captured by Mie while being ignored by DDA?

— Reply to this email directly or view it on GitHub https://github.com/manoharan-lab/holopy/issues/17#issuecomment-51841260.

— Reply to this email directly or view it on GitHub https://github.com/manoharan-lab/holopy/issues/17#issuecomment-51841989.

vnmanoharan commented 10 years ago

This is what we wrote in the DDA paper (Wang, Anna, Thomas G. Dimiduk, Jerome Fung, Sepideh Razavi, Ilona Kretzschmar, Kundan Chaudhary, and Vinothan N. Manoharan. 2014. “Using the Discrete Dipole Approximation and Holographic Microscopy to Measure Rotational Dynamics of Non-Spherical Colloidal Particles.” Journal of Quantitative Spectroscopy and Radiative Transfer 146 (October): 499–509):

We find that the best-fit x- and y-coordinates obtained by fitting the DDA model differ negligibly (0.3 +/- 0.1 nm) from those obtained from Lorenz–Mie, while the best-fit z-coordinates differ by 194 +/-1 nm, a significant offset. This difference in apparent axial position might arise from voxelation errors or the asymptotic approximation for the radial dependence of the scattered field. The Lorenz–Mie model includes non-asymptotic corrections for the scattered field, while the DDA model does not.

The x,y error likely arises from voxelation. The error in z probably depends on both.