OSCR

Structural vibration monitoring with diffractive optical processors.

Code ↔ Paper

The paper beside its authors' code: matches between them have not been computed for this paper yet.

Paper

Loaded from Europe PMC by your browser, not stored by OSCR: doi.org · Europe PMC

The paper is loaded when this pane is shown.

The authors' code

Shell · 36 lines · 1.2 KB · BSD-3-Clause

  1. set -ex
  2. LOCAL_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
  3. ROOT_DIR=$(cd "$LOCAL_DIR"/../.. && pwd)
  4. TEST_DIR="$ROOT_DIR/test"
  5. gtest_reports_dir="${TEST_DIR}/test-reports/cpp"
  6. pytest_reports_dir="${TEST_DIR}/test-reports/python"
  7. # Figure out which Python to use
  8. PYTHON="$(which python)"
  9. if [[ "${BUILD_ENVIRONMENT}" =~ py((2|3)\.?[0-9]?\.?[0-9]?) ]]; then
  10. PYTHON=$(which "python${BASH_REMATCH[1]}")
  11. fi
  12. if [[ "${BUILD_ENVIRONMENT}" == *rocm* ]]; then
  13. # HIP_PLATFORM is auto-detected by hipcc; unset to avoid build errors
  14. unset HIP_PLATFORM
  15. if which sccache > /dev/null; then
  16. # Save sccache logs to file
  17. sccache --stop-server || true
  18. rm -f ~/sccache_error.log || true
  19. SCCACHE_ERROR_LOG=~/sccache_error.log SCCACHE_IDLE_TIMEOUT=0 sccache --start-server
  20. # Report sccache stats for easier debugging
  21. sccache --zero-stats
  22. fi
  23. fi
  24. # /usr/local/caffe2 is where the cpp bits are installed to in cmake-only
  25. # builds. In +python builds the cpp tests are copied to /usr/local/caffe2 so
  26. # that the test code in .ci/test.sh is the same
  27. INSTALL_PREFIX="/usr/local/caffe2"
  28. mkdir -p "$gtest_reports_dir" || true
  29. mkdir -p "$pytest_reports_dir" || true
  30. mkdir -p "$INSTALL_PREFIX" || true

common.sh at commit 35d22a1, under BSD-3-Clause · at the source

Overview

Authors: Yuntian Wang1,2,3, Zafer Yilmaz4, Yuhang Li1,2,3, Edward Liu1, Eric Ahlberg4, Farid Ghahari5, Ertugrul Taciroglu4, Aydogan Ozcan1,2,3
  1. Electrical and Computer Engineering Department, University of California, Los Angeles, Los Angeles, CA 90095, USA
  2. Bioengineering Department, University of California, Los Angeles, Los Angeles, CA 90095, USA
  3. California NanoSystems Institute (CNSI), University of California, Los Angeles, Los Angeles, CA 90095, USA
  4. Civil and Environmental Engineering Department, University of California, Los Angeles, Los Angeles, CA 90095, USA
  5. California Geological Survey, California Department of Conservation, Sacramento, CA 95814, USA
Journal: Science advances, volume 12, issue 10, article eaea1712
Dates: received 29 June 2025; accepted 28 January 2026; published online 4 March 2026; in print March 2026
Type: Research article · Language: English
License: CC BY
Identifiers: DOI 10.1126/sciadv.aea1712 · PMID 41779852 · PMCID PMC12959400 · OpenAlex W7133524081
Open access: gold, a free copy (OpenAlex)
Status: code verified
Methods: Spectral & time-frequency, Connectivity, Machine learning
Topic: Neural Networks and Reservoir Computing (Artificial Intelligence, Computer Science), according to OpenAlex
Funding: Volgenau Chair at UCLA; V.M. Watanabe Award
Citations: cited by 1 paper (Europe PMC); 58 references in the paper

Abstract

Structural health monitoring (SHM) is vital for maintaining the safety and longevity of civil infrastructure, yet current solutions remain constrained by cost, power consumption, scalability, and the complexity of data processing. Here, we present a diffractive vibration monitoring system, integrating a jointly optimized diffractive layer with a shallow neural network-based backend to remotely extract three-dimensional (3D) structural vibration spectra, offering a low-power, cost-effective, and scalable solution. Unlike prior diffractive processors designed primarily for static image classification or reconstruction tasks, this framework establishes a dynamic computational sensing modality where the optical front-end is co-optimized to encode time-varying mechanical vibrations into distinct spatiotemporal optical patterns. This architecture eliminates the need for dense sensor arrays or extensive data acquisition; instead, it uses a spatially optimized passive diffractive layer that encodes 3D structural displacements into modulated light, captured by a minimal number of detectors and decoded in real time by shallow and low-power neural networks to reconstruct the 3D displacement spectra of structures. The diffractive system’s efficacy was demonstrated both numerically and experimentally using millimeter-wave illumination on a laboratory-scale building model with a programmable shake table. Our system achieves more than an order-of-magnitude improvement in accuracy over conventional optics or separately trained modules, establishing a foundation for high-throughput 3D monitoring of structures. Beyond SHM, the 3D vibration monitoring capabilities of this cost-effective and data-efficient framework establish a distinct computational sensing modality with potential applications in disaster resilience, aerospace diagnostics, and autonomous navigation—where energy efficiency, low latency, and high-throughput are critical.

Reproduced under the paper's license (CC BY), from the paper cited above.

Repository

Its files are read in the Code ↔ Paper reader above.

pytorch/pytorch

License: BSD-3-Clause
State: the link answers, verified on 30 September 2026
Evidence: files inventoried
Commit: 35d22a1a2c36bc86b5a9bfbf7e625b369a77ff51, 30 September 2026
Languages: Python (4992), C/C++ (2421), C++ (2328), CUDA (361), C (194), Shell (182), Java (21), Jupyter (11), JavaScript (5)
Size: 22,711 files, 10,515 scripts
Software Heritage: archived
Found in: “Data, code, and materials availability:”
Holds: README, license file, CITATION.cff, environment (Dockerfile, .devcontainer/Dockerfile, .devcontainer/README.md, .github/requirements-gha-cache.txt, .ci/docker/requirements-ci.txt, .ci/docker/requirements-docs.txt, .ci/lumen_cli/pyproject.toml, .devcontainer/cpu/devcontainer.json, .devcontainer/cuda/devcontainer.json, .devcontainer/cuda/requirements.txt, .devcontainer/scripts/install-dev-tools.sh, .devcontainer/scripts/update_alternatives_clang.sh), tests, continuous integration
Not found: documentation
Tools: PyTorch (15 files), NumPy (3 files), JAX (1 file), NetworkX (1 file), Numba (1 file), pandas (1 file), SciPy (1 file)
Availability: 1 check, the latest on 30 September 2026: the link answers
  • 30 September 2026: the link answers
2,000 files

The paper's code and data availability statement is in the Data section.

Tracing map

Proposed by the machine: these links were found in the paper and verified at the source, without human review. The map will receive a Zenodo DOI once one of the paper's authors has validated it with their ORCID.

What the map holds:

  • 1 repository of the authors' code, each at its verified commit, with its license and how the link was found in the paper;
  • 1,998 scripts, each with its path and the digest of its content;
  • no match between paragraphs and code yet;
  • neither the text of the paper nor the code itself.

Its JSON (tracing-map.json) is deposited on Zenodo with its DOI once the map is validated.

Data

No dataset and no data link were found in the paper.

Data, code, and materials availability

All data and code needed to evaluate and reproduce the results in the paper are present in the paper and/or the Supplementary Materials. The codes used in this work use standard libraries and scripts that are publicly available in PyTorch: https://github.com/pytorch/pytorch.

Reproduced under the paper's license (CC BY), from the paper cited above.

Versions

The history of this record: each version stored by the harvester or made by a correction of its authors or of the maintainers of its code, and what changed in its facts. The texts of the paper (its abstract, its availability statements) are not part of it; versions that changed only those are not listed.

Version 1, 30 September 2026: the first record

Recorded: type, language, journal, volume, issue, pages, dates, 8 authors, 2 funders, 11 references.

Cite

This paper

Wang, Y., Yilmaz, Z., Li, Y., Liu, E., Ahlberg, E., Ghahari, F., Taciroglu, E., & Ozcan, A. (2026). Structural vibration monitoring with diffractive optical processors. Science advances, 12(10), eaea1712. https://doi.org/10.1126/sciadv.aea1712

BibTeX

@article{wang2026structural,
author = {Wang, Yuntian and Yilmaz, Zafer and Li, Yuhang and Liu, Edward and Ahlberg, Eric and Ghahari, Farid and Taciroglu, Ertugrul and Ozcan, Aydogan},
title = {{Structural vibration monitoring with diffractive optical processors}},
journal = {Science advances},
year = {2026},
month = mar,
volume = {12},
number = {10},
pages = {eaea1712},
publisher = {American Association for the Advancement of Science},
issn = {2375-2548},
doi = {10.1126/sciadv.aea1712},
url = {https://doi.org/10.1126/sciadv.aea1712},
pmid = {41779852},
pmcid = {PMC12959400}
}

RIS

TY - JOUR
AU - Wang, Yuntian
AU - Yilmaz, Zafer
AU - Li, Yuhang
AU - Liu, Edward
AU - Ahlberg, Eric
AU - Ghahari, Farid
AU - Taciroglu, Ertugrul
AU - Ozcan, Aydogan
TI - Structural vibration monitoring with diffractive optical processors
T2 - Science advances
J2 - Sci Adv
PY - 2026
DA - 2026/03/04
VL - 12
IS - 10
SP - eaea1712
SN - 2375-2548
PB - American Association for the Advancement of Science
DO - 10.1126/sciadv.aea1712
UR - https://doi.org/10.1126/sciadv.aea1712
LA - en
ER -

CSL-JSON

{
"id": "10.1126/sciadv.aea1712",
"type": "article-journal",
"title": "Structural vibration monitoring with diffractive optical processors",
"container-title": "Science advances",
"author": [
{
"family": "Wang",
"given": "Yuntian"
},
{
"family": "Yilmaz",
"given": "Zafer"
},
{
"family": "Li",
"given": "Yuhang"
},
{
"family": "Liu",
"given": "Edward"
},
{
"family": "Ahlberg",
"given": "Eric"
},
{
"family": "Ghahari",
"given": "Farid"
},
{
"family": "Taciroglu",
"given": "Ertugrul"
},
{
"family": "Ozcan",
"given": "Aydogan"
}
],
"container-title-short": "Sci Adv",
"volume": "12",
"issue": "10",
"page": "eaea1712",
"DOI": "10.1126/sciadv.aea1712",
"PMID": "41779852",
"PMCID": "PMC12959400",
"ISSN": "2375-2548",
"publisher": "American Association for the Advancement of Science",
"URL": "https://doi.org/10.1126/sciadv.aea1712",
"language": "en",
"issued": {
"date-parts": [
[
2026,
3,
4
]
]
}
}

The tracing map gets a citation of its own once an author has validated it and it has a DOI.

Similar papers

The papers with a page that share the most with this one: the tools found in their code, their categories, datasets, cited references and authors, the rarest counting most.

[1] doi:10.1038/s42003-026-10957-8 [code]
Brain defence by the extracellular matrix protein Cochlin.
Journal: Communications biology
In common: JAX, Numba, NetworkX, 4 other tools
[2] doi:10.1038/s41467-026-75959-w [code]
Charting higher-order models of brain function beyond pairwise interactions.
Journal: Nature communications
In common: JAX, Numba, NetworkX, 3 other tools
[3] doi:10.1126/sciadv.aed4944 [code]
Focused ultrasound blood-brain barrier opening reveals a paradoxical remote metabolic response in the primate brain.
Journal: Science advances
In common: JAX, Numba, PyTorch, 3 other tools
[4] doi:10.1371/journal.pone.0346575 [code]
Statistically valid explainable black-box machine learning: applications in sex classification across species using brain imaging.
Journal: PloS one
In common: JAX, Numba, PyTorch, 3 other tools
[5] doi:10.1371/journal.pcbi.1014585 [code]
Decoding behavior with minimal and interpretable agent models.
Journal: PLoS computational biology
In common: Numba, NetworkX, PyTorch, 3 other tools
[6] doi:10.7554/elife.110588 [code]
Opening the black box toward a modular approach to spike sorting.
Journal: eLife
In common: Numba, NetworkX, PyTorch, 3 other tools
[7] doi:10.1126/sciadv.aed3650 [code]
Truthful visualizations for mass spectrometry imaging enable high-spatial-resolution interactive <i>m/z</i> mapping and exploration.
Journal: Science advances
In common: Numba, NetworkX, PyTorch, 3 other tools
[8] doi:10.1371/journal.pcbi.1014571 [code]
SynAPSeg: A novel dataset and image analysis framework for deep learning-based synapse detection and quantification.
Journal: PLoS computational biology
In common: Numba, NetworkX, PyTorch, 3 other tools
[9] doi:10.1016/j.isci.2026.116825 [code]
Social hierarchy shapes behavioral and transcriptional responses to chronic stress and ketamine in male mice.
Journal: iScience
In common: Numba, NetworkX, PyTorch, 3 other tools
[10] doi:10.1093/nar/gkag706 [code]
scDifformer: diffusion-based post-training for virtual cell modeling across large-scale single-cell data.
Journal: Nucleic acids research
In common: Numba, NetworkX, PyTorch, 3 other tools

Contribute

The authors of this paper can claim it, correct its record and validate its tracing map, and the maintainers of its code (its owner, or a public member of its organization) correct what it says of their repository; anyone signed in can ask for its removal. Every request goes to OSCR's own machine, which answers it; your account page follows them.

Sign in with ORCID to claim this paper as one of its authors, correct its record or validate its tracing map: when the paper's metadata lists your ORCID iD, you are recognized at once. Maintainers of its code: sign in with GitHub, then claim the repository on your account page.

Request its removal

To ask OSCR to remove this record, the copies of its authors' scripts or its tracing map, use the removal request page: signed in, you say who you are, what to remove and why, then review and confirm the request. Published rules decide every request (how).

Discussion, reproductions, activity

Discussion: questions and error reports about this paper and its code, from signed-in readers and its authors. It opens with sign-in.

Reproductions: reports from readers who ran the authors' code: what they reproduced, with which environment, commit and data. It opens with sign-in.

Activity: what happens around this paper: new versions of its record, its map's validation, discussions and reproductions. It opens with sign-in.