computer programs\(\def\hfill{\hskip 5em}\def\hfil{\hskip 3em}\def\eqno#1{\hfil {#1}}\)

Journal logoJOURNAL OF
SYNCHROTRON
RADIATION
ISSN: 1600-5775

Fibre phantom generation using FibreSimulator: an open-source Python tool

crossmark logo

aLeiden Institute of Advanced Computer Science, Universiteit Leiden, Leiden, The Netherlands, and bHenry Royce Institute, Department of Materials, University of Manchester, Manchester, United Kingdom
*Correspondence e-mail: [email protected]

Edited by M. Guizar-Sicairos, Paul Scherrer Institute, Switzerland, and EPFL, Switzerland (Received 4 September 2025; accepted 20 February 2026; online 25 March 2026)

Fibre-reinforced polymer composites are utilized across many industries for their stiffness and strength. Visualization of their internal structure is critical to understand their mechanical properties, with computed tomography serving as a popular non-destructive method. While classical tomographic reconstruction algorithms do not rely on training data, modern machine-learning-based methods require large datasets that realistically reflect experimental imaging conditions. However, acquiring such datasets for composites is challenging due to limited access to the ground truth and the high cost of repeated scans. There is therefore a need for realistic, controllable and labelled synthetic phantoms. To address this gap, we present FibreSimulator, an open-source Python tool that generates 3D synthetic phantoms of unidirectional fibre-reinforced polymers with customizable material properties, fibre orientations and geometrical features. The simulator is integrated with the ASTRA toolbox to simulate tomographic scans of the generated phantoms. We demonstrate its capacity through experiments evaluating how tomographic scan settings affect reconstruction and segmentation. Simulated tomographic experiments show that reducing the number of X-ray projections or lowering beam intensity (i.e. increasing noise) leads to blurred fibre boundaries, overestimated fibre diameters and fewer detectable fibres. While these qualitative effects are well known, FibreSimulator enables their systematic and quantitative investigation under fully controlled conditions, with access to the ground truth. In particular, by varying acquisition parameters and composite properties, we observe a nonlinear trend in detection accuracy arising from undersampling and fibre-overlap artefacts. Such controlled studies are difficult to perform experimentally due to cost, limited repeatability and absence of the ground truth. These results highlight FibreSimulator as a valuable tool for optimizing parameters and guiding experimental design under controllable conditions.

1. Introduction

Fibre-reinforced polymer (FRP) composites are widely researched due to their extensive application across various industries, including energy production systems (Ennis et al., 2023View full citation). These materials are valued for their specific stiffness, strength and design flexibility (Alzahrani et al., 2025View full citation). The mechanical performance of FRPs is inherently linked to their internal structure, where fibre orientation, distribution and matrix bonding play crucial roles. Therefore, a comprehensive understanding of the composite's internal structure is essential for optimizing material properties and ensuring structural reliability. However, visualization poses challenges for inspection and analysis due to the micrometre-scale fibre diameters. To obtain a complete 3D representation of the internal fibre arrangement, advanced imaging techniques are required.

X-ray computed tomography (CT) has become a key tool for this purpose (Garcea et al., 2018View full citation; Salling et al., 2022View full citation), as it provides non-destructive, high-resolution 3D imaging of FRP materials. In contrast to conventional destructive methods, such as the microtomy and grinding and polishing method (Abdelkader et al., 2022View full citation), which physically sections the specimen, CT enables volumetric analysis without altering the sample. By producing detailed 3D representations of FRPs through CT, this method allows researchers to see the distribution and orientation of fibres, as well as defects within the polymer matrix. The 3D representations provide a more comprehensive view of how fibres are embedded within the matrix, how stress is transferred between phases (Almeida et al., 2025View full citation), and how porosity (Wang et al., 2025View full citation), delamination (Yu et al., 2016View full citation) and fibre misalignment (Wang et al., 2021View full citation) affect mechanical behaviour. The tomographic imaging pipeline typically consists of data acquisition, reconstruction, denoising, segmentation and analysis, with methods at each stage advancing rapidly (Withers et al., 2021View full citation).

Recently, machine-learning algorithms (Greffier et al., 2022View full citation; Alagic et al., 2022View full citation; Yıldızcan et al., 2024View full citation; Bellens et al., 2024View full citation) have gained popularity alongside traditional image reconstruction and processing techniques. These data-driven approaches excel at learning complex patterns and structures from large datasets, allowing them to generalize within the distribution on which they were trained. They have significantly advanced the state of the art in image quality enhancement through methods such as denoising (Burger et al., 2012View full citation; Zhang et al., 2017View full citation), deblurring (Pan et al., 2016View full citation) and limited-angle reconstruction (Barutcu et al., 2021View full citation). Their end-to-end optimization makes them particularly attractive for fibre-imaging pipelines, including fibre segmentation (Badran et al., 2022View full citation; Badran et al., 2020View full citation; Guo et al., 2023View full citation), as well as defect identification (Bang et al., 2020View full citation).

Despite the growing interest in deep-learning-based tomographic reconstruction, post-processing and quantitative analysis, a major challenge remains: the limited availability of quality datasets tailored to tomographic algorithm development. Unlike large-scale computer vision datasets such as CIFAR (Krizhevsky, 2012View full citation), ImageNet (Deng et al., 2009View full citation) and MNIST (Deng, 2012View full citation), CT datasets are often scarce, proprietary or highly specialized. Many of these datasets originate from synchrotron facilities or industrial applications and are often restricted to private use, making them difficult to access for broader scientific use. Moreover, acquiring high-quality CT data is expensive and time-consuming, and requires careful control of scanning conditions and preprocessing. To address these challenges, using synthetic phantoms can support the development of data-driven algorithms for tomographic data. The generation of such phantoms is motivated by the following considerations:

(i) To enable fair and reproducible comparison between algorithms by providing datasets with a known ground truth.

(ii) To support the training and validation of data-driven models, which require large and diverse datasets often unavailable from real-world sources.

(iii) To allow controlled variation of object complexity, enabling a systematic comparison of algorithm performance across different levels of difficulty.

To properly support the development and evaluation of data-driven algorithms for tomographic data, datasets should ideally satisfy the following requirements (Pelt et al., 2022View full citation):

(i) The datasets should be challenging, making accurate reconstruction non-trivial, revealing algorithmic strengths and weaknesses.

(ii) The datasets should be representative of real-world samples, typical noise levels, imaging artefacts and acquisition setups.

(iii) The datasets should be flexible, allowing controlled variation in parameters.

(iv) The datasets should support data-driven methods, providing sufficient diversity and volume for training and testing of machine-learning models.

A phantom generator that meets these requirements would enable fair and reproducible evaluation of traditional and data-driven algorithms for tomographic data.

For some application areas, the lack of ground truth CT datasets is solved within the tomographic community by building phantom generators for testing and comparing tomographic reconstruction methods, e.g. foam phantoms (Pelt et al., 2022View full citation) and earlier work on generating multiple sets of experimental phantom data (Sitek et al., 2006View full citation). These phantom generators create synthetic volumetric data that can be used to evaluate imaging techniques under controlled conditions, allowing researchers to systematically analyse the effects of noise, resolution and algorithmic parameters on reconstruction quality. Although these phantom generators have proven useful for general tomographic research, they are not specifically tailored for FRPs. Instead, several domain-specific software tools have been developed to simulate FRP structures, TexGen (Long & Brown, 2011View full citation), WiseTex (Lomov, 2021View full citation) and Fibersim (Siemens, 2024View full citation). TexGen and WiseTex are well established tools for generating idealized texting and tow-based geometries, offering a user-friendly graphical interface. However, a previous study (Nemeth et al., 2010View full citation) has reported limitations in consistently generating well conditioned finite element meshes for both tows and matrix materials, particularly when moving beyond idealized configurations. Moreover, these tools are primarily designed for geometric and mechanical modelling rather than for producing voxel-based ground truth volumes suitable for CT simulation. On the other hand, Fibersim is a commercial composite design platform primarily intended for industrial laminate design and manufacturing workflows. While it offers advanced CAD-based modelling capabilities, Fibersim is proprietary and closed-source. The constraints make it less suitable for users to customize or extend them by adding new defect models and non-standard geometrical configurations. As a result, the generated datasets are limited in their ability to reflect a diverse range of fibre characteristics.

To address the limitations of existing FRP simulation tools, we present a Python-based fibre simulator. It aims to generate phantom fibres that mimic real-world fibre structures found in unidirectional FRPs with customizable features. This flexibility provides a controlled environment where researchers can generate desired fibre volumes with realistic variations and geometrical features. Additionally, the simulator enables users to simulate scanning the volume and vary the scanning parameters through the ASTRA toolbox (van Aarle et al., 2015View full citation). This feature allows the assessment of different scanning configurations before conducting an actual CT scan. It also plays a crucial role in providing ground truth data for testing and evaluating reconstruction strategies, which are essential for improving accuracy in real-world tomographic imaging. Furthermore, the simulator is written in Python, benefiting from its extensive library support and large community, enabling easy extension for custom fibre behaviour and geometrical features. This simulator is the initial version, with plans to add additional features such as more complex geometrical features, varied fibre orientations and advanced scanning configurations.

This paper is structured as follows. In Section 2[link], we outline the detailed steps involved in generating single fibres and fibre phantom volumes, along with different types of geometrical features and a comprehensive discussion of the parameters of the phantom volume. In Section 3[link], we demonstrate various case studies that show the capabilities of the simulator to mimic real-world data and explore the effects of varying scanning configurations, such as noise levels and the number of projections taken over the full 180° angular range, and the impact of different fibre characteristics, such as the number of fibres. In Section 4[link], we summarize the key contributions of this paper.

2. Methods

In real-world X-ray CT scans of fibre-reinforced composites, fibres appear as elongated cylinder structures embedded within a resin matrix. These scans often reveal complex features such as fibre misalignment, kinks, diameter variations, and occasional voids or air pockets.

To facilitate the development of fibre phantom volumes, we simulate such structures as voxel volumes. Each voxel in our generated volume is assigned a discrete intensity value that represents a material class. This voxel-based representation provides a controlled and customizable way to reproduce the visual and structural complexities present in real CT datasets. Furthermore, tomographic simulation frameworks such as ASTRA operate natively on voxel grids. The voxel-based approach enables efficient handling of fibre overlap and intersections, and allows defects such as voids, notches or local material variations to be introduced through simple volumetric operations. The proposed framework prioritizes computational efficiency, ease of modification and tight integration with CT simulation, while maintaining sufficient flexibility for future extensions.

Fig. 1[link] illustrates an example of a generated synthetic volume, viewed in 3D Slicer (Kikinis et al., 2014View full citation).

[Figure 1]
Figure 1
Visualization in the 3D Slicer software (Kikinis et al., 2014View full citation) of a synthetic fibre volume. In this example, a half-wave curve phantom volume is shown. The top left panel (red border) shows the sagittal view. The top right panel presents a 3D rendering of the full fibre volume. The bottom left panel (green border) corresponds to the coronal view, slicing the structure from front to back. The bottom right panel (yellow border) displays the axial view, a cross section from top to bottom, highlighting the circular distribution of fibres.

This section outlines the methodology for generating synthetic fibre phantoms. We first define the mathematical concepts, then describe the construction of individual fibres and the full-volume generation process. We also present a visual example and describe additional features such as fibre orientation and voids.

2.1. Notations and concepts

We define a fibre phantom as a set of Nf fibres: Mathematical equation. Each fibre Fm is modelled as a sequence of Ns points Mathematical equation, where each point pn = (xn, yn, zn) denotes the centre of a sphere that composes a fibre, and all spheres share a common radius r. Here Ns denotes the number of points describing a fibre and may vary between fibres, depending on the starting position and the imposed minimum and maximum axial bounds of the simulation volume.

Thus, a single fibre can be written as Fm = Mathematical equation. Here, Fm refers to the mathematical representation of the fibre, which is a sequence of centre points and a fixed radius. It does not yet describe the actual region in space that the fibre occupies. That region is denoted by

Mathematical equation

where Mathematical equation denotes a solid sphere of radius r centred at point pn. Therefore, each fibre is a continuous 3D volume formed by connecting overlapping spheres. The total volume occupied by all fibres in the phantom is then

Mathematical equation

This continuous volume Mathematical equation serves as the geometric model of the fibre phantom before discretization.

2.1.1. Fibre growth rule

Fibres are generated as sequences of spheres in continuous 3D space, as seen in Fig. 2[link](a). The spheres are positioned closely together, approximating a continuous cylinder. This representation follows a well established modelling approach for filament-like objects, as previously described in the ball–chain model of Altendorf & Jeulin (2011View full citation). Fig. 2[link](b) shows a schematic representation of an axial slice of a fibre phantom, where (Vx, Vy, Vz) denote the number of voxels in each dimension. Each fibre starts from an initial point p1, which is randomly sampled within a valid region. Specifically, the point must lie inside the pipe, which constrains where fibres can grow. The pipe is modelled as a cylindrical region defined along the x axis. For any position x, the centre of the pipe cross section in the yz plane is fixed and centred at (centery, centerz), and the pipe has a constant radius rpipe. Since the pipe is cylindrical and extends infinitely along the x axis, points are constrained only in the yz cross sections.

[Figure 2]
Figure 2
A schematic representation of (a) the composition of a fibre and (b) the axial slice of a fibre phantom.

To simplify the generation process and avoid complex behaviours such as curling or looping, we assume that all fibres grow strictly along the x axis. This restriction is intentionally adopted as a starting point that reflects common unidirectional fibre-reinforced composite configurations. While more complex fibre architectures can be represented by existing simulation tools, the present work focuses on establishing a well defined and reproducible baseline geometry from which the influence of scanning conditions can be studied systematically.

In practice, an initial point sampled at integer coordinates (i, j, k) is considered to be a valid starting point if its centre at real coordinates (x, y, z) = (i, j, k) satisfies the condition Mathematical equation Mathematical equation. Once a valid starting point is found, the fibre begins at a point p1 = (i, j, k) in real coordinates, and subsequent points are computed iteratively using an update rule U in continuous space: pn+1 = U(pn).

Before a new point pn+1 = (xn+1, yn+1, zn+1) is added, a virtual sphere of radius r is placed at that point, and it is accepted only if:

(i) All nearby grid points within the sphere lie inside the pipe.

(ii) None of the points is already labelled as part of another fibre.

A point (i, j, k) is considered inside the sphere if its centre coordinates satisfy (ixn+1)2 + (jyn+1)2 + (kzn+1)2r2. Note that the sphere constraint requires all three spatial dimensions to be checked, unlike the pipe constraint, which only considers the yz cross section since the pipe extends infinitely along the x axis. In our framework, we assume the orientation of the fibres is along the x axis. Therefore, we define an update rule U+ that adds a step in the positive x direction during fibre growth. If the newly generated point is invalid, the algorithm may attempt to grow in the reverse direction using a different update rule U, which adds a step in the negative x direction. If both directions fail and the minimum length has not yet been achieved, the process restarts with a new starting point.

Furthermore, the present implementation constrained fibres to grow predominantly along the x axis, with deviations restricted to the yz plane. This assumption reflects alignment found in many unidirectional FRPs and allows controlled simulation of curvature and waviness while avoiding intersections and looping behaviour. However, this restriction limits the representation of more general fibre architectures observed in practice, such as global misalignment, out-of-plane waviness, local twisting or fully 3D bending induced by manufacturing defects.

Although fibres are generated with a preferred direction in this work, the growth mechanism is formulated in continuous 3D space and decoupled from the voxelization and CT simulation stages. This mechanism allows increased flexibility in fibre orientation to be incorporated at the growth stage while preserving the existing pipeline.

2.1.2. Voxel representation

Once all the fibres are generated in continuous space, they are converted onto the voxel grid with dimensions Mathematical equation, where each voxel holds a scalar intensity value representing the average CT attenuation coefficient of the material present in that voxel. A voxel is marked as a fibre if its centre lies inside any sphere that defines a fibre. Such voxels are set to cf. Voxels outside the pipe are assigned the air value ca, while voxels in the pipe that do not contain fibres are filled with the resin value cr. This process results in a discrete phantom volume that mimics real-world composite materials, with clearly labelled regions for fibres, resin and air.

2.2. Fibre phantom volume generation

We generate the phantom fibre by fibre, starting from m = 1 up to m = Nf. For each fibre Fm, where m = 1,…, Nf, the algorithm proceeds as follows (see also Appendix A[link]):

(1) Initialize a starting point. Randomly sample a point p1 = Mathematical equation such that:

 (a) It lies within the pipe, defined by: (y1 − centery)2 + (z1 − centerz)2Mathematical equation.

 (b) A sphere of radius r centred at p1 does not overlap with existing fibre voxels. This rule checks by simulating the sphere at the voxel level, verifying for each voxel at the grid position (i, j, k) around p1 that (ix1)2 + (jy1)2 + (kz1)2r2, and that the voxel is not already labelled as fibre.

(2) Grow the fibre. Starting from p1, a fibre path is constructed iteratively using a user-defined update rule: pn+1 = U(pn). The same validity checks mentioned in step (1) are performed on the new point. If pn+1 is invalid, the algorithm attempts to grow in the opposite direction using a reverse update rule U. If both directions fail and the fibre has not yet reached the minimum length, the current fibre is discarded, and a new p1 is sampled.

(3) Store the fibre. Once a valid fibre of Ns points has been generated, it is added to the global fibre set.

(4) Repeat. Steps (1)–(3) are repeated until the total number of fibres Nf is reached.

(5) Discretized and label. After all fibres have been generated in continuous space, each point is expanded into a solid sphere using the same Euclidean condition. Voxels within each sphere are labelled with the fibre intensity value cf. Remaining voxels inside the pipe are filled with the resin value cr, while voxels outside the pipe are set to the air value ca.

In general, fibres are generated sequentially using a rejection-based placement strategy that prevents overlap between fibres by discarding candidate points that intersect previously placed fibres. This approach guarantees non-overlapping fibre volumes but does not explicitly model physical compaction or packing dynamics. As a result, local fibre density may differ from packing patterns observed in real-life FRPs.

At higher requested fibre volume fractions, geometric constraints increasingly limit the available space for additional fibres, and the generator may fail to place further fibres within a finite number of attempts. No post-placement relaxation or repulsion steps are applied to redistribute fibres once placed. The placement strategy prioritized control over fibre count rather than physically accurate packing statistics.

2.3. Fibre phantom volume example

A fibre volume refers to the 3D structure of a fibre-reinforced material. In real composite materials, fibre volume exhibits a wide range of structural variations, including straight or curved (kinking) fibres, differences in fibre diameters, and the presence of manufacturing defects such as voids and holes.

These structural variations and defects, commonly observed in real-world CT data, can also be simulated using the simulator. Fig. 3[link] shows an example of a generated [800 × 800 × 800] reconstructed fibre phantom volume, illustrating the simulator's ability to reproduce features such as kinking, varying diameters and voids. These examples highlight the structural complexity that the simulator can achieve. A 3D representation is shown in Fig. 3[link](a). Furthermore, Fig. 3[link](b) shows the varying fibre radii, Fig. 3[link](c) shows the axial slice at a kink, exhibiting the cross section of a slanted fibre, and Fig. 3[link](d) displays the sagittal view that highlights the fibre structure at a kink.

[Figure 3]
Figure 3
Visualization of a reconstructed phantom volume containing a kink and a hole: (a) 3D view of a fibre phantom volume, (b) magnified view of the axial slice, (c) magnified view of the axial slice at the kink and (d) magnified view of the sagittal slice. The set of parameters used to generate the volume is shown in Table 3 (in the supporting information).

2.4. Other features

Features such as fibre orientation, embedded defects and voids are commonly observed in manufactured composites and play a critical role in determining their mechanical performance. Understanding and simulating them are essential for closely replicating real-world composite volumes.

These features often arise during the manufacturing process and are known to significantly influence the strength and reliability of composite structures. As FRPs are increasingly used in various applications, manufacturing-induced defects have been more extensively documented and analysed in the literature (Zhang et al., 2019View full citation; Wanhill et al., 2015View full citation; Cai, 2020View full citation). Consequently, a thorough investigation of these structural irregularities remains essential to ensure the development of robust materials.

To account for this, we incorporated the simulation of these features, aiming to generate more realistic phantoms that reflect imperfections found in actual composite materials.

2.4.1. Fibre orientation

Stacking consecutive points to make a single fibre offers flexibility in determining the fibre's geometry. In this work, fibre orientation refers to the way the fibre changes direction as it grows, determined by the sequential placement of points. At each step, the simulator computes a direction vector dn, which determines where the next point will be placed. The fibre grows incrementally using a simple update rule:

(i) Forward growth: U+(pn) = pn + dn · r.

(ii) Backward growth: U(pn) = pndn · r.

Here, dn is a direction vector and r is the fibre radius. In this implementation, the radius serves two roles: it defines the thickness of the fibre (as each sphere has a radius r), and it also determines the distance between consecutive midpoints. The growth direction dn is recalculated at every step and depends on the type of fibre being simulated. Currently, the simulator supports five orientation modes, each with its own rule for computing dn:

(i) Straight fibres: direction is constant dn = (1, 0, 0). The fibre grows straight along the x axis with no deviation. Random perturbations may be added in the y and z directions for slight jaggedness.

(ii) Kink curve fibres: direction changes from straight to bent and back, based on the x position. The angle θn varies from 0° to 45° near a central kink point and then returns: dn = Mathematical equation).

(iii) C-curve fibres: the fibre gradually bends in the y direction. The direction vector includes a y component that increases linearly with distance from a defined bend centre tc: dn = [1, (xntc)/rc, 0], where rc controls the sharpness of the bend.

(iv) Full-wave curve fibres: the fibre oscillates following a full sinusoidal wave. The direction angle θn changes sinusoidally across the x range: dn = Mathematical equation and θn = Mathematical equation, where A is the amplitude, L is the wavelength and c is the wave centre.

(v) Half-wave curve fibres: similar to the full wave, but covers only one oscillation: dn = Mathematical equation and θn = Mathematical equation.

This step-by-step update approach provides flexibility while maintaining precise control over fibre geometry.

2.4.2. Geometrical features

The current version of the simulator incorporates multiple types of geometrical features (see Fig. 4[link]), which are commonly encountered by researchers. These types of features were prioritized for modelling due to the availability of real-world data, enabling qualitative comparison. These features are generated by modifying an already initialized simulated full volume. Specific regions of the volume are removed to create the desired defect shape. For instance, a circular region is subtracted from the volume to form a hole. Similarly, square and V-shaped regions are carved out from the fibre volume at predetermined locations for notch features. Starting with a complete volume and introducing these features through targeted removal allows for control over the defect's shape and size.

[Figure 4]
Figure 4
Variants of defect geometries modelled in FRPs: holes, notches, V-notches and reduced-diameter section.
2.4.3. Voids

In a real-world fibre composite, voids can be present within the resin of fibre composites due to manufacturing imperfections (Mehdikhani et al., 2019View full citation). In the simulator, these voids are represented as small spheres embedded within the fibre volume. Following the same approach used for geometrical features, the voids are created by starting with a complete volume and assigning resin voxels (cr) to be air voxels (ca). Each void is generated as a sphere with a fixed radius of 1 voxel (rvoid = 1) and, by default, the simulator creates 50 voids (Nvoids = 50). These small spheres are randomly positioned within the volume to mimic voids that naturally occur during fibre manufacturing. While not exposed as a user parameter, the values for Nvoids and rvoid can be modified directly in the source code.

2.5. Volume and scanning parameters

The simulator provides users with control over the generation of fibre volume by allowing customization of various parameters. By exploring a wide range of fibre configurations and tomographic setups, the simulator is a versatile tool for generating fibre volumes. Table 1[link] and Table 2[link] outline the parameters for volume generation and virtual scanning configurations.

Table 1
List of volume generation parameters configurable in the simulator

Parameter Description
No. of volumes Specifies the number of volumes to be generated.
Volume dimensions Define the size of the volume in voxels.
No. of fibres Defines the maximum number of single fibres to be generated in the volume.
Fibre radius Specifies the radius of individual fibres within the volume, which can be either a fixed value or randomly sampled from a specified range.
Max. and min. length Define the range for the length of fibres.
Fibre orientation Describes the orientation/geometric shape of the fibres. Options include straight, kinked curve, C-shaped curve, full wave and half-wave patterns. In the code, these types are specified as `straight', `kink_curve', `c_curve', `full_wave_curve' and `half_wave_curve', respectively.
Defects Refers to the types of geometric features intentionally introduced into the fibres. Options include a hole, square notch, double square notches, V-shaped notch, double V-notches, reduced-diameter section or no defect. In the code, these types are specified as `hole', `square_notch', `double_square_notch', `v_notch', `double_v_notch', `reduced' and `none', respectively.

Table 2
List of tomographic simulation parameters configurable in the simulator

Parameter Description
No. of angles Specifies the number of projections at a 180° range used during the tomography process.
Geometry type Indicates the X-ray beam geometry used during the simulation. Options include a parallel beam or a cone beam configuration. In the code, these types are specified as `parallel3d' and `cone', respectively.
Detector pixel distance Defines the distance between the centres of two adjacent detector pixels along the horizontal and vertical axes.
Detector count Specifies the number of detector rows and columns used in a single projection.
I0 Represents the initial intensity of the X-ray beam used in the simulation. It influences Poisson noise and interacts with the sample's absorption – set to 0.5 in our simulation – to determine the number of photons reaching the detector (Pelt et al., 2022View full citation).
Reconstruction algorithm Specifies the algorithm used for tomographic reconstruction. Available options include iterative and analytical methods implemented on GPU: `SIRT3D_CUDA' (Simultaneous Iterative Reconstruction Technique) (Gilbert, 1972View full citation) and `FDK_CUDA' (Feldkamp–Davis–Kress for cone-beam geometry) (Feldkamp et al., 1984View full citation).
Source-to-origin distance Defines the distance between the X-ray source and the origin (the centre of the volume).
Origin-to-detector distance Defines the distance from the origin (the centre of the volume) to the detector.
2.5.1. Scope of CT simulation physics

The simulated projection data are generated using a simplified X-ray attenuation model based on Beer–Lambert law, as provided by the ASTRA toolbox. While this model captures the dominant effects of absorption and photon statistics, it does not explicitly include additional physical phenomena commonly observed in real micro-CT systems such as beam hardening, scattering, detector blur and non-linear detector response. The impact of excluding such additional effects on downstream task accuracy can depend on the specific task and application domain (Andriiashen et al., 2024View full citation).

The simulator is therefore intended primarily for algorithmic benchmarking and methodological development rather than instrument-accurate replication of specific CT systems. This design choice prioritizes reproducibility, interpretability and the availability of the ground truth, allowing controlled evaluation of reconstruction, segmentation and learning-based methods under well defined conditions.

3. Case studies

The purpose of these experiments is to evaluate the performance and capabilities of the simulator by qualitatively comparing the generated phantoms with real-world fibre samples and analysing the impact of varying volume and tomographic reconstruction parameters.

A key structural parameter throughout the following experiments is the fibre volume fraction (FVF), defined as the proportion of the total volume occupied by fibres:

Mathematical equation

where Vfibres denotes the total volume occupied by fibres and Vtotal is the volume of the full phantom. It is a quantitative measurement that serves as a critical parameter in characterizing the structural composition of the fibre volume. A higher FVF indicates a denser fibre network, which often correlates with increased mechanical strength. Conversely, a lower FVF fraction suggests a more porous or loosely packed structure. In the context of phantom generation, FVF can be systematically varied by manipulating two key parameters: the number of fibres and the radius of individual fibres.

Accordingly, we explore three types of case studies:

(i) Reconstruction examples. This case study highlights the simulator's ability to generate realistic fibre structures by varying FVF through changing the number of fibres and adjusting the radius of individual fibres. We also show how simulated experimental CT conditions, such as projection count, angular range and noise, affect reconstruction quality. An example of a phantom volume is then compared with real-world X-ray CT scans to illustrate visual similarities.

(ii) Varying tomographic imaging conditions while keeping fibre structure fixed. Here, we assess how different tomographic parameters affect reconstruction quality when the underlying fibre phantom is constant. We vary the number of projections and the initial X-ray intensity, which simulates the dose, and reconstruct the volumes. To quantify the effects, we apply imaging processing techniques to detect fibres and compute their average diameter and count. These metrics are compared with the ground truth phantom to determine which scanning conditions yield the most accurate results.

(iii) Varying fibre characteristics while keeping imaging conditions fixed. In this final case study, we explore how different levels of FVF affect fibre detectability under a fixed, limited-angle scanning setup. The aim here is to understand how dense configurations affect the accuracy of fibre count estimation. The main metric is the error rate between the detected and true number of fibres. These experiments help identify a range of FVF at which fibres are most distinguishable and errors are minimized.

The code is publicly available on GitHub (Go et al., 2024View full citation) and is compatible with Windows and Linux operating systems. Generated phantoms and their corresponding projections are stored in the assigned folder as NIfTI (Cox et al., 2004View full citation) files. Additionally, the metadata for the parameters used in the simulation are saved in an HDF5 (Koranne, 2011View full citation) file to ensure reproducibility.

The repository is organized in a modular manner to facilitate reuse and extension. The main entry point is provided in main.py, while all simulation and scanning parameters are defined in the user-editable parameters.json file. Core functionality is implemented in the fiber_phantom folder, which contains modules for fibre growth, defect modelling and volume construction. This structure allows users to easily modify fibre behaviour, add defect types and vary the scanning configurations. It provides a clear starting point for extending the simulator. Furthermore, the repository provides installation instructions, a description of each file and sample photos of the generated phantoms.

The experiments detailed in this paper were conducted on a workstation equipped with an AMD Ryzen 7 7800X3D 8-core processor and an NVIDIA GeForce RTX 4080 GPU, both operating under Ubuntu 22.04.04 LTS.

3.1. Reconstruction examples

To evaluate the capabilities of the simulator, we present several examples of generated phantoms that demonstrate how the FVF can be varied in two distinct ways. The first approach to modifying the FVF involves adjusting the number of individual fibres within a fixed volume. By increasing the number of fibres, as illustrated in Fig. 5[link](a), the simulator achieves a denser configuration, resulting in a higher FVF. This method maintains a constant fibre diameter while altering the overall occupancy of the space, allowing for controlled variations in density without changing the physical characteristics of each fibre.

[Figure 5]
Figure 5
Middle axial slices of [256 × 256 × 256] generated phantoms: (a) with increasing number of fibres, and (b) with increasing voxel radius of the individual fibres. The corresponding FVF for each case is also indicated. The zoomed regions were selected from the same corner location in each slice to provide a consistent local comparison of fibre packing density and diameter variations across configurations. The parameters used to generate these volumes are given in Table 3 (in the supporting information).

The second method involves altering the voxel radius of the fibres, as shown in Fig. 5[link](b). By increasing the radius of each fibre, the fibres occupy more space within the volume, leading to a higher FVF. Conversely, decreasing the radius results in a lower FVF, enabling simulations of more loosely packed fibrous structures. This approach is particularly useful when modelling systems where the fibre thickness plays a significant role in material behaviour or imaging contrast. As expected, increasing the voxel radius not only increases the volume occupied by each fibre but also reduces the total number of fibres that can fit within the same volume due to spatial constraints. Together, these two methods provide flexible control over the FVF, allowing the simulator to replicate different fibre configurations.

In Fig. 6[link], we further examine the capacity of the simulator to evaluate the effect of various simulated scanning conditions on the generated phantoms. These conditions include variations in dose levels, projections and angular scanning range that may arise in real-world tomography setups.

[Figure 6]
Figure 6
Reconstructed images for the middle axial slice of a fibre phantom, for various simulated experimental conditions [55 × 103 dose (I0), 50 projections, 120° limited angular range, 49% FVF]. Given are the results for filtered back projection (FBP) and SIRT. The boxed region indicates the area shown at higher magnification to highlight the differences in boundary sharpness. The parameters used to generate these volumes are shown in Table 3 (in the supporting information).

An example of an X-ray CT image of a unidirectional fibre-reinforced thermoset resin composite, acquired using a Zeiss Xradia Versa 520 scanner and a fibre phantom volume, is shown in Fig. 7[link]. The scan comprised 4501 projections using a binning factor of 2, resulting in a 3D volume of 10003 voxels, each with a voxel size of 1.989 µm. These cross-sectional views of the yz plane show similarities in features between the fibre phantom, scanned and reconstructed with Poisson noise, and the real-world fibre data.

[Figure 7]
Figure 7
Middle axial slices (top: full view, bottom: magnified region): (a) real-world X-ray CT scan of a carbon FRP (Salling et al., 2022View full citation), (b) phantom without noise and (c) phantom with Poisson noise. The magnified regions were selected to illustrate representative noise characteristics and local fibre diameter variation. The parameters used to generate this volume are shown in Table 4 (in the supporting information).

To further strengthen the validation against experimental data, we performed a quantitative comparison between the real-world CT slice and the simulated phantom slice. An initial comparison revealed minor discrepancies in the fibre diameter distribution and variability. Based on this analysis, the phantom generation parameters (e.g. fibre radius range and packing characteristics) were refined to better match the experimental statistics.

Shown in Fig. 8[link] is a quantitative 2D comparison that was performed between the real-world CT and phantom CT shown in Fig. 7[link]. The median equivalent fibre diameter in the real-world CT is 10.46 pixels, compared with 10.52 pixels in the phantom CT, indicating the phantom reproduces the correct fibre scale while exhibiting a narrower distribution due to reconstruction blur shown in the zoomed photo of Fig. 7[link](c). The roundness of the fibres is close to the value of 1 in both cases, with median values of 1.00 for the real-world CT and 1.12 for the phantom CT, where a value of 1 corresponds to an ideal circular fibre cross section. The quantitative agreement shows that the phantom CT slice captures key features of the real-world CT fibre morphology, while observed deviations point to potential improvements in representing experimental variability, such as irregular fibre packing.

[Figure 8]
Figure 8
Quantitative comparison of fibre morphology between real-world CT and phantom CT cross sections. Left: probability density distributions of equivalent fibre diameter. Right: fibre circularity, defined as 4πA/P2, where A and P denote the area and perimeter of the segmented fibre cross sections, respectively. Circularity values close to the value of 1 indicate near-circular fibre geometries. Dashed vertical lines indicate median values for each distribution.
3.1.1. Computational performance

The generation time strongly depends on the volume size and the number of fibres. The phantom shown in Fig. 3[link], with a volume size of 800 × 800 × 800 voxels and 6000 fibres, required approximately 3 h to generate. In contrast, the volume used in Fig. 5[link] (256 × 256 × 256 voxels, with 300, 400 and 500 fibres in the respective subfigures) required approximately 38 s, 46 s and 56 s, respectively, while the volume used in Fig. 6[link] required approximately 50–60 s. These results illustrate the rapid increase in computational cost for large volumes with high fibre counts, while typical volumes used for reconstruction studies can be generated within under 1 min.

3.2. Varying experimental scan conditions

3.2.1. Fixed fibre characteristics, varying imaging conditions

To further explore the capabilities of the simulator, we conducted multiple experiments under varying conditions, as shown in Fig. 9[link]. These are axial slice reconstruction images of a [256 × 256 × 256] fibre phantom under various simulated experimental conditions. These reconstructions were acquired using a parallel beam and reconstructed using the SIRT algorithm with 200 iterations. The top row presents results for a constant noise level while varying the number of projections across the 180° angular range. The bottom row shows results for a fixed number of projections while varying the noise level. In both cases, changes in image clarity and fibre visibility illustrate the sensitivity of the reconstruction process to these parameters.

[Figure 9]
Figure 9
Comparison of reconstructed images as a function of the number of projections (top row) and noise levels (bottom row) against the ground truth. The boxed region indicates the area shown at higher magnification to highlight the differences in boundary sharpness. The parameters used to generate this volume are summarized in Table 4 (in the supporting information).

We define noise level as the amount of Poisson noise applied to the simulated projection data. This parameter is controlled by the initial photon count parameter, where a lower I0 implies a higher noise level, mimicking reduced X-ray exposure conditions.

These reconstructions illustrate the simulator's capacity to allow users to fine-tune their experiments before undertaking CT scanning. By fine-tuning the parameters in a simulated environment, users can observe their effects on image quality and make informed adjustments. This workflow ensures that the actual scanning is carried out using an optimized set of conditions tailored to the specific imaging goals.

3.2.2. Obtaining average diameter and number of fibres

To further analyse the effect of the number of projections and noise level on the quality of the reconstruction, we performed fibre analysis on the middle axial slice of the volume. We computed the average diameter of fibres and counted the number of fibres present on the slice. We estimate the number of fibres and their average diameters from 2D cross-sectional images of a reconstructed volume by applying a series of image processing and segmentation steps. This workflow is inspired by FibreTracker's method to detect the centres of individual fibres (Pooja et al., 2024View full citation) and implemented using classical image analysis methods (van der Walt et al., 2014View full citation).

To determine the average dimaeter and count of fibres in a 2D grayscale image I(x, y), we apply the following steps: (1) the image is normalized and smoothed using a Gaussian filter, followed by background correction to enhance contrast and stabilize the binarization. Otsu thresholding (Otsu, 1979View full citation) is then used to obtain a binary mask, and small artefacts are removed through morphological filtering to improve segmentation quality. (2) A Euclidean distance transform (van der Walt et al., 2024View full citation) is computed on the cleaned binary image, and robust markers are extracted using an h-maxima transform to suppress false local peaks. (3) These markers guide watershed segmentation (Zhou et al., 2021View full citation), enabling reliable separation of touching fibres. (4) The resulting connected regions are uniquely labelled and their equivalent diameters are computed from their areas. The average fibre diameter is then calculated across all detected fibres.

By following these steps, the average fibre diameter and the number of fibres within the middle axial slice can be determined. Fig. 10[link] shows an example of applying this workflow to a 2D slice from a real-world CT scan.

[Figure 10]
Figure 10
An example of applying the blob detection process: (a) magnified region of interest from a real-world middle slice (Salling et al., 2022View full citation), (b) thresholded image with detected centres through identifying the peak local maximum, and (c) the corresponding watershed segmentation to further isolate each fibre.

Fig. 11[link](a) illustrates the average fibre diameter in pixels as a function of the number of projections. At larger numbers, the average diameter remains consistent and close to the ground truth. However, as the number of projections decreases, the average fibre diameter increases, particularly below 75 projections. As shown in Fig. 9[link] (top row), we can hardly differentiate the boundaries of the fibre at 50 projections, resulting in adjacent fibres appearing fused together. This merging effect makes it difficult to distinguish individual fibres, which compromises segmentation accuracy and the reliability of diameter measurements. The larger standard deviation at the smaller range reflects an increase in uncertainty and variability. This trend is further supported by Fig. 11[link](b), which shows a decline in the number of detected fibres as boundaries merge, causing fibres to appear as single structures.

[Figure 11]
Figure 11
Effect of decreasing number of projections on (a) average fibre diameter and (b) number of fibres detected from the middle slice of a reconstructed volume. Each point represents measurements from a single middle slice reconstructed with a specified number of projections. The shaded region in (a) illustrates the variability in detected fibre diameters.

Fig. 12[link](a) presents the average fibre diameter in pixels as a function of the initial intensity of the X-ray beam. A decrease in the initial intensity of the X-ray beam leads to a noisier image. At higher intensities, the average diameter stabilizes close to the ground truth. However, as the initial intensity decreases, the average diameter rises. This trend indicates an increase in uncertainty and blurry effects at lower intensities, as shown in Fig. 9[link] (bottom row). The variability is highlighted by the larger error bars at lower intensities. The effects of varying initial intensity are further supported by Fig. 12[link](b). The graph shows how the fibre count rises and stabilizes near the ground truth as the intensity increases.

[Figure 12]
Figure 12
Effect of decreasing the intensity of the X-ray beam on (a) average fibre diameter and (b) number of fibres detected from the middle slice of a reconstructed volume. Each point corresponds to measurements taken from a single middle slide reconstructed with a specified X-ray intensity. The shaded region in (a) represents the variability in detected fibre diameters.

These findings suggest that reconstruction quality is highly sensitive to the number of projections and X-ray intensity. Based on our results, maintaining at least 75 projections and an initial intensity above 2.5 × 104 preserves fibre boundary clarity and diameter accuracy. In our simulation, the parameter I0 represents the number of incident photons per detector bin prior to attenuation. It controls the level of Poisson noise applied to the sinogram. While I0 is a dimensionless simulation input, it serves as a proxy for real-world X-ray dose settings and can guide experimental planning for CT imaging of fibre-reinforced composites.

3.2.3. Varying fibre characteristics mode, fixed imaging conditions

In Fig. 13[link], we examine the effect of increasing FVF on the detected number of fibres, based on a 120° limited-angle scan from 180 projections with a noise level of I0 = 25 × 103. For each FVF value, ten phantom volumes were generated using the fibre simulator, and fibre detection was performed on the reconstructed middle slice of each volume. The average number of detected fibres across these volumes was then used to compute the error rate relative to the known ground truth.

[Figure 13]
Figure 13
For a limited-angle scan (120°), the effect of varying FVF on the detected number of fibres is shown.

The error rate, which quantifies the discrepancy between the detected and ground truth number of fibres, was computed as the absolute difference between the detected and ground truth counts, divided by the ground truth count.

The resulting error curve reveals two key detection regimes:

(i) Low FVF (< 0.30). With fewer fibres, each undetected fibre has a large impact on the error percentage, leading to higher variability even when fibres are visually distinct.

(ii) High FVF (> 0.30). As fibres become more densely packed, overlapping and streaking artefacts degrade separability, increasing the detection error.

Interestingly, the error rate reaches a minimum around 0.30 FVF, which corresponds to the lower bound of many practical composite materials (common 30–65% FVF) (Bhaskar & Sankaran, 2003View full citation). This finding suggests that even under limited-angle, noisy conditions, there is an optimal FVF range where detection is most reliable. For materials near this FVF, standard scanning protocols may be sufficient; however, for denser composites, enhanced imaging strategies (e.g. additional projections, advanced reconstruction or denoising) may be necessary to mitigate rising error.

While the plot does not encompass the full FVF range of real composites, it illustrates the existence of different regimes for fibre imaging; FibreSimulator enables the exploration of these for specific combinations of fibre structures and imaging parameters.

In this work, evaluation is primarily based on fibre count and average fibre diameter, which are directly relevant to common fibre analysis tasks and can be robustly estimated from reconstructed volumes. These metrics emphasize fibre detectability and geometric characterization rather than global image similarity.

Other quantitative measures could provide a complementary perspective on reconstruction quality, including segmentation-based metrics (e.g. intersection-over-union), centroid localization accuracy, voxel-wise similarity measures such as Structural Similarity Index (SSIM) (Wang et al., 2004View full citation), with respect to the ground truth. While such metrics are not explored here, the availability of exact ground truth phantoms enables their use within the same framework when more detailed image-level or artefact-focused evaluation is required.

4. Conclusions

Here we introduce FibreSimulator, an open-source Python tool designed to generate realistic unidirectional fibre phantoms that enable fibre architectural features (e.g. volume fraction, fibre composition and radius, and volume dimensions) and sample geometrical features (e.g. holes, notches and voids) to be simulated. Furthermore, it is fully integrated with the ASTRA toolbox, enabling it to act as the ground truth for simulating the CT reconstruction process as a function of key CT scan parameters (e.g. number of projections, geometry type and reconstruction algorithm). We have demonstrated that, using the phantom generator in conjunction with the ASTRA toolbox enables task-specific, quantitative analysis of generated fibre structures, enabling findings such as:

(i) Reconstruction quality degrades significantly below 75 projections, leading to merged fibre boundaries, and therefore reduced segmentation accuracy.

(ii) Low simulated X-ray intensity (modelled via I0) increases Poisson noise, resulting in inflated fibre diameter estimates and inconsistent detection.

(iii) Detection error is sensitive to FVF, with a high error at both low and high FVF due to statistical sensitivity and artefact overlap, respectively.

These findings demonstrate that FibreSimulator can be used to explore the influence of scanning parameters on reconstruction accuracy. Future versions will support more complex fibre features such as misalignment, curvature and clustering, enabling simulation of structures observed in real materials as we see in the work of Wang et al. (2021View full citation). Through ongoing development, FibreSimulator focuses on simulating fibre morphologies and imaging artefacts, helping to make synthetic datasets more representative of real-world CT scans.

APPENDIX A

Fibre growth algorithm

The fibre growth algorithm is shown in the scheme[link] below:

[Scheme 1]

Supporting information


Conflict of interest

There are no conflicts of interest.

Data availability

The data supporting the results can be replicated using FibreSimulator, which is available in the GitHub repository Go et al. (2024View full citation). The details of the parameters used are provided in the supporting information.

Funding information

This research received funding from Horizon Europe through the MSCA Doctoral Network RELIANCE: REaL-tIme characterization of ANisotropic Carbon-based tEchnological fibres, films, and composites, grant No. 101073040. This work was also supported by the National Research Facility for Laboratory X-ray CT (NXCT) through EPSRC grant EP/T02593X/1, by the Henry Royce Institute established through EPSRC grants EP/R00661X/1, EP/P025498/1 and EP/P025021/1.

References

Return to citationAbdelkader, M., Mazari, A. & Zafar, S. (2022). Materials 15, 4726.  Web of Science CrossRef PubMed Google Scholar
Return to citationAlagic, Z., Diaz Cardenas, J., Halldorsson, K., Grozman, V., Wallgren, S., Suzuki, C., Helmenkamp, J. & Koskinen, S. (2022). Emerg. Radiol. 29, 339–352.  Web of Science CrossRef PubMed Google Scholar
Return to citationAlmeida, J. H. S., Miettinen, A., Léonard, F., Falzon, B. G. & Withers, P. J. (2025). Composites Part B 292, 112073.  Web of Science CrossRef Google Scholar
Return to citationAltendorf, H. & Jeulin, D. (2011). Phys. Rev. E 83, 041804.  Web of Science CrossRef Google Scholar
Return to citationAlzahrani, M. M., Alamry, K. A. & Hussein, M. A. (2025). Results Chem. 15, 102199.  Web of Science CrossRef Google Scholar
Return to citationAndriiashen, V., van Liere, R., van Leeuwen, T. & Batenburg, K. J. (2024). J. X-ray Sci. Technol. 32, 1099–1119.  Web of Science PubMed Google Scholar
Return to citationBadran, A., Marshall, D., Legault, Z., Makovetsky, R., Provencher, B., Piché, N. & Marsh, M. (2020). J. Mater. Sci. 55, 16273–16289.  Web of Science CrossRef CAS Google Scholar
Return to citationBadran, A., Parkinson, D., Ushizima, D., Marshall, D. & Maillet, E. (2022). J. Compos. Sci. 6, 60.  Web of Science CrossRef Google Scholar
Return to citationBang, H.-T., Park, S. & Jeon, H. (2020). Compos. Struct. 246, 112405.  CrossRef Google Scholar
Return to citationBarutcu, S., Aslan, S., Katsaggelos, A. K. & Gürsoy, D. (2021). Sci. Rep. 11, 17740.  Web of Science CrossRef PubMed Google Scholar
Return to citationBellens, S., Guerrero, P., Vandewalle, P. & Dewulf, W. (2024). CIRP J. Manuf. Sci. Technol. 51, 324–341.  Web of Science CrossRef Google Scholar
Return to citationBhaskar, P. K. K. & Sankaran, P. S. (2003). Introduction to Composite Materials, Lecture 36: Fibre Volume Fraction, https://archive.nptel.ac.in/content/storage2/courses/101104010/lecture36/36_6.htmGoogle Scholar
Return to citationBurger, H., Schuler, C. & Harmeling, S. (2012). 25th IEEE Conference on Computer Vision and Pattern Recognition (CVPR 2012) pp. 2392–2399. IEEE.  CrossRef Google Scholar
Return to citationCai, D. (2020). Boeing recalls eight 787 dreamliners due to structural problems, https://new.qq.com/omn/20200828/20200828A0OM3C00.html?pc  Google Scholar
Return to citationCox, R. W., Ashburner, J., Breman, H., Fissell, K., Haselgrove, C., Holmes, C. J., Lancaster, J. L., Rex, D. E., Smith, S. M., Woodward, J. B. & Strother, S. C. (2004). Proceedings of the 10th Annual Meeting of the Organization for Human Brain Mapping, Budapest, Hungary.  Google Scholar
Return to citationDeng, J., Dong, W., Socher, R., Li, L.-J., Li, K. & Fei-Fei, L. (2009). 2009 IEEE Conference on Computer Vision and Pattern Recognition, pp. 248–255.  Google Scholar
Return to citationDeng, L. (2012). IEEE Signal Process. Mag. 29, 141–142.  Google Scholar
Return to citationEnnis, B. L., Das, S. & Norris, R. E. (2023). Composites Part B 265, 110960.  Web of Science CrossRef Google Scholar
Return to citationFeldkamp, L. A., Davis, L. C. & Kress, J. W. (1984). J. Opt. Soc. Am. A 1, 612–619.  CrossRef Web of Science Google Scholar
Return to citationGarcea, S. C., Wang, Y. & Withers, P. J. (2018). Compos. Sci. Technol. 156, 305–319.  Web of Science CrossRef CAS Google Scholar
Return to citationGilbert, P. (1972). J. Theor. Biol. 36, 105–117.  CrossRef CAS PubMed Web of Science Google Scholar
Return to citationGo, M., Pelt, D. & Batenburg, K. (2024). marychrisgo/Fiber-Phantoms: FibreSimulator (v1.0.0), https://zenodo.org/records/14134578Google Scholar
Return to citationGreffier, J., Dabli, D., Hamard, A., Belaouni, A., Akessoul, P., Frandon, J. & Beregi, J. (2022). Quant. Imaging Med. Surg. 12, 229–243.  Web of Science CrossRef PubMed Google Scholar
Return to citationGuo, R., Stubbe, J., Zhang, Y., Schlepütz, C. M., Gomez, C. R., Mehdikhani, M., Breite, C., Swolfs, Y. & Villanueva-Perez, P. (2023). Compos. Sci. Technol. 244, 110278.  Web of Science CrossRef Google Scholar
Return to citationKikinis, R., Pieper, S. D. & Vosburgh, K. (2014). Intraoperative Imaging and Image-Guided Therapy edited by F. A. Jolesz, pp. 277–289. Springer.  Google Scholar
Return to citationKoranne, S. (2011). Editor. Handbook of Open Source Tools, pp. 191–200. Springer.  Google Scholar
Return to citationKrizhevsky, A. (2012). Learning Multiple Layers of Features from Tiny Images. Technical Report TR-2009. University of Toronto, Toronto, Canada.  Google Scholar
Return to citationLomov, S. V. (2021). Composite Reinforcements for Optimum Performance, 2nd ed., edited by P. Boisse, Woodhead Publishing Series in Composites Science and Engineering, pp. 199–236. Woodhead Publishing.  Google Scholar
Return to citationLong, A. & Brown, L. (2011). Composite Reinforcements for Optimum Performance, edited by P. Boisse, Woodhead Publishing Series in Composites Science and Engineering, pp. 239–264. Woodhead Publishing.  Google Scholar
Return to citationMehdikhani, M., Gorbatikh, L., Verpoest, I. & Lomov, S. V. (2019). J. Compos. Mater. 53, 1579–1669.  Web of Science CrossRef CAS Google Scholar
Return to citationNemeth, N. N., Mital, S. K. & Lang, J. (2010). Evaluation of Solid Modeling Software for Finite Element Analysis of Woven Ceramic Matrix Composites. NASA Report NASA/TM-2010-216250. NASA, USA.  Google Scholar
Return to citationOtsu, N. (1979). IEEE Trans. Syst. Man Cybern. 9, 62–66.  CrossRef Web of Science Google Scholar
Return to citationPan, J., Sun, D., Pfister, H. & Yang, M.-H. (2016). Proceedings of the 2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), pp. 1628–1636.  Google Scholar
Return to citationPelt, D. M., Hendriksen, A. A. & Batenburg, K. J. (2022). J. Synchrotron Rad. 29, 254–265.  Web of Science CrossRef CAS IUCr Journals Google Scholar
Return to citationPooja, K., Mikkelsen, L. P., Dahl, A. B. & Dahl, V. A. (2024). Proceedings of the 21st European Conference on Composite Materials, edited by C. Binetruy & F. Jacquemin, pp. 1190–1196. European Society for Composite Materials.  Google Scholar
Return to citationSalling, F., Jeppesen, N., Sonne, M., Hattel, J. & Mikkelsen, L. (2022). J. Compos. Mater. 56, 83–98.  Web of Science CrossRef CAS Google Scholar
Return to citationSiemens (2024). Fibersim, Accessed 2024–10–08, https://plm.sw.siemens.com/en-US/nx/products/fibersim-composites/Google Scholar
Return to citationSitek, A., Reutter, B. W., Huesman, R. H. & Gullberg, G. T. (2006). J. Nucl. Med. 47, 1187–1192.  Web of Science PubMed Google Scholar
Return to citationvan Aarle, W., Palenstijn, W. J., De Beenhouwer, J., Altantzis, T., Bals, S., Batenburg, K. J. & Sijbers, J. (2015). Ultramicroscopy 157, 35–47.  Web of Science CrossRef CAS PubMed Google Scholar
Return to citationvan der Walt, S., Schönberger, J. L., Nunez-Iglesias, J., Boulogne, F., Warner, J. D., Yager, N., Gouillart, E., Yu, T. & scikit-image contributors (2014). PeerJ 2, e453.  Web of Science CrossRef PubMed Google Scholar
Return to citationvan der Walt, S., Schönberger, J. L., Nunez-Iglesias, J., Boulogne, F., Warner, J. D., Yager, N., Gouillart, E., Yu, T. & the scikit-image development team (2024). SciPy: Scientific computing library, https://scipy.orgGoogle Scholar
Return to citationWang, K., Shi, C., Gong, S., Chellappah, K., Withers, P. J., Taylor, K. G., Atwood, R. & Ma, L. (2025). Chem. Eng. Sci. 307, 121346.  Web of Science CrossRef Google Scholar
Return to citationWang, Y., Emerson, M. J., Conradsen, K., Dahl, A. B., Dahl, V. A., Maire, E. & Withers, P. J. (2021). Compos. Sci. Technol. 213, 108929.  Web of Science CrossRef Google Scholar
Return to citationWanhill, R., Molent, L., Barter, S. & Amsterdam, E. (2015). Milestone Case Histories in Aircraft Structural Integrity. Technical Paper NLR-TP-2002-521. Nationaal Lucht- en Ruimtevaartlaboratorium (NLR), Amsterdam, Netherlands.  Google Scholar
Return to citationWithers, P. J., Bouman, C., Carmignato, S., Cnudde, V., Grimaldi, D., Hagen, C. K., Maire, E., Manley, M., Du Plessis, A. & Stock, S. R. (2021). Nat. Rev. Methods Primers 1, 18.  Web of Science CrossRef Google Scholar
Return to citationYıldızcan, E. N., Arı, M. E., Tunga, B., Gelir, A., Kurul, F., As, N. & Dündar, T. (2024). Wood Sci. Technol. 58, 1491–1516.  Google Scholar
Return to citationYu, B., Blanc, R., Soutis, C. & Withers, P. (2016). Composites Part A 82, 279–290.  Web of Science CrossRef CAS Google Scholar
Return to citationZhang, K., Zuo, W., Chen, Y., Meng, D. & Zhang, L. (2017). IEEE Trans. Image Process. 26, 3142–3155.  Web of Science CrossRef PubMed Google Scholar
Return to citationZhang, X., Wu, X., He, Y., Yang, S., Chen, S., Zhang, S. & Zhou, D. (2019). Composites Part B 168, 152–158.  Web of Science CrossRef CAS Google Scholar
Return to citationZhou, J., Yin, Y. & Wang, S. (2021). 2021 International Conference on Intelligent Computing, Automation and Applications (ICAA), 25–27 June 2021, Nanjing, China, pp. 10–13.  Google Scholar
Return to citationZhou Wang,, Bovik, A. C., Sheikh, H. R. & Simoncelli, E. P. (2004). IEEE Trans. Image Process. 13, 600–612.  Google Scholar

This is an open-access article distributed under the terms of the Creative Commons Attribution (CC-BY) Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original authors and source are cited.

Journal logoJOURNAL OF
SYNCHROTRON
RADIATION
ISSN: 1600-5775
Follow J. Synchrotron Rad.
Sign up for e-alerts
Follow J. Synchrotron Rad. on Twitter
Follow us on facebook
Sign up for RSS feeds