|
创建声源和传感器
|
makeBall
|
创建球形声源或传感器的二进制掩码。
|
Nx
,
Ny
,
Nz
: 网格的大小
cx
,
cy
,
cz
: 球心的坐标
r
: 球的半径
|
source.p_mask = makeBall(Nx, Ny, Nz, cx, cy, cz, r);
sensor.mask = makeBall(Nx, Ny, Nz, cx, cy, cz, r);
|
|
创建声源和传感器
|
makeMultiShape
|
创建多个形状的声源或传感器的二进制掩码。
|
Nx
,
Ny
,
Nz
: 网格的大小
shapes
: 形状的数组,每个形状由其掩码和位置组成
|
source.p_mask = makeMultiShape(Nx, Ny, Nz, {shape1, shape2, ...});
sensor.mask = makeMultiShape(Nx, Ny, Nz, {shape1, shape2, ...});
|
|
创建声源和传感器
|
makeLine
|
创建直线形状的声源或传感器的二进制掩码。
|
Nx
,
Ny
,
Nz
: 网格的大小
x1
,
y1
,
z1
: 直线的起点坐标
x2
,
y2
,
z2
: 直线的终点坐标
r
: 直线的半径
|
source.p_mask = makeLine(Nx, Ny, Nz, x1, y1, z1, x2, y2, z2, r);
sensor.mask = makeLine(Nx, Ny, Nz, x1, y1, z1, x2, y2, z2, r);
|
|
创建声源和传感器
|
makeCircle
|
创建圆形声源或传感器的二进制掩码。
|
Nx
,
Ny
,
Nz
: 网格的大小
cx
,
cy
,
cz
: 圆心的坐标
r
: 圆的半径
|
source.p_mask = makeCircle(Nx, Ny, Nz, cx, cy, cz, r);
sensor.mask = makeCircle(Nx, Ny, Nz, cx, cy, cz, r);
|
|
设置模拟参数
|
medium.sound_speed
|
设置介质的声速。
|
c
: 声速值
|
medium.sound_speed = c;
|
|
设置模拟参数
|
medium.alpha_coeff
|
设置介质的吸收系数。
|
alpha
: 吸收系数值
|
medium.alpha_coeff = alpha;
|
|
进行模拟
|
kspaceFirstOrder2D
|
执行二维声学模拟并返回传感器数据。
|
kgrid
: 包含网格参数的结构体
medium
: 包含介质参数的结构体
source
: 包含声源参数的结构体
sensor
: 包含传感器参数的结构体
|
sensor_data = kspaceFirstOrder2D(kgrid, medium, source, sensor);
|
|
时间反演
|
timeReversalSensorData
|
对传感器数据进行时间反演。
|
sensor_data
: 待反演的传感器数据
|
sensor_data = timeReversalSensorData(sensor_data);
|
|
重建图像
|
kWaveReconstruct
|
根据反演结果重建图像。
|
无参数,使用默认设置
|
recon_img = kWaveReconstruct(sensor_data);
|