DOI: 10.3217/gk9ym-e9184
title: Neural Network-Based Tomographic Reconstruction of Local Flame Fields

description: Introduction

This research is the result of Austrian-German joint research project, funded by the Austrian Science Fund FWF within grant FWF-I5392-N and the Deutsche Forschungsgemeinschaft DFG within grant CZ 55/50-1. This project is a Lead-Agency D-A-CH project in cooperation between Graz University of Technology, Austria and Technische Universität Dresden, Germany, named "FOUR-DIMENSIONAL MEASUREMENT OF THERMOACOUSTIC OSCILLATIONS".

The underlying hypothesis of this project claims that four-dimensional detection of local thermoacoustic oscillations, based on the combination of a (camera-based) laser interferometric vibrometer with multidirectional background-oriented schlieren method, density tagging velocimetry and deep neural networks as binding element, will reveal local and coupled information on combustion, acoustics and fluid dynamics. 

Structure of the folders:

The files available in this repository are arranged in the following way:

A root .zip folder called "Data and scripts.zip" stores all the data. Inside this .zip folder there are:



one folder called "Example of experimental Data"

one folder called "Synthetic projections and 3D phantoms"

a Python code called "model_tan_grad.py"

a Python code called "train_graz_nn_single.py"


In the folder "Example of experimental Data" additional 9 folders are available, each of which stores a set of experimentally obtained projections that can be used to perform a tomography. Every folder (20, 40, 60,...) is named after a number representing the angle (in degrees) at which the measurements were performed. The projection files are named in the following way: "average_0.npy", "average_1.npy", "average_2.npy", with the number corresponding to the eight phase steps of oscillation. Number nine represents the averaged reference.

The folder "Synthetic projections and 3D phantoms" stores all the data necessary for the assessment of the SART and Neural Network performance. It is structured in this way:



 4 folders called: "projections_npy_8", "projections_npy_14",  "projections_npy_50",  "projections_npy_100" store the synthetically and equally spaced projections extracted from the available 3D body of a flame. The number used at the end of the name of the folders denotes the number of projections available. Files are available as numpy arrays (e.g. projection_000.npy) and as PNGs in a folder called "png" (e.g. projection_000.png).

 4 folders called: "projections_shepp_npy_8", "projections_shepp_npy_14",  "projections_shepp_npy_50",  "projections_shepp_npy_100" store the synthetically and equally spaced projections extracted from the available 3D body of a Shepp Logans's phantom. The number used at the end of the name of the folders denotes the number of projections available. Files are available as numpy arrays (e.g. projection_000.npy) and as PNGs in a folder called "png" (e.g. projection_000.png).

A folder called "3D phantoms" stores two files. These files are respectively: "phantom_volume.npy", a numpy 3D array representing the 3D body of the used flame; "shepp_logan_3d.npy", a numpy 3D array representing the 3D body of the used Shepp Logans's phantom.


The Python file "model_tan_grad.py" is necessary for the definition of the functions used during training and for defining the forward network path.

The Python file "train_graz_nn_single.py" is necessary for loading the files containing the projections, pre-processing the files before feeding them to the network and managing the training loop.

 

Related research is available in the Reference section.