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

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, 0), w0=25 * um, z0=0*mm)

[3]:
t2 = t1.RS(z=10 * mm)

[4]:
t2.draw('field', percentage_intensity=0)

../../_images/source_functioning_phase_intensity_5_0.png
[5]:
t2.draw('field', percentage_intensity=0.01)

../../_images/source_functioning_phase_intensity_6_0.png

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')

../../_images/source_functioning_phase_intensity_10_0.png
[9]:
u1.draw('phase', percentage_intensity=0)

../../_images/source_functioning_phase_intensity_11_0.png
[10]:
u1.draw('phase', percentage_intensity=0.01)

../../_images/source_functioning_phase_intensity_12_0.png