Skip to content

Commit

Permalink
refacotr holo
Browse files Browse the repository at this point in the history
  • Loading branch information
s5suzuki committed Jan 9, 2024
1 parent dbfc357 commit 0197ae3
Show file tree
Hide file tree
Showing 7 changed files with 118 additions and 122 deletions.
6 changes: 3 additions & 3 deletions autd3-gain-holo/src/combinatorial/greedy.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Created Date: 03/06/2021
* Author: Shun Suzuki
* -----
* Last Modified: 02/12/2023
* Last Modified: 09/01/2024
* Modified By: Shun Suzuki (suzuki@hapis.k.u-tokyo.ac.jp)
* -----
* Copyright (c) 2021 Shun Suzuki. All rights reserved.
Expand All @@ -19,7 +19,7 @@ use autd3_derive::Gain;
use autd3_driver::{
acoustics::{directivity::Sphere, propagate},
common::{EmitIntensity, Phase},
defined::{PI, T4010A1_AMPLITUDE},
defined::PI,
derive::prelude::*,
geometry::{Geometry, Vector3},
};
Expand Down Expand Up @@ -63,7 +63,7 @@ impl Greedy {
res: &mut [Complex],
) {
res.iter_mut().zip(foci.iter()).for_each(|(r, f)| {
*r = propagate::<Sphere>(trans, attenuation, sound_speed, f) * T4010A1_AMPLITUDE;
*r = propagate::<Sphere>(trans, attenuation, sound_speed, f);
});
}

Expand Down
18 changes: 7 additions & 11 deletions autd3-gain-holo/src/linear_synthesis/gs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Created Date: 29/05/2021
* Author: Shun Suzuki
* -----
* Last Modified: 23/11/2023
* Last Modified: 09/01/2024
* Modified By: Shun Suzuki (suzuki@hapis.k.u-tokyo.ac.jp)
* -----
* Copyright (c) 2021 Shun Suzuki. All rights reserved.
Expand All @@ -20,7 +20,6 @@ use crate::{
use autd3_derive::Gain;

use autd3_driver::{
defined::T4010A1_AMPLITUDE,
derive::prelude::*,
geometry::{Geometry, Vector3},
};
Expand Down Expand Up @@ -70,19 +69,19 @@ impl<B: LinAlgBackend> Gain for GS<B> {
.backend
.generate_propagation_matrix(geometry, &self.foci, &filter)?;

let m = self.backend.cols_c(&g)?;
let n = self.foci.len();
let ones = vec![T4010A1_AMPLITUDE; m];
let m = self.foci.len();
let n = self.backend.cols_c(&g)?;
let ones = vec![1.; n];

let mut b = self.backend.alloc_cm(m, n)?;
self.backend.gen_back_prop(m, n, &g, &mut b)?;
let mut b = self.backend.alloc_cm(n, m)?;
self.backend.gen_back_prop(n, m, &g, &mut b)?;

let mut q = self.backend.from_slice_cv(&ones)?;

let q0 = self.backend.from_slice_cv(&ones)?;

let amps = self.backend.from_slice_cv(self.amps_as_slice())?;
let mut p = self.backend.alloc_zeros_cv(n)?;
let mut p = self.backend.alloc_zeros_cv(m)?;
for _ in 0..self.repeat {
self.backend.gemv_c(
Trans::NoTrans,
Expand All @@ -106,9 +105,6 @@ impl<B: LinAlgBackend> Gain for GS<B> {
self.backend.scaled_to_assign_cv(&q0, &mut q)?;
}

self.backend
.scale_assign_cv(Complex::new(1. / T4010A1_AMPLITUDE, 0.0), &mut q)?;

generate_result(
geometry,
self.backend.to_host_cv(q)?,
Expand Down
17 changes: 7 additions & 10 deletions autd3-gain-holo/src/linear_synthesis/gspat.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Created Date: 29/05/2021
* Author: Shun Suzuki
* -----
* Last Modified: 23/11/2023
* Last Modified: 09/01/2024
* Modified By: Shun Suzuki (suzuki@hapis.k.u-tokyo.ac.jp)
* -----
* Copyright (c) 2021 Shun Suzuki. All rights reserved.
Expand All @@ -20,7 +20,6 @@ use crate::{
use autd3_derive::Gain;

use autd3_driver::{
defined::T4010A1_AMPLITUDE,
derive::prelude::*,
geometry::{Geometry, Vector3},
};
Expand Down Expand Up @@ -70,17 +69,17 @@ impl<B: LinAlgBackend> Gain for GSPAT<B> {
.backend
.generate_propagation_matrix(geometry, &self.foci, &filter)?;

let m = self.backend.cols_c(&g)?;
let n = self.foci.len();
let m = self.foci.len();
let n = self.backend.cols_c(&g)?;

let mut q = self.backend.alloc_zeros_cv(m)?;
let mut q = self.backend.alloc_zeros_cv(n)?;

let amps = self.backend.from_slice_cv(self.amps_as_slice())?;

let mut b = self.backend.alloc_cm(m, n)?;
self.backend.gen_back_prop(m, n, &g, &mut b)?;
let mut b = self.backend.alloc_cm(n, m)?;
self.backend.gen_back_prop(n, m, &g, &mut b)?;

let mut r = self.backend.alloc_zeros_cm(n, n)?;
let mut r = self.backend.alloc_zeros_cm(m, m)?;
self.backend.gemm_c(
Trans::NoTrans,
Trans::NoTrans,
Expand Down Expand Up @@ -121,8 +120,6 @@ impl<B: LinAlgBackend> Gain for GSPAT<B> {
Complex::new(0., 0.),
&mut q,
)?;
self.backend
.scale_assign_cv(Complex::new(1. / T4010A1_AMPLITUDE, 0.0), &mut q)?;

generate_result(
geometry,
Expand Down
15 changes: 6 additions & 9 deletions autd3-gain-holo/src/linear_synthesis/naive.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* Created Date: 28/05/2021
* Author: Shun Suzuki
* -----
* Last Modified: 23/11/2023
* Last Modified: 09/01/2024
* Modified By: Shun Suzuki (suzuki@hapis.k.u-tokyo.ac.jp)
* -----
* Copyright (c) 2021 Shun Suzuki. All rights reserved.
Expand All @@ -19,7 +19,6 @@ use crate::{
};

use autd3_driver::{
defined::T4010A1_AMPLITUDE,
derive::prelude::*,
geometry::{Geometry, Vector3},
};
Expand Down Expand Up @@ -58,14 +57,14 @@ impl<B: LinAlgBackend> Gain for Naive<B> {
.backend
.generate_propagation_matrix(geometry, &self.foci, &filter)?;

let m = self.backend.cols_c(&g)?;
let n = self.foci.len();
let m = self.foci.len();
let n = self.backend.cols_c(&g)?;

let mut b = self.backend.alloc_cm(m, n)?;
self.backend.gen_back_prop(m, n, &g, &mut b)?;
let mut b = self.backend.alloc_cm(n, m)?;
self.backend.gen_back_prop(n, m, &g, &mut b)?;

let p = self.backend.from_slice_cv(self.amps_as_slice())?;
let mut q = self.backend.alloc_zeros_cv(m)?;
let mut q = self.backend.alloc_zeros_cv(n)?;
self.backend.gemv_c(
Trans::NoTrans,
Complex::new(1., 0.),
Expand All @@ -74,8 +73,6 @@ impl<B: LinAlgBackend> Gain for Naive<B> {
Complex::new(0., 0.),
&mut q,
)?;
self.backend
.scale_assign_cv(Complex::new(1.0 / T4010A1_AMPLITUDE, 0.), &mut q)?;

generate_result(
geometry,
Expand Down
Loading

0 comments on commit 0197ae3

Please sign in to comment.