;+ ; NAME: ; spheredhmprofile ; ; PURPOSE: ; Calculates the radial profile of the in-line hologram of a ; sphere, as obtained with digital holographic microscopy. ; ; CATEGORY: ; Digital holography, microscopy ; ; CALLING SEQUENCE: ; p = spheredhmprofile(rho,zp,ap,np,nm,alpha) ; ; INPUTS: ; rho: [npts] array of radii [pixels] ; zp: Axial position of the sphere relative to the microscope's ; focal plane [pixels] ; ap: Particle radius [micrometers] ; np: Refractive index of particle ; nm: Refractive index of medium ; alpha: Relative brightness of illumination (typically around 1). ; ; KEYWORD PARAMETERS: ; lambda: vacuum wavelength of light [micrometers] ; Default: 0.632816 [HeNe] ; ; mpp: length-scale calibration [micrometers/pixel] ; Default: 0.135 ; ; beta: Coherence. ; Default: 1 [Coherent] ; ; OUTPUTS: ; p: computed hologram profile. ; ; PROCEDURE: ; Calls SPHEREFIELD to compute Lorenz-Mie scattering pattern ; for sphere. ; ; REFERENCE: ; S. Lee, Y. Roichman, G. Yi, S. Kim, S. Yang, A. van Blaaderen, ; P. van Oostrum and D. G. Grier, ; Chararacterizing and tracking ; single colloidal particles with video holographic microscopy, ; Optics Express 15, 18275-18282 (2007) ; ; MODIFICATION HISTORY: ; 11/4/2007 Written by David G. Grier, New York University. ; Based on earlier version called HSA. ; 2/8/2008: DGG revised to work with updated SPHEREFIELD syntax. ; 4/15/2008: DGG Added MPP keyword. Associated documentation fixes. ; ; LICENSE ; ; This program is free software; you can redistribute it and/or ; modify it under the terms of the GNU General Public License as ; published by the Free Software Foundation; either version 2 of the ; License, or (at your option) any later version. ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ; General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with this program; if not, write to the Free Software ; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA ; 02111-1307 USA ; ; If the Internet and WWW are still functional when you are using ; this, you shold be able to access the GPL here: ; http://www.gnu.org/copyleft/gpl.html ;- function spheredhmprofile, rho, zp, ap, np, nm, alpha, $ beta=beta, lambda=lambda, mpp=mpp ; parameters: ; rho: radius in image plane [pixels] ; zp: Height of sphere above image plane [pixels] ; ap: Radius of sphere [micrometers] ; np: (complex) index of refraction of sphere ; nm: (complex) refractive index of medium, ; alpha: amplitude [arb] npts = n_elements(rho) x = reform(rho,1,npts) y = dblarr(1,npts) if n_elements(beta) eq 0 then beta = 1. if n_elements(lambda) ne 1 then lambda = 0.632816d field = spherefield(x, y, zp, ap, np, $ k=k, nm=nm, /cartesian, lambda=lambda, mpp=mpp) dhm = field[0,*] * exp(dcomplex(0,-k*zp)) fsq = total(field * conj(field), 1) dhm = 1.d + 2.d*alpha * beta * temporary(dhm) + alpha^2 * fsq return, dhm end