[!WARNING] This project is currently under development and not yet ready for use. Please check back later.
Volumetric synthetic aperture focusing technique (SAFT) for acoustic resolution optoacoustic microscopy and (soon) scanning acoustic microscopy.
This repository contains an implementation of the synthetic aperture focusing technique purely written in C++ and CUDA. You need a CUDA capable device and Linux installed on your PC to run the fast GPU version of it. A "slow" CPU version is implemented as well. Installation instructions will soon be provided for ArchLinux as well as dataset specifications.
hdf5
file formatRequired packages:
cmake
to build compiling chainCMake
CUDA
for GPU acceleration (can be disabled, not required)hdf5
for dataset import and exportlibxrandr
, libxinerama
, libxcursor
, libxi
, libgl1-mesa-dev
: used for GUI frameworkPackage installation command ArchLinux:
pacman -S hdf5 libxrandr libxinerama
Package installation command Ubuntu:
apt-get install libhdf5-serial-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev
Many other dependencies are directly managed through CMake based on FetchContent
.
Cloning and compiling
git clone https://github.com/hofmannu/opensaft
cd opensaft
mkdir build
cd build
cmake .. && make all
The last command will generate an executable called main_exp
.
SAFT induces a strong absorption bias over depth. Absorbance "reconstructed" at different depths can therefore never be compared in a quantitative manner. It also tends to amplify low frequency signals which is the reason why most groups so far reconstruct different frequency bands independently (feature requires implementation). In planes very distant from the focus blurring is unavoidable due to the large shape of the reconstruction arcs.
The documentation should be running with vitepress
and is compiled into a static website that is also published to github pages. All documentation is written in markdown and can be found in the doc folder.
If this is the first time that you have a look at the documentation, you need to run
npm install
Afterwards, to display the documentation run
npm run docs:dev
To build the static website, run
npm run docs:build
The documentation is published on every merge to main
to github pages.
If there is an error occurring about a version mismatch of the hdf5
library while loading a dataset from a file, it is most likely not the dataset itself that has an outdated format but rather the version of the installed hdf5
library and the library you linked during compilation (e.g. your PC updated the hdf5
library in the meantime). Simply recompile the program and the error should be gone.
I have no more access to optoacoustic microscopy images and therefore I am currently relying on simulation data to validate the performance of the algorithm. If you have experimental datasets which I can test the procedure against, feel free to contact me.