# Thickness and surface estimation of thin porous media based on 3D image data

Florian Frank, Erik Glatt, Sven Linden, Andreas Wiegmann

<figure><img src="image_1.png" /></figure>

## To cite this version:

Florian Frank, Erik Glatt, Sven Linden, Andreas Wiegmann. Thickness and surface estimation of thin porous media based on 3D image data. 2023. hal-04233271

HAL Id: hal-04233271

https://hal.science/hal-04233271v1

Preprint submitted on 9 Oct 2023

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons CC BY 4.0 - Attribution - International License
# Thickness and surface estimation of thin porous media based on 3D image data

Florian Frank¹,*, Erik Glatt¹, Sven Linden¹, Andreas Wiegmann¹

¹ Math2Market GmbH, Richard-Wagner-Straße 1, 67655 Kaiserslautern, Germany

October 9, 2023

*Keywords:* Thickness estimation, thin porous media, image analysis, woven fabric, non-woven, filter, gas diffusion layer, battery electrode.

## Abstract

Measuring the thickness of thin porous materials provides valuable insights into their structure, properties, and performance, including key properties such as porosity and permeability, and is highly beneficial for a range of industrial applications, particularly in ensuring effective quality control processes. A novel approach for estimating the thickness of porous media and of their surfaces is proposed, based on the voxel sets of 3D images such as 3D scans and segmented scan data. Initially, the solid volume fraction (SVF) is computed for each voxel layer perpendicular to through direction. Then, fitting functions consisting of piecewise linear segments are chosen to ensure accurate representations of the layer data. Each function is associated with various thickness regions of the medium, including the medium itself and its surfaces. An optimization problem is then solved to find the best fitting function based on the squared area between the SVF and the fitting function. The thickness of the medium and of its surfaces is provided based on the identified optimal fit. This robust, reliable, and fast approach aims to provide not only a non-intrusive method for thickness estimation of porous media represented by voxel sets, but also a precise alternative to existing methodologies.

<footnote>* Corresponding author. E-mail address: florian.frank@math2market.de.</footnote>
# Contents

<table><tr><td>1</td><td>Introduction</td><td>3</td></tr><tr><td>1.1</td><td>Measuring thickness of porous media: methods and implications</td><td>3</td></tr><tr><td>1.2</td><td>Thickness estimation based on X-ray or CT scanning</td><td>4</td></tr><tr><td>2</td><td>Materials and methods</td><td>4</td></tr><tr><td>2.1</td><td>Layered solid volume fractions</td><td>4</td></tr><tr><td>2.2</td><td>Thickness approximation</td><td>5</td></tr><tr><td>2.2.1</td><td>Piecewise linear polynomials and minimization problem</td><td>5</td></tr><tr><td>2.2.2</td><td>Definition of thickness regions</td><td>6</td></tr><tr><td>2.2.3</td><td>Definition of the fitting spaces and initialization</td><td>6</td></tr><tr><td>2.3</td><td>Solution algorithm</td><td>8</td></tr><tr><td>2.3.1</td><td>Definition of the target functional</td><td>8</td></tr><tr><td>2.3.2</td><td>Further optional penalization</td><td>8</td></tr><tr><td>2.3.3</td><td>Evaluation of the target functional</td><td>8</td></tr><tr><td>3</td><td>Results and discussion</td><td>9</td></tr><tr><td>3.1</td><td>Academic test cases</td><td>9</td></tr><tr><td>3.1.1</td><td>All-zero solid volume fraction</td><td>9</td></tr><tr><td>3.1.2</td><td>All-one solid volume fraction</td><td>10</td></tr><tr><td>3.1.3</td><td>Step function</td><td>10</td></tr><tr><td>3.2</td><td>Thickness estimation of thin porous media</td><td>10</td></tr><tr><td>3.2.1</td><td>Oil filter</td><td>10</td></tr><tr><td>3.2.2</td><td>Gas diffusion layer</td><td>13</td></tr><tr><td>3.2.3</td><td>Lithium-ion battery anode</td><td>15</td></tr><tr><td>3.2.4</td><td>Non-woven fabric</td><td>17</td></tr><tr><td>4</td><td>Conclusions</td><td>19</td></tr><tr><td></td><td>References</td><td>20</td></tr></table>
# 1 Introduction

## 1.1 Measuring thickness of porous media: methods and implications

The computation of the thickness of thin porous media, and porous materials in general, is an invaluable asset for various scientific, engineering, and industrial disciplines. This measurement offers insights into the structure, properties, and performance of the materials in question. Broadly speaking, thickness refers to the distance between the two surfaces enclosing the porous material.

Understanding this dimension assists in characterizing the porous media, revealing details about its structure and properties. This information can help researchers gain insights into the geometry, porosity, and connectivity of the pores within the material. The thickness of porous media serves as a crucial factor in permeability calculations—permeability being the measure of a material's ability to allow fluid to flow through it.

Thickness plays a significant role in modeling and simulation. In many numerical modeling and simulation studies, the thickness of thin porous media is a necessary input parameter. Whether simulating fluid flow, mass transport, or heat transfer through the media, accurate thickness information is essential for precise predictions and analyses.

Thickness measurement is also important for characterizing the physical properties of porous media. In materials science and engineering, for example, thin porous media may serve as filtration membranes or catalyst supports. By accurately measuring thickness, it becomes possible to estimate the permeability of the porous media, which is crucial in various applications such as groundwater flow, oil reservoir engineering, and filtration processes. Such measurements further assist in determining material properties such as surface area, crucial to understanding the performance and efficiency of these materials. In several industrial manufacturing processes, the thickness of thin porous media emerges as a critical quality control parameter. Ensuring uniformity and consistency in the thickness of materials such as filters, membranes, or coatings is vital for their proper functioning.

The specific method utilized to compute thickness often depends on the characteristics of the porous media, the available equipment or techniques, and the desired accuracy level. Common approaches include:

1. *Direct measurement:* This is the most straightforward method, using a caliper or a micrometer to physically measure the distance between the two surfaces of the porous media. It is important to note that physical measurement may alter the thickness of the porous medium, e. g., when protruding fibers are pushed inwards, affecting the accuracy of the measurement.

2. *Optical methods:* Optical techniques such as microscopy or interferometry can be employed to measure the thickness of thin porous media. The distance between the surfaces can be determined by observing the material under a microscope or utilizing interferometric measurements.

3. *Permeability measurement:* This is an indirect method for estimating thickness by measuring the porous media's permeability. Permeability is a property that characterizes the ability of a porous material to transmit fluids through its interconnected pore spaces. Thickness can be estimated by measuring the flow rate or pressure drop across the media and using Darcy's law. This method presumes a known permeability and uses it to derive the thickness.

4. *X-ray or CT scanning:* Advanced imaging techniques such as X-ray or CT (Computed Tomography) scanning can provide cross-sectional images of the porous media. By analyzing these images, the distance between the surfaces can be determined, thereby estimating the thickness.

The proposed method in this paper is based on the fourth approach.
## 1.2 Thickness estimation based on X-ray or CT scanning

X-ray or CT scanning is a non-invasive imaging technique that creates cross-sectional images of an object, including porous media. The process involves the use of X-rays to generate a series of 2D radiographic images taken from different angles around the object. The series of 2D images can be reconstructed into a 3D image consisting of voxels, where each voxel represents a small volume element of the scanned object. The 3D voxel data can then be visualized and analyzed, enabling insights into the internal structure of porous media without physical intrusion, including the estimation of the thickness. In this paper, we propose a novel approach for estimating the thickness of porous media represented by a voxel set, which could either be binary or gray scale.

Prior to deploying the new solution algorithm, it is essential to first orient the structure so that the thin porous medium stands perpendicular to the through direction, which facilitates accurate thickness estimations. CT scans can sometimes be skewed or deliberately taken at a diagonal angle to avoid artifacts. Maintaining the correct orientation is crucial to ensure precision and reliability. We briefly address this matter here, but it is worth noting that the functionality for reorienting the structure is integrated into the GeoDict framework [1]. This feature was notably utilized in Section 3.2.1.

Subsequently, for each voxel layer in through direction, the solid volume fraction (SVF) is computed and averaged across the corresponding perpendicular layers, cf. Section 2.1. Subsequently, fitting functions are chosen consisting of piecewise linear segments, cf. Section 2.2. The selection of the fitting functions is crucial in ensuring accurate approximate representations of the voxel data. Each fitting function is assigned various thickness regions, e. g., the thickness of the medium and the thickness of the medium's surfaces. Following this, an optimization problem is solved to determine the optimal fitting function, cf. Section 2.3. The target functional in this case is the squared area between the averaged SVF and the fitting function. From the identified best fit, the thickness of the medium and its surfaces is derived.

This approach seeks to provide a robust, reliable, and fast approach for thickness estimation of porous media represented by voxel sets. Our thickness estimation algorithm, as described in Section 2.3, has been integrated into the MatDict module [2] of the GeoDict software, version 2024 [1].

# 2 Materials and methods

## 2.1 Layered solid volume fractions

<figure><img src="image_3.png" /><figcaption>**Figure 1:** Illustration of layered SVF data as vector $[s_k]_k, k \in \{1, \dots, n_z\}$ on layer centers (black) and as a $L^\infty$ function $s: \mathbb{R} \to [0, 1]$ (red) for $n_z = 10$ voxel layers. The location of the transition between zero-inlet and upstream surface is $z^* = \frac{2}{n_z} = 0.2$ (analogue $z^* = \frac{n_z-1}{n_z} = 0.9$ between downstream surface and zero-outlet), cf. (6).</figcaption></figure>

Consider a digitized porous medium represented by 3D image data of size $n_x \times n_y \times n_z$, stored in the tensor $[v_{i,j,k}]_{i,j,k}, i \in \{1, 2, \dots, n_x\}, j \in \{1, 2, \dots, n_y\}, k \in \{1, 2, \dots, n_z\}$. A voxel with index $(i, j, k)$ holds
either a scaled gray-scale value associated with a density such that $v_{i,j,k} \in [0, 1]$ or binary image data such that $v_{i,j,k} \in \{0, 1\}$, where zero corresponds to void space and one to solid space. The solid volume fraction (SVF) averaged across one layer of voxels parallel to the x-y plane at z-index k is given by

$$s_k := \sum_{i=1}^{n_x} \sum_{j=1}^{n_y} \frac{v_{i,j,k}}{n_x n_y}, \quad k \in \{1, 2, \dots, n_z\}. \qquad (1)$$

Since we will apply an optimization method with target functional that integrates over the layered SVF, we define the $L^\infty$ function $s: [0, 1] \to [0, 1]$ piecewise constant via

$$s|_{[\frac{k-1}{n_z}, \frac{k}{n_z}]}(z) := s_k, \quad k \in \{1, 2, \dots, n_z\}, \qquad (2a)$$

cf. Figure 1. Since this optimization method is unconstrained, the function $s$ must also be defined outside of $[0, 1]$. Therefore, we extend $s$ to the domain $\mathbb{R}$ via

$$s|_{[-\infty, 0]}(z) := s_1 \quad \text{and} \quad s|_{[1, \infty]}(z) := s_{n_z}. \qquad (2b)$$

The function $s$ is required only for visualization and for the derivation of the numerical scheme. In the actual solution algorithm, only the vector $[s_k]_k$ is required.

## 2.2 Thickness approximation

### 2.2.1 Piecewise linear polynomials and minimization problem

<figure><img src="image_4.png" /><figcaption>Figure 2: Illustration of a fitting function $p$ as used in Fit 6 (Fit 3 to Fit 6 are introduced in Section 2.2.3) according to (3) (blue) and thickness estimation of the inlet, $t^{in}$, the medium, $t^{med}$, and the outlet, $t^{out}$ (orange), the upstream surface depth $t^{us}$, and the downstream surface depth $t^{ds}$ (purple). The definition of $t^{in}$, $t^{med}$, $t^{out}$, $t^{us}$, $t^{ds}$ hold analogously for Fit 3 to Fit 5. Fit 3 and Fit 4 assume sharp transitions, i. e., it holds $t^{us} = t^{ds} = 0$.</figcaption></figure>

To fit the layered SVF function $s$, we choose piecewise linear polynomials $p: [0, 1] \to \mathbb{R}$ with

$$p(z; z_1, \dots, z_6, p_1, \dots, p_6)|_{z \in [z_{i-1}, z_i]} := \frac{1}{z_i - z_{i-1}} (p_{i-1}(z_i - z) + p_i(z - z_{i-1})) \qquad (3a)$$

with nodes

$$0 := z_1 \le z_2 \le \dots \le z_6 := 1 \qquad (3b)$$

cf. Figure 2. By $\mathcal{P}$, we denote the fitting space, i. e., the set of all fitting functions $p$ of (3) subject to additional constraints on the coefficients $z_i, p_i \in \mathbb{R}$, cf. Section 2.2.3. Note that elements of $\mathcal{P}$ are $L^\infty$ functions and, in particular, are allowed to be discontinuous (e. g., consider $z_2 = z_3, p_2 \ne p_3$).

The general optimization problem then reads “find $q \in \mathcal{P}$ such that $\|q - s\|_{L^2(0,1)}^2 \to \min$” with $s$
given in (2), where $\|v\|_{L^2(0,1)}^2 := \int_0^1 |v(z)|^2 dz$, or equivalently,

$$q = \arg \min_{p \in \mathcal{P}} E^2(p) \qquad (4)$$

with squared $L^2(0, 1)$ error

$$E^2(p) = E^2(z_1, \dots, z_6, p_1, \dots, p_6) := \|p - s\|_{L^2(0,1)}^2 = \int_0^1 |p(z; z_1, \dots, z_6, p_1, \dots, p_6) - s(z)|^2 dz. \quad (5)$$

In the results section, Section 3, we list the $L^2(0, 1)$ errors $E(p)$ of the (local) minimizers for four fitting spaces and for various benchmarks. Notice, however, that for the actual solution algorithm presented in Section 2.3, the target functional $E^2$ in (4) is replaced by a functional $F: L^\infty \to \mathbb{R}_{\ge 0}$ that includes additional penalization.

### 2.2.2 Definition of thickness regions

Having identified the optimal fitting functions $p$ as defined in (3), it is possible to define the media thickness and other lengths based on the coordinates $z_1, \dots, z_6$. The interval $[0, 1]$, representing the length of the voxel set in $z$ direction, is divided into three disjoint regions: the inlet region, the porous medium region, and the outlet region, each with their own length measurements: $t^{\text{in}}$, $t^{\text{med}}$, and $t^{\text{out}}$, respectively, cf. Figure 2. Additionally, the upstream surface depth $t^{\text{us}}$ and the downstream surface depth $t^{\text{ds}}$ describe the length of the transition zones between the inlet region and the porous medium, and between the porous medium and the outlet region, respectively.

Four fitting functions are defined in Section 2.2.3, where the optimal fits are denoted by Fit 3, Fit 4, Fit 5, and Fit 6. Fit 3 and Fit 4 are designed to approximate porous media with a sharp transition (i. e. sharp surface) between inlet/outlet and the medium implying $t^{\text{us}} = t^{\text{ds}} = 0$, while Fit 5 and Fit 6 to approximate porous media with a smooth transition (i. e. smooth surface). Eventually, Fit 3 and Fit 5 assume porous media with uniform internal structure and Fit 4 and Fit 6 with internal gradient structure in $z$ direction.

### 2.2.3 Definition of the fitting spaces and initialization

A fitting function $p$ as given in (3) is uniquely defined by its coefficients $z_1, \dots, z_6$ and $p_1, \dots, p_6$. We consider four different fitting functions by fixing subsets of these coefficients and call the respective minimizers Fit 3 to Fit 6, cf. Figure 3 and Table 1. Non-fixed coefficients are the degrees of freedom (DOF) of each minimization problem. The fit number equals the number of DOF of the corresponding minimization problem. Furthermore, we define two auxiliary minimization problems, the minimizer of which is used for the initialization of other minimization problems.

The optimization method (here the pattern search method, cf. Section 2.3.1) searches for a local minimizer $x_1, x_2, \dots$ to identify the best fitting function $p$ with initial values $x_1^0, x_2^0, \dots$ given. These initial conditions are based on heuristics and taken from (possibly modified) minimizers of other minimization problems:

Fit 3A and Fit 4A are the minimizers of two auxiliary minimization problems that fix two degrees of freedom by using two specific $z$ locations: Let $z_* \in [0, 1]$ such that

$$\exists \delta \in ]0, 1[, \forall \varepsilon \in ]0, \delta[, s(z_* + \varepsilon) > 0 \quad \wedge \quad \forall \varepsilon \in ]0, z_*[, s(z_* - \varepsilon) = 0 \qquad (6a)$$

and let $z^* \in [0, 1]$ such that

$$\exists \delta \in ]0, 1[, \forall \varepsilon \in ]0, \delta[, s(z^* - \varepsilon) > 0 \quad \wedge \quad \forall \varepsilon \in ]0, 1-z^*[s(z^* + \varepsilon) = 0. \qquad (6b)$$
<figure><img src="image_5.png" /><figcaption>**Figure 3:** Illustration of fitting functions *p* (blue) and the degrees of freedom (DOF) of corresponding minimization problems, cf. (2.2.3). An arrow at a point signifies a DOF allowing movement along the respective main direction, cf. Table 1. An arrow at an edge indicates one DOF in moving both end points of this edge along the respective main direction.</figcaption></figure>

This means that $z_*$ is the left z coordinate of the first layer that has a non-zero value, cf. Figure 1. If no such values exist, i. e. $\forall k \in \{1, \dots, n_z\}, s_k = 0$ (empty domain), then we set $z_* = 0, z_* = 1$. Analogously, $z^*$ is the right z coordinate of the last layer that has a non-zero value. Fit 3A is initialized $x_1^0 := z_*, x_2^0 := z^*, x_3^0 := \bar{s}/(z^* - z_*)$, where $\bar{s}$ is the average SVF, computed by

$$ \bar{s} := \frac{1}{n_z} \sum_{k=1}^{n_z} s_k, $$

cf. (1). Fit 4A is initialized via $x_1^0 := z_3, x_2^0 := z_4, x_3^0 := x_4^0 := p_3(= p_4)$, where $z_i, p_i$ are the coefficients of the minimizer of Fit 3A. Fit 3 is initialized by $x_1^0 := (z_2 + z_3)/2, x_2^0 := p_3(= p_4), x_3^0 := (z_4 + z_5)/2$, where $z_i, p_i$ are the coefficients of the minimizer of Fit 3A. Fit 4 is initialized by $x_1^0 := (z_2 + z_3)/2, x_2^0 := x_3^0 := p_3(= p_4), x_4^0 := (z_4 + z_5)/2$, where $z_i, p_i$ are the coefficients of the minimizer of Fit 3A. Fit 5 is initialized by $x_k^0 := z_{k+1}, k \in \{1, 2, 3, 4\}, x_5^0 := p_3(= p_4)$, where $z_i, p_i$ are the coefficients of the minimizer of Fit 3A. Fit 6 is initialized by $x_k^0 := z_{k+1}, k \in \{1, 2, 3, 4\}, x_5^0 := x_6^0 := p_3(= p_4)$, where $z_i, p_i$ are the coefficients of the minimizer of Fit 5.

<table><caption>**Table 1:** Degrees of freedom $x_i$ for minimization problems for Fit 3 to Fit 6, and for Fit 3A and Fit 4A (auxiliary). The minimization result of the solution algorithm in Section 2.3 is invariant with respect to the ordering of $x_i$. The locations $z_*$ and $z^*$ are defined in (6).</caption><thead><tr><th></th><th>Fit 3</th><th>Fit 4</th><th>Fit 5</th><th>Fit 6</th><th>Fit 3A</th><th>Fit 4A</th></tr></thead><tbody><tr><td>(z<sub>1</sub>, p<sub>1</sub>)</td><td>(0, 0)</td><td>(0, 0)</td><td>(0, 0)</td><td>(0, 0)</td><td>(0, 0)</td><td>(0, 0)</td></tr><tr><td>(z<sub>2</sub>, p<sub>2</sub>)</td><td>(x<sub>1</sub>, 0)</td><td>(x<sub>1</sub>, 0)</td><td>(x<sub>1</sub>, 0)</td><td>(x<sub>1</sub>, 0)</td><td>(z<sub>*</sub>, 0)</td><td>(z<sub>*</sub>, 0)</td></tr><tr><td>(z<sub>3</sub>, p<sub>3</sub>)</td><td>(x<sub>1</sub>, x<sub>2</sub>)</td><td>(x<sub>1</sub>, x<sub>2</sub>)</td><td>(x<sub>2</sub>, x<sub>5</sub>)</td><td>(x<sub>2</sub>, x<sub>5</sub>)</td><td>(x<sub>1</sub>, x<sub>3</sub>)</td><td>(x<sub>1</sub>, x<sub>3</sub>)</td></tr><tr><td>(z<sub>4</sub>, p<sub>4</sub>)</td><td>(x<sub>3</sub>, x<sub>2</sub>)</td><td>(x<sub>4</sub>, x<sub>3</sub>)</td><td>(x<sub>3</sub>, x<sub>5</sub>)</td><td>(x<sub>3</sub>, x<sub>6</sub>)</td><td>(x<sub>2</sub>, x<sub>3</sub>)</td><td>(x<sub>2</sub>, x<sub>4</sub>)</td></tr><tr><td>(z<sub>5</sub>, p<sub>5</sub>)</td><td>(x<sub>3</sub>, 0)</td><td>(x<sub>4</sub>, 0)</td><td>(x<sub>4</sub>, 0)</td><td>(x<sub>4</sub>, 0)</td><td>(z<sub>*</sub>, 0)</td><td>(z<sub>*</sub>, 0)</td></tr><tr><td>(z<sub>6</sub>, p<sub>6</sub>)</td><td>(1, 0)</td><td>(1, 0)</td><td>(1, 0)</td><td>(1, 0)</td><td>(1, 0)</td><td>(1, 0)</td></tr></tbody></table>
## 2.3 Solution algorithm

### 2.3.1 Definition of the target functional

To minimize the target functional $E^2$ of (5), we choose the pattern search method [3, 4] (also known as Hooke-Jeeves method). The variables to be optimized are subsets of the nodes $z_1, \dots, z_6$ and their function values $p_1, \dots, p_6$, depending on the chosen fitting function (cf. Section 2.2.3). Since pattern search is an unconstrained optimization method, the target functional $E^2$ must be defined for all coefficient values in $\mathbb{R}$. In particular, pattern search may sample $E^2$ with nodes $z_i$ that violate the order (3b). Therefore, we replace $E^2$ from (5) by

$$F(z_1, \dots, z_6, p_1, \dots, p_6) := \sum_{i=2}^{6} \begin{cases} \int_{z_{i-1}}^{z_i} |p(z_1, \dots, z_6, p_1, \dots, p_6) - s|^2 & \text{if } z_{i-1} \le z_i \\ \int_{z_{i-1}}^{z_i} |p - s|^2 & \text{otherwise} \end{cases} \quad (7)$$

to penalize "node overlaps" $z_{i-1} > z_i$. This penalization keeps $F$ being $C^0$ smooth. The term $z_{i-1} - z_i$ in (7) was motivated by the integral $\int_{z_i}^{z_{i-1}} |p - s|^2$ (for the case $z_i < z_{i-1}$) with which it is always beneficial for the optimization method to reduce the distance between the two falsely-ordered nodes $z_i$ and $z_{i-1}$. However, this integral may vanish, e. g., for Fit 5 and $i = 2$ if $s$ is zero in this region. Therefore, we choose $\int_{z_i}^{z_{i-1}} |p - s|^2 \le \int_{z_i}^{z_{i-1}} 1 = z_{i-1} - z_i$.

### 2.3.2 Further optional penalization

Optionally, for Fit 5 and Fit 6, we further demand that $z_2, z_5 \in [z_*, z^*]$. For this, we add $(z_5 - z_*)$ to $F$ if $z_5 > z_*$ and add $z^* - z_2$ to $F$ if $z_2 < z^*$ (cf. (6) for the definition of $z_*, z^*$). In our implementation, this penalty is active by default.

For Fit 5 and Fit 6, we need to take care that the interior thickness $t^{\text{int}} := |z_3 - z_4|$ does not vanish. Therefore, we define a lower bound $\epsilon_0 > 0$ for the ratio of interior thickness to upstream surface thickness $t^{\text{us}} := |z_2 - z_3|$ by

$$\epsilon_0 t^{\text{us}} \stackrel{!}{<} t^{\text{int}}. \quad (8)$$

If (8) is violated, $\epsilon_0 t^{\text{us}} - t^{\text{int}} > 0$ is added to the target functional $F$. Analogously for the downstream surface thickness $t^{\text{ds}} := |z_4 - z_5|$. The default value in our implementation is $\epsilon_0 := 0.7$.

For Fit 6, we limit the slope of the interior by introducing an upper bound $\epsilon_1 > 0$ for the ratio of interior slope $k^{\text{int}} := |(p_3 - p_4)/(z_3 - z_4)|$ to upstream surface slope $k^{\text{us}} := |(p_2 - p_3)/(z_2 - z_3)|$ by

$$\epsilon_1 k^{\text{us}} \stackrel{!}{>} k^{\text{int}}. \quad (9)$$

If (9) is violated, $k^{\text{int}} - \epsilon_1 k^{\text{us}} > 0$ is added to the target functional $F$. Analogously for the downstream surface slope $k^{\text{ds}} := |(p_4 - p_5)/(z_4 - z_5)|$. The default value in our implementation is $\epsilon_1 := 0.8$.

### 2.3.3 Evaluation of the target functional

To evaluate $s$ at a location $z \in [0, 1]$, we need to compute the index $k$ such that the definition (2) holds. This can be done via $k = \min\{\lfloor z n_z \rfloor + 1, n_z\}$. Consider the nodes $z_{i-1} \le z_i$ and the integers $k, K$ such that $z_{i-1} \in [\frac{k-1}{n_z}, \frac{k}{n_z}]$ and $z_i \in [\frac{K-1}{n_z}, \frac{K}{n_z}]$, cf. Figure 4. Then

$$\int_{z_{i-1}}^{z_i} |p - s|^2 \stackrel{(2)}{=} \int_{z_{i-1}}^{z_i} |p|_{|z_{i-1}, z_i|} - s|^2$$
<figure><img src="image_6.png" /><figcaption>Figure 4: Illustration of the subintervals for numerical integration, cf. Section 2.3.3 with one segment of p (blue) and s (red). The indices k and K are chosen such that $z_{i-1} \in [\frac{k-1}{n_z}, \frac{k}{n_z}]$ and $z_i \in [\frac{K-1}{n_z}, \frac{K}{n_z}]$. The yellow areas visualize the integral of $p-s$ (the contributions to the target functional F is $|p-s|^2$, cf. (7)). On each subinterval, the integrand of F is quadratic and, therefore, it can be computed exactly using two Gauss-Legendre quadrature points, cf. Section 2.3.3.</figcaption></figure>

if $k = K$ and

$$ \int_{z_{i-1}}^{z_i} |p-s|^2 \stackrel{(2)}{=} \int_{z_{i-1}}^{\frac{k}{n_z}} |p|_{z_{i-1},z_i} - s_k|^2 + \sum_{\ell=k+1}^{K-1} \int_{\frac{\ell-1}{n_z}}^{\frac{\ell}{n_z}} |p|_{z_{i-1},z_i} - s_\ell|^2 + \int_{\frac{K-1}{n_z}}^{z_i} |p|_{z_{i-1},z_i} - s_K|^2, $$

if $k < K$, where $p|_{z_{i-1},z_i}$ was defined in (3a). These integrals can be computed exactly using Gauss-Legendre quadrature with two points, since the integrands are quadratic: If $f: \mathbb{R} \to \mathbb{R}$ is at most quadratic, then

$$ \int_a^b f(z) dz = \frac{(b-a)}{2} \left( f\left(\frac{a+b}{2} - \frac{b-a}{2\sqrt{3}}\right) + f\left(\frac{a+b}{2} - \frac{b-a}{2\sqrt{3}}\right) \right). \quad (10) $$

Notice that the piecewise constant function s as defined in (2) is not required for the computation of the integrals — only the initially given SVF values $s_k$ of (1) are needed.

# 3 Results and discussion

## 3.1 Academic test cases

In the subsequent sections, we introduce a series of academic benchmark tests designed to validate the robustness of the thickness estimation algorithm.

### 3.1.1 All-zero solid volume fraction

Consider the function $s: \mathbb{R} \to \{0\}$, i.e., $s \equiv 0$ (e.g., by all voxels having zero-value, implying that $s_1, \dots, s_{n_z} = 0$), cf. (2). The solution algorithm of Section 2.3 then yields

$$ (z_1, p_1) = (z_2, p_2) = (z_3, p_3) = (0, 0), \quad (z_4, p_4) = (z_5, p_5) = (z_6, p_6) = (1, 0) $$

for Fit 3 to Fit 6, i.e., the approximation is exact with $E(p) = 0$. According to Section 2.2.2, these values imply $t^{\text{in}} = t^{\text{out}} = t^{\text{us}} = t^{\text{ds}} = 0$, however, $t^{\text{med}} = 1$. If in a practical computer code, this special case is admissible, then there needs to be a case differentiation that sets $t^{\text{med}} \neq 0$ if $s_1, \dots, s_{n_z} = 0$.
### 3.1.2 All-one solid volume fraction

Consider the function $s: \mathbb{R} \to \{1\}$, i. e., $s \equiv 1$ (e. g., by all voxels having value one, implying that $s_1, \dots, s_{n_z} = 1$), cf. (2). The solution algorithm of Section 2.3 then yields

$$ 
\begin{aligned}
(z_1, p_1) &= (z_2, p_2) = (0, 0), & (z_3, p_3) &= (0, 1), \\
(z_4, p_4) &= (1, 1), & (z_5, p_5) &= (z_6, p_6) = (1, 0)
\end{aligned}
$$

for Fit 4 and Fit 6, i. e., the approximation is exact with $E(p) = 0$. According to Section 2.2.2, these values imply $t^{\text{med}} = 1$ and $t^{\text{in}} = t^{\text{out}} = t^{\text{us}} = t^{\text{ds}} = 0$.

### 3.1.3 Step function

Consider the function $s$ with

$$ s|_{-\infty, \frac{1}{3}}(z) \equiv 0, \qquad s|_{\frac{1}{3}, \frac{2}{3}}(z) \equiv 1, \qquad s|_{\frac{2}{3}, \infty}(z) \equiv 0 $$

(e. g., by having $s_1 = 0, s_2 = 1, s_3 = 0$ or $s_1 = s_2 = 0, s_3 = s_4 = 1, s_5 = s_6 = 0$, etc.). The solution algorithm of Section 2.3 then yields

$$ 
\begin{aligned}
(z_1, p_1) &= (0, 0), & (z_2, p_2) &= (\frac{1}{3}, 0), & (z_3, p_3) &= (\frac{1}{3}, 1), \\
(z_4, p_4) &= (\frac{2}{3}, 1), & (z_5, p_5) &= (\frac{2}{3}, 0), & (z_6, p_6) &= (1, 0)
\end{aligned}
$$

for Fit 4 and Fit 6, i. e., the approximation is exact with $E(p) = 0$. According to Section 2.2.2, these values imply $t^{\text{in}} = t^{\text{med}} = t^{\text{out}} = \frac{1}{3}$ and $t^{\text{us}} = t^{\text{ds}} = 0$.

## 3.2 Thickness estimation of thin porous media

In this section, we estimate the thickness of thin porous media, examining CT scans of an oil filter (non-woven), of a gas-diffusion layer of a fuel cell (woven), of a battery electrode, and of a bulky non-woven fabric. The first step for all CT scans involves segmentation to distinguish between the pore space and the solid portion of the material under consideration. We employ the algorithm detailed in Section 2.3 to estimate the thickness of each material. Notice that from Fit 3 to Fit 6, the error $E(p)$ is monotonically decreasing. The estimation of thickness in these examples is not merely a theoretical exercise—it has significant implications in practical applications.

### 3.2.1 Oil filter

Non-woven materials are traditionally used in filtration applications, including those for air and oil filters. In this context, we analyze a CT scan of an oil filter medium. The original image has a size of 3828×1376×2509 voxels with a resolution of 750 nm. To ensure accurate thickness estimation, preprocessing is necessary, for which we utilize the GeoDict software. The original scan data, the data of all intermediate steps, and a GeoDict Python script for reproduction is publicly available [5].

The CT scan consists of a stack of PNG images and is initially imported and rotated to align the primary material axis with the global coordinate system. Following that, the 3D image is cropped to eliminate any empty sections in the plane of the filter medium (a step that is particularly vital for flow simulations). The image is then rotated so that the filter medium lays in the x-y plane, allowing thickness estimation in the z direction. To facilitate high-quality segmentation, the non-local means (NLM) filter is utilized to reduce noise in the gray-value image. Subsequently, automatic global threshold is performed using the Otsu method [6]. The solid material phase of this image consists of cellulose fibers. In Figure 5,
the final segmented section of the considered oil-filter medium is visualized, measuring 2000×2000×1200 voxels with a resolution of 750 nm.

<figure><img src="image_7.png" /><figcaption>**Figure 5:** Segmented oil filter voxel set of size 2000×2000×1200, 750 nm, cf. Section 3.2.1.</figcaption></figure>

Defining the thickness of a non-woven material can be challenging due to protruding fibers and dense regions at the top and bottom, before reaching the medium's main material density. The algorithm of Section 2.3 provides a distinct definition of material thickness, as seen in Figure 6 and Table 2. With a noticeable gradient in the SVF of the filter medium, Fit 4 and Fit 6 are the preferred approximations. Despite a relatively thin inlet and outlet region, these areas cannot be disregarded for accurate medium thickness estimation. Therefore, Fit 6 effectively represents the in-plane SVF distribution, capturing the inlet, outlet, and interior gradient structure.

The thickness value is vitally important for understanding the filtration efficiency and flow properties of a filter medium. Furthermore, estimating the thickness based on an image can be a valuable tool for quality control of the material.
<figure><img src="image_8.png" /><figcaption>**Figure 6:** Numerical results for the oil filter voxel set of Section 3.2.1. In all the plots, the layered SVF function *s* is depicted in red (cf. (2)), while the optimal fitting function *p* is illustrated in blue (cf. (3)).</figcaption></figure>

<table><caption>**Table 2:** Numerical results for the oil filter voxel set of Section 3.2.1.</caption><thead><tr><th></th><th>Fit 3</th><th>Fit 4</th><th>Fit 5</th><th>Fit 6</th></tr></thead><tbody><tr><td>(z<sub>1</sub>, p<sub>1</sub>)</td><td>(0.0000, 0.0000)</td><td>(0.0000, 0.0000)</td><td>(0.0000, 0.0000)</td><td>(0.0000, 0.0000)</td></tr><tr><td>(z<sub>2</sub>, p<sub>2</sub>)</td><td>(0.2000, 0.0000)</td><td>(0.1891, 0.0000)</td><td>(0.1052, 0.0000)</td><td>(0.1515, 0.0000)</td></tr><tr><td>(z<sub>3</sub>, p<sub>3</sub>)</td><td>(0.2000, 0.1443)</td><td>(0.1891, 0.1061)</td><td>(0.3548, 0.1573)</td><td>(0.2262, 0.1090)</td></tr><tr><td>(z<sub>4</sub>, p<sub>4</sub>)</td><td>(0.8363, 0.1443)</td><td>(0.8282, 0.1812)</td><td>(0.7948, 0.1573)</td><td>(0.7748, 0.1874)</td></tr><tr><td>(z<sub>5</sub>, p<sub>5</sub>)</td><td>(0.8363, 0.0000)</td><td>(0.8282, 0.0000)</td><td>(0.8741, 0.0000)</td><td>(0.8765, 0.0000)</td></tr><tr><td>(z<sub>6</sub>, p<sub>6</sub>)</td><td>(1.0000, 0.0000)</td><td>(1.0000, 0.0000)</td><td>(1.0000, 0.0000)</td><td>(1.0000, 0.0000)</td></tr><tr><td>t<sup>med</sup></td><td>0.636326</td><td>0.639106</td><td>0.604464</td><td>0.636818</td></tr><tr><td>t<sup>in</sup></td><td>0.200011</td><td>0.189091</td><td>0.229993</td><td>0.188819</td></tr><tr><td>t<sup>out</sup></td><td>0.163663</td><td>0.171804</td><td>0.165544</td><td>0.174363</td></tr><tr><td>t<sup>us</sup></td><td>—</td><td>—</td><td>0.249622</td><td>0.074701</td></tr><tr><td>t<sup>ds</sup></td><td>—</td><td>—</td><td>0.079383</td><td>0.101716</td></tr><tr><td>E(p)</td><td>2.5213e-2</td><td>1.9754e-2</td><td>1.6693e-2</td><td>8.1480e-3</td></tr></tbody></table>
### 3.2.2 Gas diffusion layer

A gas diffusion layer (GDL) in a fuel cell is a thin non-woven or woven porous medium. The GDL acts as a conduit for reactant gases and facilitating electron and thermal transport. Embedded between the catalyst and micro-porous layer and, on the opposite side, the bipolar plates, the GDL is a thin, porous sheet that ensures optimal water management by balancing water removal and retention, a task crucial for maintaining consistent performance.

<figure><img src="image_9.png" /><figcaption>Figure 7: Gas diffusion layer voxel set of size 936×625×385, 1.4 µm, cf. Section 3.2.2.</figcaption></figure>

Here, we study a woven GDL which was imaged with a resolution of 1.4 µm by Robin White from Zeiss [7]. The original image additionally contains the microporous layer and the catalyst layer, but for this paper, we focus on the woven GDL micro-structure, which is shown in Figure 7. A precise knowledge of GDL thickness is essential, since it affects the mass transport of reactant gases, the thermal and electrical conductivity, and the overall mechanical robustness of the fuel cell. A deviation in the intended thickness can lead to compromised fuel cell efficiency and reduced lifespan.

The results of our algorithm applied to the given voxel set are presented in Figure 8 and Table 3. The woven GDL micro-structure naturally has no clear mesoscopic boundary between material and pore space, which is reflected in a smeared SVF function $s$, i. e., there is a pronounced inlet and outlet region and a relatively thin inner part of the medium. Given that the inner part of the GDL is intended to possess no gradient structure being an non-deformed plain weave, Fit 5 is the preferred approximation. This approach does not only provide a medium thickness estimation but also provides assessments of the surface thickness.
<figure><img src="image_10.png" /><figcaption>**Figure 8:** Numerical results for the gas diffusion layer voxel set of Section 3.2.2. In all the plots, the layered SVF function *s* is depicted in *red* (cf. (2)), while the optimal fitting function *p* is illustrated in *blue* (cf. (3)).</figcaption></figure>

<table><caption>**Table 3:** Numerical results for the gas diffusion layer voxel set of Section 3.2.2.</caption><thead><tr><th></th><th>Fit 3</th><th>Fit 4</th><th>Fit 5</th><th>Fit 6</th></tr></thead><tbody><tr><td>(z<sub>1</sub>, p<sub>1</sub>)</td><td>(0.0000, 0.0000)</td><td>(0.0000, 0.0000)</td><td>(0.0000, 0.0000)</td><td>(0.0000, 0.0000)</td></tr><tr><td>(z<sub>2</sub>, p<sub>2</sub>)</td><td>(0.2753, 0.0000)</td><td>(0.2727, 0.0000)</td><td>(0.1770, 0.0000)</td><td>(0.1769, 0.0000)</td></tr><tr><td>(z<sub>3</sub>, p<sub>3</sub>)</td><td>(0.2753, 0.3319)</td><td>(0.2727, 0.3219)</td><td>(0.4148, 0.3991)</td><td>(0.4156, 0.4002)</td></tr><tr><td>(z<sub>4</sub>, p<sub>4</sub>)</td><td>(0.7350, 0.3319)</td><td>(0.7325, 0.3420)</td><td>(0.6124, 0.3991)</td><td>(0.6133, 0.3979)</td></tr><tr><td>(z<sub>5</sub>, p<sub>5</sub>)</td><td>(0.7350, 0.0000)</td><td>(0.7325, 0.0000)</td><td>(0.8098, 0.0000)</td><td>(0.8096, 0.0000)</td></tr><tr><td>(z<sub>6</sub>, p<sub>6</sub>)</td><td>(1.0000, 0.0000)</td><td>(1.0000, 0.0000)</td><td>(1.0000, 0.0000)</td><td>(1.0000, 0.0000)</td></tr><tr><td>t<sup>med</sup></td><td>0.459701</td><td>0.459725</td><td>0.415193</td><td>0.415192</td></tr><tr><td>t<sup>in</sup></td><td>0.275339</td><td>0.272728</td><td>0.295910</td><td>0.296261</td></tr><tr><td>t<sup>out</sup></td><td>0.264960</td><td>0.267547</td><td>0.288896</td><td>0.288546</td></tr><tr><td>t<sup>us</sup></td><td>—</td><td>—</td><td>0.237733</td><td>0.238651</td></tr><tr><td>t<sup>ds</sup></td><td>—</td><td>—</td><td>0.197460</td><td>0.196366</td></tr><tr><td>E(p)</td><td>6.3169e-2</td><td>6.3088e-2</td><td>7.9338e-3</td><td>7.9306e-3</td></tr></tbody></table>
### 3.2.3 Lithium-ion battery anode

<figure><img src="image_11.png" /><figcaption>Figure 9: Li-ion battery anode voxel set of size 900×900×400, 250 nm, cf. Section 3.2.3.</figcaption></figure>

The next thin, porous material to be analyzed is a laser-patterned graphite anode from a lithium-ion (Li-ion) battery manufactured by Kleefoot et al. [8]. The anode was scanned with a Bruker SkyScan2211 using a resolution of 250 nm. The solid part of the anode consists of a composition of 94 wt. % graphite (SGL Carbon GmbH, synthetic graphite, particle size distribution D10 = 6.8 µm, D50 = 18.4 µm, D90 = 42.9 µm), 2 wt. % carbon black (Imerys, C-Nergy Super C65), 2 wt. % CMC (sodium carboxymethyl-cellulose; Nippon, Sunrose MAC 500LC), and 2 wt. % SBR (styrene-butadiene rubber; Zeon, BM-451B). A cutout of the scan of a size of 900×900×400 voxels, which is shown in Figure 9, was segmented with an AI segmentation based on a 2D UNet [9].

The knowledge of the thickness of a Li-ion electrode is crucial since the thickness strongly influences the battery performance. The thickness estimation can also be used to calibrate the scan.
<figure><img src="image_12.png" /><figcaption>**Figure 10:** Numerical results for the Li-ion battery anode voxel set of Section 3.2.3. In all the plots, the layered SVF function *s* is depicted in red (cf. (2)), while the optimal fitting function *p* is illustrated in blue (cf. (3)).</figcaption></figure>

<table><caption>**Table 4:** Numerical results for the Li-ion battery anode voxel set of Section 3.2.3.</caption><thead><tr><th></th><th>Fit 3</th><th>Fit 4</th><th>Fit 5</th><th>Fit 6</th></tr></thead><tbody><tr><td>(z<sub>1</sub>, p<sub>1</sub>)</td><td>(0.0000, 0.0000)</td><td>(0.0000, 0.0000)</td><td>(0.0000, 0.0000)</td><td>(0.0000, 0.0000)</td></tr><tr><td>(z<sub>2</sub>, p<sub>2</sub>)</td><td>(0.2700, 0.0000)</td><td>(0.2700, 0.0000)</td><td>(0.2430, 0.0000)</td><td>(0.2418, 0.0000)</td></tr><tr><td>(z<sub>3</sub>, p<sub>3</sub>)</td><td>(0.2700, 0.6996)</td><td>(0.2700, 0.7376)</td><td>(0.2970, 0.7181)</td><td>(0.3017, 0.7551)</td></tr><tr><td>(z<sub>4</sub>, p<sub>4</sub>)</td><td>(0.8725, 0.6996)</td><td>(0.8750, 0.6591)</td><td>(0.8363, 0.7181)</td><td>(0.8439, 0.6789)</td></tr><tr><td>(z<sub>5</sub>, p<sub>5</sub>)</td><td>(0.8725, 0.0000)</td><td>(0.8750, 0.0000)</td><td>(0.9035, 0.0000)</td><td>(0.9011, 0.0000)</td></tr><tr><td>(z<sub>6</sub>, p<sub>6</sub>)</td><td>(1.0000, 0.0000)</td><td>(1.0000, 0.0000)</td><td>(1.0000, 0.0000)</td><td>(1.0000, 0.0000)</td></tr><tr><td>t<sup>med</sup></td><td>0.602487</td><td>0.604990</td><td>0.599952</td><td>0.600774</td></tr><tr><td>t<sup>in</sup></td><td>0.270005</td><td>0.270009</td><td>0.269964</td><td>0.271757</td></tr><tr><td>t<sup>out</sup></td><td>0.127508</td><td>0.125001</td><td>0.130085</td><td>0.127470</td></tr><tr><td>t<sup>us</sup></td><td>—</td><td>—</td><td>0.054020</td><td>0.059860</td></tr><tr><td>t<sup>ds</sup></td><td>—</td><td>—</td><td>0.067268</td><td>0.057186</td></tr><tr><td>E(p)</td><td>7.0727e-2</td><td>6.8588e-2</td><td>3.1306e-2</td><td>2.7413e-2</td></tr></tbody></table>
The in-plane SVF distribution $s$ and the corresponding fits $p$ for the anode image are shown in Figure 10 and detailed in Table 4. For this particular anode scan, the inlet and outlet regions are quite narrow, constituting around 10 percent of the overall medium thickness. This allows for a relatively straightforward approximation of the medium thickness. However, the situation within the medium itself is more complex. There is a peak at the inlet followed by what appears to be a gradient over the medium thickness, though this gradient is subtle and not strongly pronounced. This nuanced distribution through the medium thickness likely results from the manufacturing process and could be of great relevance, as optimizing this thickness profile could lead to better battery electrodes in the future.

In this situation, the choice of the approximation is left to the discretion of the practitioner: If no gradient structure is assumed, the preferred approximations are Fit 3 and Fit 5. If a gradient is assumed then Fit 4 and Fit 6 are the preferred choices. Regardless of the approach (whether considering surface thickness or not), all approximations yield a medium thickness value of $t^{\text{med}} = 0.06$ when rounded to two digits.

### 3.2.4 Non-woven fabric

The material under consideration is a bulky non-woven fabric composed of synthetic round fibers. It has applications within the hygiene industry, particularly as a constituent element in absorbent hygiene products such as baby diapers, incontinence products, feminine hygiene items, and changing pads. A more detailed description of the material can be found in [10].

<figure><img src="image_13.png" /><figcaption>Figure 11: Non-woven fabric composed of synthetic round fibers, voxel set of size 15619×4032×1796, 2.7 µm, cf. Section 3.2.4.</figcaption></figure>

The segmented CT scan, visualized in Figure 11, has a resolution of 2.7 µm and a size of 15619×4032×1796 aggregating to a total of 113104551168 voxels. The data was obtained using a SkyScan 1272 micro-CT from Bruker, with multiple scans merged in the $x$ direction.

As described in Section 3.2.1, the thickness estimation of non-wovens is very important, but can also be very challenging. This is definitely true for this sample in which the SVF over the height of the geometry is visualized in Figure 12. The material has no clean start and end, and additionally, one can
observe a strong SVF gradient along the medium height. Therefore, Fit 6 is the approximation of choice.
The medium thickness $t^{med}$ is in agreement with the heuristic visual thickness, cf. Figure 12 and Table 5.

<figure><img src="image_14.png" /><figcaption>Fit 4</figcaption></figure>

<figure><img src="image_15.png" /><figcaption>Fit 5</figcaption></figure>

<figure><img src="image_16.png" /><figcaption>Fit 6</figcaption></figure>

<figure><img src="image_17.png" /><figcaption>**Figure 12:** Numerical results for the non-woven fabric voxel set of Section 3.2.4. In all the plots, the layered SVF function *s* is depicted in *red* (cf. (2)), while the optimal fitting function *p* is illustrated in *blue* (cf. (3)).</figcaption></figure>
<table><caption>Table 5: Numerical results for the non-woven fabric voxel set of Section 3.2.4.</caption><thead><tr><th></th><th>Fit 3</th><th>Fit 4</th><th>Fit 5</th><th>Fit 6</th></tr></thead><tbody><tr><td>(z<sub>1</sub>, p<sub>1</sub>)</td><td>(0.0000, 0.0000)</td><td>(0.0000, 0.0000)</td><td>(0.0000, 0.0000)</td><td>(0.0000, 0.0000)</td></tr><tr><td>(z<sub>2</sub>, p<sub>2</sub>)</td><td>(0.2973, 0.0000)</td><td>(0.2466, 0.0000)</td><td>(0.1843, 0.0000)</td><td>(0.1826, 0.0000)</td></tr><tr><td>(z<sub>3</sub>, p<sub>3</sub>)</td><td>(0.2973, 0.0229)</td><td>(0.2466, 0.0102)</td><td>(0.4889, 0.0271)</td><td>(0.3258, 0.0137)</td></tr><tr><td>(z<sub>4</sub>, p<sub>4</sub>)</td><td>(0.7467, 0.0229)</td><td>(0.7334, 0.0329)</td><td>(0.7021, 0.0271)</td><td>(0.6788, 0.0333)</td></tr><tr><td>(z<sub>5</sub>, p<sub>5</sub>)</td><td>(0.7467, 0.0000)</td><td>(0.7334, 0.0000)</td><td>(0.7939, 0.0000)</td><td>(0.7947, 0.0000)</td></tr><tr><td>(z<sub>6</sub>, p<sub>6</sub>)</td><td>(1.0000, 0.0000)</td><td>(1.0000, 0.0000)</td><td>(1.0000, 0.0000)</td><td>(1.0000, 0.0000)</td></tr><tr><td>t<sup>med</sup></td><td>0.449316</td><td>0.486732</td><td>0.411404</td><td>0.482510</td></tr><tr><td>t<sup>in</sup></td><td>0.297340</td><td>0.246644</td><td>0.336601</td><td>0.254227</td></tr><tr><td>t<sup>out</sup></td><td>0.253344</td><td>0.266623</td><td>0.251995</td><td>0.263263</td></tr><tr><td>t<sup>us</sup></td><td>—</td><td>—</td><td>0.304550</td><td>0.143222</td></tr><tr><td>t<sup>ds</sup></td><td>—</td><td>—</td><td>0.091881</td><td>0.115967</td></tr><tr><td>E(p)</td><td>5.0319e-3</td><td>3.6005e-3</td><td>2.5410e-3</td><td>1.2947e-3</td></tr></tbody></table>

## 4 Conclusions

In this paper, we introduced a novel approach for estimating the thickness of thin porous materials using 3D images, specifically through the voxel sets of 3D scans and their segmented data. The method involves computing the solid volume fraction (SVF) for each voxel layer perpendicular to the through direction. Subsequently, optimal fitting functions are identified that approximate the SVF data. From those, the thickness of the medium under consideration, and optionally, the thickness of the medium's surfaces is derived.

The proposed solution algorithm was applied to various thin porous materials, including an oil filter medium (for which the CT scan and segmentation data was made publicly available), a gas diffusion layer of a fuel cell, a lithium-ion battery anode, and a bulky non-woven fabric. Overall, this comprehensive study underscores the pivotal role that thickness plays in various applications and emphasizes the necessity for precise and sophisticated methodologies for estimation. The algorithm is fast, robust, and the thickness results are in agreement with the thicknesses that one would heuristically expect by considering the SVF.

## Acknowledgments

We sincerely thank Sarah Reeb for generously providing essential data that greatly enhanced this manuscript.
References

[1] J. Becker, F. Biebl, L. Cheng, E. Glatt, A. Grießer, M. Groß, S. Linden, D. Mosbach, C. Wagner, A. Weber, R. Westerteiger, and A. Wiegmann. *GeoDict Releases 2023*. 2023. doi: 10.30423/release.geodict2023.

[2] S. Rief, J. Hilden, and B. Planas. *MatDict User Guide*. Math2Market GmbH. 2022. doi: 10.30423/userguide.geodict2022-matdict.

[3] R. Hooke and T. A. Jeeves. "Direct Search Solution of Numerical and Statistical Problems." *Journal of the ACM* 8.2 (1961), pp. 212–229. doi: 10.1145/321062.321069.

[4] A. F. Kaupe. "Algorithm 178: direct search." *Communications of the ACM* 6.6 (1963), pp. 313–314. doi: 10.1145/366604.366632.

[5] F. Frank, E. Glatt, S. Linden, and A. Wiegmann. *Segmentation of an oil filter medium from a µCT scan for digital thickness estimation*. 2023. doi: 10.30423/Data.Math2Market-2023-03.OilFilter.MatDict.

[6] N. Otsu. "A threshold selection method from gray-level histograms." *IEEE Transactions on Systems, Man, and Cybernetics* 9.1 (1979), pp. 62–66. doi: 10.1109/tsmc.1979.4310076.

[7] Y. D. Wang, Q. Meyer, K. Tang, J. E. McClure, R. T. White, S. T. Kelly, M. M. Crawford, F. Iacoviello, D. J. L. Brett, P. R. Shearing, P. Mostaghimi, C. Zhao, and R. T. Armstrong. "Large-scale physically accurate modelling of real proton exchange membrane fuel cell with deep learning." *Nature Communications* 14.1 (2023). doi: 10.1038/s41467-023-35973-8.

[8] M.-J. Kleefoot, J. Sandherr, M. Sailer, S. Nester, J. Martan, V. Knoblauch, M. Kumkar, and H. Riegel. "Investigation on the parameter dependency of the perforation process of graphite based lithium-ion battery electrodes using ultrashort laser pulses." *Journal of Laser Applications* 34.4 (2022), p. 042003. doi: 10.2351/7.0000757.

[9] O. Ronneberger, P. Fischer, and T. Brox. "U-Net: Convolutional networks for biomedical image segmentation." *Lecture Notes in Computer Science*. Springer International Publishing, 2015, pp. 234–241. doi: 10.1007/978-3-319-24574-4_28.

[10] A. Grießer, R. Westerteiger, E. Glatt, H. Hagen, and A. Wiegmann. "Identification and analysis of fibers in ultra-large micro-CT scans of nonwoven textiles using deep learning." *The Journal of The Textile Institute* (2022), pp. 1–11. doi: 10.1080/00405000.2022.2145429.