This is the development version of the documentation. It may change before the next release. See 0.9.x for the latest release.
focus
srcfocus generates a single focal point.
focus(&geometry, target, wavelength, &mut phases);focus(geometry, target, wavelength, phases)Pattern.Focus(geometry, target, wavelength, phases);| Parameter | Type | Description |
|---|---|---|
geometry |
&Geometry |
Device layout |
target |
Point3<f32> |
Focal point coordinates [mm] |
wavelength |
Length |
Wavelength |
dst |
&mut [Vec<Phase>] |
Output buffer |
Example
Section titled “Example”use autd3_rs::geometry::{Autd3, Geometry, offset};use autd3_rs::units::{m, mm, s};use autd3_rs_pattern::{focus, wavelength};
let geometry = Geometry::new(vec![Autd3::default()]);
let mut phases = geometry.phase_buffer();
focus( &geometry, geometry.center() + offset(0.0 * mm, 0.0 * mm, 150.0 * mm), wavelength(340.0 * m / s), &mut phases,);import numpy as npfrom autd3.geometry import Autd3, Geometryfrom autd3.units import m, sfrom autd3_pattern import focus, wavelength
geometry = Geometry([Autd3([0.0, 0.0, 0.0], [1.0, 0.0, 0.0, 0.0])])
phases = geometry.phase_buffer()
focus( geometry, geometry.center() + np.array([0.0, 0.0, 150.0]), wavelength(340 * m / s), phases,)using System.Numerics;using AUTD3;using static AUTD3.Units;
var geometry = new Geometry(new[] { new Autd3(Vector3.Zero) });
var phases = geometry.PhaseBuffer();
Pattern.Focus( geometry, geometry.Center + new Vector3(0.0f, 0.0f, 150.0f), Pattern.Wavelength(340.0f * m / s), phases);