These steps organize the approach to extracting information about fiber data in 3-D volumetric datasets where the fibers are isolated from the matrix and other features.
- Label the Fibers
Erode the binary 3-D volume to about half of the expected radius of the fibers. Use a watershed method or something similar to bwlabeln
in Matlab to seed the fiber indices. Dilate the image with the same filter you used to erode it. Mask the dilated image with the binary image. The masking process will assure that the index fibers have the same shape of the original data.
There will be an issue with touching fibers when you dilate them. Dilation takes the maximum value in a filter window and assigns that to the pixel of interest. The largest index of touching fibers will overtake the lower index, but this should be easy to fix. There is a bit of uncertainty here that shouldn't require too much focus.
- Fiber Centers
Finding the centers of the fibers is an ill-posed problem. There will be no exact center to find, it will have uncertainty. There is little need to focus on a very exact answer.
After you have indexed the fibers, for each fiber index you will need to map out the center of the fiber through the 3-D volume. The phase coded generalized hough transform or in a binary image with circular features the circular hough transform will help you find the center. * I can make an example code if you need to see it.* Another option is the fast radial transform.
- Classify the genus of the fibers
Use the index of the fibers to define their genus. The genuses are shown in this schematic.
Using the centers of each fiber it is easy to map the trajectory of the fibers through space. The distribution of tracjectories for the Z-Fill
will be wider than the warp or fill. The trajectories of the Fill
fibers will be minimal in the Weft
direction and vice versa.
In other words, if you look at the change in position of the fiber center for each fiber from layer-to-layer then the distribution of the trajectories should tell which genus the fiber is.
- Nearest Fibers
For the N
fiber centers, create two NxN
matrix that are the average distance between fiber centers; you may need a matrix of the standard deviation. Each entry in the distance matrix is the average distance between fiber indices i
and j
. The average distance for within a wire pair should be show up in the distance matrix.