Abstract
Given the huge advances in tomographic imaging capability in recent years, image analysis has become a powerful means of measuring transport and structural properties of porous materials. One of the most important material characteristics is the tortuosity, which is difficult to measure experimentally. We present pytrax: (tortuosity from random axial movements) a simple and efficient random walk method implemented in python to calculate the average tortuosity and orthogonal directional tortuosity components of an image. The code works for both two and three-dimensional images and completes a statistically significant number of walks in parallel for large images in a few minutes using a standard desktop computer. By comparison, a Lattice Boltzmann or finite element simulation on similar sized images can take several hours.
Highlights
We present pytrax: a simple and efficient random walk method implemented in python to calculate the average tortuosity and orthogonal directional tortuosity components of an image
We provide an ‘off-the-shelf’ solution for quick image analysis on massive datasets that provides the mean tortuosity and axial tortuosity which is very useful for anisotropic media
Without the presence of obstacles the walkers are free to move in any direction unimpeded and their mean square displacement increases linearly with time as per Equation (2)
Summary
The study of transport in porous media cuts across a vast range of disciplines: from medicine, biology and the earth sciences to electrochemistry and microfluidics. The diffusive tortuosity is generally the most widely applicable definition [4] and it has been shown that this property can be calculated using random walks [5,6]. The main motivation behind this work is to provide a simple and efficient method for calculating the tortuosity of an image using random walks in a highly parallelized way. This is achieved by calculating the reciprocal of the slope of the MSD and ASD vs time which would be unity in open space. The pytrax package is a small code-base and has much in-line documentation with implementation of vectorized array indexing and parallel processing making it perfect for extensible use
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have