When acoustic tomography meets resistograph

Robert Mařík & Valentino Cristini
Mendel University in Brno

Content of the talk

  • Tomograph and resistograph: strengths and limitations
  • Combined approach: a Python library for simultaneous interpretation
  • Vibe coding (ChatGPT)
  • Code containerization (Docker)

Acoustic tomograph

  • Tool for fast stem inspection
  • Provides global information across the whole cross section
  • Green part - high sound speed value - sound wood
  • Shows size and shape of internal defects
  • Limited by long wavelength and small number of rays for reconstruction
  • Cracks are reported as cavities

Resistograph

  • Measures the power required for microdrilling at a fixed speed
  • Provides local mechanical properties of the material
  • Note short(!) valleys: the central cavity hypotheses is not accepted
  • Projection of the data to the stem cross section would reveal details of the defect

Data in cross section geometry

  • Transform resistograph data into 2D cross-section geometry
  • Two types of visualization
    • curves
    • color scale
  • Written as Python library
  • Published on GitHub

Merge data

  • Resistograph data in a tomogram
  • Increases the accuracy of data interpretation
  • The dark strips allow to localize the defect
  • In our case the hypotheses have been confirmed by detailed inspection after felling the tree

Python library

Advantages

  • Python is widely used in scientific data processing
  • Easy automation, scaling, modification, sharing, and reuse
  • Simple integration with other tools

Python library

Limitations

  • Needs installation of Python ecosystem
  • Requires programming skills
  • No graphical user interface

Streamlit

  • Library for building interactive web apps
  • GUI in web browser
  • Widely used in industry and academia
  • Requires minimal code

Vibe coding

  • Code written by AI (LLM)
  • ChatGPT 5 in August 2025
  • Web app produced in two prompts
I have the following library. Write 
a streamlit program that allows you 
to upload a zipped directory with data 
and run commands corresponding to 
the main function on it. 
The output will be displayed.
OK. I want to be able to change 
the preset options in the left panel.

Docker

  • Packages app and dependencies into a single container
  • Ensures consistency across environments - ideal for transparent and repeatable data processing
  • Widely used in industry and academia
  • In some fields, the "compute capsule" is submitted together with the manuscript (Code Ocean).

Run dockerized app

docker compose up
  • First run takes minutes, later runs take ms
  • No Python install required
  • No dependency issues
  • Works on Win / Mac / Linux

Summary

  • Resistograph and tomograph are complementary tools for tree inspection
  • A Python library was developed to enhance data interpretation
  • GUI is possible with Streamlit
  • Coding can be done with AI support
  • Installation can be simplified and repeated with Docker