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 latest version on CRAN:
install.packages("acousticTS")
Or install the latest developments from the current GitHub version:
install.packages("remotes")
# remotes::install_github("brandynlucca/acousticTS")
install.packages("acousticTS", repos = c('https://brandynlucca.r-universe.dev', 'https://cloud.r-project.org'))
[!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.