from Sphere import Sphere import matplotlib.pyplot as plt from time import time # Create coordinate grid for image x = np.arange(0, 201) y = np.arange(0, 201) xv, yv = np.meshgrid(x, y) xv = xv.flatten() yv = yv.flatten() zv = np.zeros_like(xv) coordinates = np.stack((xv, yv, zv)) # Place two spheres in the field of view, above the focal plane pa = Sphere() pa.r_p = [150, 150, 200] pa.a_p = 0.5 pa.n_p = 1.45 pb = Sphere() pb.r_p = [100, 10, 250] pb.a_p = 1. pb.n_p = 1.45 particle = [pa, pb] # Form image with default instrument instrument = Instrument() instrument.magnification = 0.135 instrument.wavelength = 0.447 instrument.n_m = 1.335 k = instrument.wavenumber() # Use Generalized Lorenz-Mie theory to compute field kernel = LorenzMie(coordinates, particle, instrument) kernel.field()
if __name__ == '__main__': from Sphere import Sphere import matplotlib.pyplot as plt # Create coordinate grid for image x = np.arange(0, 201) y = np.arange(0, 201) xv, yv = np.meshgrid(x, y) xv = xv.flatten() yv = yv.flatten() zv = np.zeros_like(xv) coordinates = np.stack((xv, yv, zv)) # Place a sphere in the field of view, above the focal plane particle = Sphere() particle.r_p = [125, 75, 100] particle.a_p = 0.5 particle.n_p = 1.45 # Form image with default instrument instrument = Instrument() instrument.magnification = 0.135 instrument.wavelength = 0.447 instrument.n_m = 1.335 k = instrument.wavenumber() # Use Generalized Lorenz-Mie theory to compute field kernel = GeneralizedLorenzMie(coordinates, particle, instrument) field = kernel.field() # Compute hologram from field and show it field *= np.exp(-1.j * k * particle.z_p) field[0, :] += 1. hologram = np.sum(np.real(field * np.conj(field)), axis=0) plt.imshow(hologram.reshape(201, 201), cmap='gray')
from Sphere import Sphere import matplotlib.pyplot as plt from time import time # Create coordinate grid for image x = np.arange(0, 201) y = np.arange(0, 201) xv, yv = np.meshgrid(x, y) xv = xv.flatten() yv = yv.flatten() zv = np.zeros_like(xv) coordinates = np.stack((xv, yv, zv)) # Place two spheres in the field of view, above the focal plane pa = Sphere() pa.r_p = [150, 150, 200] pa.a_p = 0.5 pa.n_p = 1.45 pb = Sphere() pb.r_p = [100, 10, 250] pb.a_p = 1. pb.n_p = 1.45 particle = [pa, pb] # Form image with default instrument instrument = Instrument() instrument.magnification = 0.135 instrument.wavelength = 0.447 instrument.n_m = 1.335 k = instrument.wavenumber() # Use Generalized Lorenz-Mie theory to compute field kernel = GeneralizedLorenzMie(coordinates, particle, instrument) kernel.field()