Filter atoms according to distance from dislocation (DXA)

I’m interested in collecting data on how solutes and voids migrate towards and away from developing dislocations.

I understand from this question that ovito only stores the ‘head’ and ‘tail’ of dislocations and something called the ‘Spatial Burgers vector’ but the graphical interface clearly shows more atoms belonging to the dislocation following some kind of segmented curve.

How can I collect the data I need? Is there a way to create a surface mesh around all dislocations and compute particle distances from the nearest surface?

To filter atoms close to dislocation lines based on distance, you can implement a custom solution using a Python modifier. Through the Python API, you have full access to the Dislocation network, including lines and line segments. One idea could be to use the Line's point_along_line method to generate more points along the dislocation lines for finer resolution. Then, the find_at method of the CutoffNeighborFinder utility class can help you locate particles within a specified cutoff range of these reference points.