
acousticTS estimates the acoustic target strength of
aquatic organisms, calibration spheres, and other individual scatterers
with physics-based models. It provides one interface for defining
geometry and material properties, running compatible scattering models,
and comparing results across frequency, orientation, and morphology.
The package separates geometry, physical interpretation, and model execution:
Shapes and scatterers are implemented as S4 objects. A Shape
stores geometry. A Scatterer
adds the physical properties, orientation, model inputs, and results
needed for an acoustic calculation.
Install the current GitHub version without building the full documentation site:
install.packages("remotes")
remotes::install_github(
"brandynlucca/acousticTS",
build_vignettes = FALSE
)Installation note:
acousticTScontains C++17 and Fortran source code. Windows users need the version of Rtools matching their R installation. macOS users need the Xcode Command Line Tools and a compatible GNU Fortran compiler. Linux users need a C++17 compiler,make, andgfortran. See Troubleshooting if compilation fails.
Build a shape, attach its acoustic properties, and run a model:
library(acousticTS)
# 1. Build a geometric Shape
krill_shape <- cylinder(
length_body = 0.03,
radius_body = 0.003
)
# 2. Wrap it as a fluid-like Scatterer
krill_target <- fls_generate(
shape = krill_shape,
g_body = 1.0357,
h_body = 1.0279,
theta_body = pi / 2
)
# 3. Calculate and plot target strength
krill_target <- target_strength(
object = krill_target,
frequency = seq(38e3, 120e3, by = 2e3),
model = "dwba"
)
plot(krill_target, type = "model")The result remains attached to krill_target, so the same
object can be plotted, inspected with extract(), or reused
in a simulation.
reforge() workflows for
resizing, resampling, bending, and repositioning targets.simulate_ts().Use available_models()
for the current model registry and accepted aliases.
The package includes ready-to-use biological targets and benchmark results:
data(krill, package = "acousticTS")
data(cod, package = "acousticTS")
data(sardine, package = "acousticTS")
data(benchmark_ts, package = "acousticTS")
plot(krill, type = "shape")See Example Data for the contents and intended use of each object.
The documentation explains package conventions, supported formulations, and validation scope. It complements the original scattering literature rather than replacing it.
To cite acousticTS, run:
citation("acousticTS")The Zenodo concept DOI, which resolves to the latest archived release, is 10.5281/zenodo.7600659.
Bug reports and feature requests are welcome through GitHub
Issues. Please include a minimal reproducible example and
sessionInfo() when reporting a problem.
acousticTS is licensed under GPL-3. Upstream
code attribution and license notices are provided in inst/COPYRIGHTS.