Microstructure of a freeze-dried aqueous solution of maltodextrin DE 12 (5 % w/w)
Authors/Creators
Description
X-ray microtomography (µ-CT) data of the dried microstructure of an aqueous maltodextrin DE 12 solution with 5 % (w/w) solid content. The dataset contains a cuboid section of the reconstructed tomogram, both as reconstructed grayscale data and as a binarized (solid/void) image that resolves the pore space of the dried cake.
Data files
The dataset includes 2 files, which are as follows:
img@raw_res@1885x1885x1551_vxl@1.624318x1.624318x1.624318_uint16.raw.zip- Contents: Reconstructed grayscale image data of the microstructure of a freeze-dried aqueous maltodextrin DE 12 solution of 5 % (w/w) solid content
- Interpretation: voxel value = reconstructed X-ray attenuation (higher value = higher attenuation, i.e. solid)
- Resolution: 1885 × 1885 × 1551 voxels
- Voxel size: 1.624318 µm (in each dimension)
- Encoding: uint16
- Archive contents: single headerless binary file
img@raw_res@1885x1885x1551_vxl@1.624318x1.624318x1.624318_uint16.raw(11 022 103 950 bytes uncompressed)
img@binarized_res@1885x1885x1551_vxl@1.624318x1.624318x1.624318_uint8.raw.zip- Contents: Binarized image data of the same section
- Interpretation: solid = 1, voidage = 0
- Resolution: 1885 × 1885 × 1551 voxels
- Voxel size: 1.624318 µm (in each dimension)
- Encoding: uint8
- Archive contents: single headerless binary file
img@binarized_res@1885x1885x1551_vxl@1.624318x1.624318x1.624318_uint8.raw(5 511 051 975 bytes uncompressed)
Both files describe the identical section and share the same voxel grid, so the binarized image can be used directly as a mask for the grayscale image. The section covers a physical volume of approximately 3.06 × 3.06 × 2.52 mm³.
Data format
The .raw files are plain binary dumps without any header, padding or metadata. All information needed to read them is encoded in the file name:
img@<type>_res@<Nx>x<Ny>x<Nz>_vxl@<Lx>x<Ly>x<Lz>_<class>.raw
with the voxel edge lengths <Lx>, <Ly>, <Lz> given in µm and <class> naming the integer type of a single voxel.
- Byte order: little-endian
- Voxel order: column-major (Fortran order), i.e. the first index varies fastest, followed by the second and then the third
Reading the data in MATLAB
res = [1885, 1885, 1551];
fname = 'img@binarized_res@1885x1885x1551_vxl@1.624318x1.624318x1.624318_uint8.raw';
fid = fopen(fname, 'r');
img = fread(fid, prod(res), '*uint8');
fclose(fid);
img = reshape(img, res);
For the grayscale file, use '*uint16' instead of '*uint8'.
Reading the data in Python
import numpy as np
res = (1885, 1885, 1551)
fname = "img@binarized_res@1885x1885x1551_vxl@1.624318x1.624318x1.624318_uint8.raw"
img = np.fromfile(fname, dtype=np.uint8).reshape(res, order="F")
For the grayscale file, use dtype=np.uint16.
Note that the full grayscale array requires about 10.3 GiB of memory. On machines with less RAM, read the file slice by slice (e.g. via numpy.memmap) instead of loading it as a whole.
Sample preparation
An aqueous solution of maltodextrin DE 12 with a solid content of 5 % (w/w) was freeze-dried.
Image acquisition
| Parameter | Value |
|---|---|
| Scanner | TESCAN UniTOM HR, Technical University of Munich |
| Date of measurement | 2025-09-10 |
| Tube voltage | 90 kV |
| Target power | 7 W |
| Focus mode | microfocus |
| Filter | none |
| Detector mode | low attenuation, binning 1 |
| Exposure time | 135 ms |
| Averages per frame | 6 |
| Projections | 4389 over 360° (smooth rotation) |
| Scan duration | 63 min |
| Source-object distance | 9.00 mm |
| Source-detector distance | 274.26 mm |
| Magnification | 30.47 |
| Voxel size | 1.624318 µm (isotropic) |
The reconstructed tomogram has a resolution of 2928 × 2928 × 1685 voxels. The published section is a cuboid crop of that tomogram of 1885 × 1885 × 1551 voxels. Its first voxel is voxel (566, 566, 100) of the tomogram (1-based indices, i.e. a zero-based offset of (565, 565, 99)), so the section spans the tomogram voxels 566–2450 along the first and second axis and 100–1650 along the third axis. It was placed inside the dried cake so that it is free of sample boundaries and reconstruction artifacts.
Image processing
The pore walls appear as thin, bright structures on a flat but noisy pore background. The binarized image was therefore derived from the grayscale image by a hysteresis thresholding of the local contrast, scaled by the local noise level (MATLAB Image Processing Toolbox):
- Gaussian denoising with a standard deviation of 1 voxel (
imgaussfilt3), which yields the image G - Subtraction of the local background, D = G − Gbg, where Gbg is G smoothed with a Gaussian of 10 voxels standard deviation (
imgaussfilt3) - Estimation of the noise level σn of D as the robust standard deviation (1.4826 × median absolute deviation), separately for each slab of 50 slices along the third axis, since the noise level varies over the height
- Hysteresis thresholding: voxels with D > 3.75 σn are taken as solid seeds, voxels with D > 1.25 σn are kept as solid if they are connected to a seed (26-connectivity,
imreconstruct) - Removal of solid objects smaller than 1000 voxels (26-connectivity,
bwareaopen) - Filling of void objects smaller than 1000 voxels (6-connectivity)
The resulting binarized image has a solid volume fraction of 7.8 %. The largest connected solid object (26-connectivity) contains 99.97 % of all solid voxels, i.e. the solid forms one connected network apart from a few small isolated objects.
No downsampling was applied at any point, so the binarized image is on the native voxel grid of the reconstruction.
Files
img@binarized_res@1885x1885x1551_vxl@1.624318x1.624318x1.624318_uint8.raw.zip
Additional details
Funding
- Deutsche Forschungsgemeinschaft
- TUM Core Facility for Structural Imaging of Food and Biological Materials 581284425
- Deutsche Forschungsgemeinschaft
- High spatial and temporal rsolution X-Ray micro-Computed Tomography System (µ-CT) 538007702
- Deutsche Forschungsgemeinschaft
- CRC 287 Bulk-Reaction 422037413