10.6. Showing phase figures only at positions with high intensity
[1]:
from diffractio import um, np, degrees, mm
from diffractio.scalar_masks_XY import Scalar_mask_XY
from diffractio.scalar_sources_XY import Scalar_source_XY
10.6.1. XY
[2]:
x = np.linspace(-150*um, 150*um, 1024)
y = np.linspace(-150*um, 150*um, 1024)
wavelength = 0.6238*um
t1 = Scalar_source_XY(x, y, wavelength)
t1.gauss_beam(r0=(0*um, 0*um), w0=25*um, z0=0*mm)
[3]:
t2 = t1.RS(z=10*mm)
[4]:
t2.draw('field', percentage_intensity=0)
[5]:
t2.draw('field', percentage_intensity=0.01)
10.6.2. XZ
[6]:
from diffractio.scalar_fields_XZ import Scalar_field_XZ
from diffractio.scalar_masks_X import Scalar_mask_X
from diffractio.scalar_masks_XZ import Scalar_mask_XZ
from diffractio.scalar_sources_X import Scalar_source_X
[7]:
length = 50*um
wavelength = .5*um
x0 = np.linspace(-length/2, length/2, 512)
z0 = np.linspace(0*um, 500*um, 256)
x_ini = -250*um * np.tan(30*degrees)
# source
f1 = Scalar_source_X(x0, wavelength)
f1.gauss_beam(A=1, x0=0, z0=250*um, w0=2*um, theta=0*degrees)
u1 = Scalar_field_XZ(x=x0, z=z0, wavelength=wavelength)
u1.clear_refractive_index()
u1.incident_field(f1)
u1.WPM(verbose=False)
[8]:
u1.draw('intensity')
[9]:
u1.draw('phase', percentage_intensity=0)
[10]:
u1.draw('phase', percentage_intensity=0.01)