Line Reconstruction DXA
Reconstruct dislocation lines via DXA from an upstream cluster package and DXA-style geometric parameters.
Reconstructs the dislocation network with the Dislocation eXtraction Algorithm (DXA) from upstream per-atom structure-identification artifacts (an annotated dump plus cluster tables). If cluster tables aren't supplied, the Python wrapper runs Polyhedral Template Matching inline to generate them.
Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
crystalStructure | select | FCC | Reference crystal structure. Options: FCC, BCC, HCP, CUBIC_DIAMOND, HEX_DIAMOND. |
crystalPathSteps | number | 4 | Maximum crystal-path steps used for edge vectors (min 1, step 1). |
alphaScale | number | 3.5 | Alpha threshold scale relative to neighbor distance (min 0, step 0.1). |
smoothingIterations | number | 0 | Taubin smoothing iterations applied to the reconstructed lines (min 0, step 1). |
linePointInterval | number | 1.2 | Line coarsening interval (min 0, step 0.1). |
The binary also accepts --tessellationGhostLayerScale (default 3.5) and --threads, neither exposed as a UI form input. The annotated dump, --clusters-table, and --clusters-transitions are required inputs wired in from the upstream structure-identification step.
Output
{outputBase}_dislocations.parquet
Primary result surfaced in the UI ("Dislocation Lines"), exported to GLB via LineExporter. A VOLT line entity table (one row per reconstructed, PBC-clipped line): fixed columns id and points; every other column is a per-line property that VOLT discovers, queries and styles generically.
| Column | Type | Description |
|---|---|---|
id | uint64 | Line entity id. |
points | list<list<double>> | Polyline vertices, each [x, y, z]. |
length | double | Line length. |
num_points | int64 | Vertex count. |
magnitude | double | Length of the local Burgers vector. |
burgers_vector_local | list<double> | Burgers vector in the cluster lattice frame. |
burgers_vector_global | list<double> | Burgers vector in the spatial frame. |
crystal_structure | string | Structure name of the owning cluster. |
burgers_family | string | Burgers family (classified via opendxa). |
burgers_family_label | string | Display label. |
cluster_id | int64 | Owning cluster id. |
is_closed | int64 | 1 when the reconstructed line is a closed loop. |
dislocation_type_id | int64 | Internal reconstruction type id. |
{outputBase}_dislocation_segments.parquet
Individual raw segments (PBC-clipped chunks) in the same line entity table format, with a
stage property marking the reconstruction stage instead of is_closed /
dislocation_type_id. Not exposed in the UI by default.
{outputBase}_unassigned_edges.parquet
Tessellation edges that could not be assigned to a dislocation line.
interface UnassignedEdge {
edge_id: int;
position1: Vec3;
position2: Vec3;
atoms: [int, int];
stage: int;
}
interface UnassignedEdgesOutput {
main_listing: {
unassigned_edges: int;
};
sub_listings: {
unassigned_edges: UnassignedEdge[];
};
}{outputBase}_interface_mesh.parquet
The interface mesh separating good and bad crystal regions, as unwrapped vertices and facets.
interface MeshPoint {
index: int;
position: Vec3;
}
interface MeshFacet {
vertices: int[];
region: int;
}
interface InterfaceMeshOutput {
main_listing: {
total_nodes: int;
total_facets: int;
};
sub_listings: {
points: MeshPoint[];
facets: MeshFacet[];
};
}{outputBase}_simulation_cell.parquet
Geometry of the simulation cell for the analyzed frame.
interface SimulationCellOutput {
main_listing: {
simulation_cells: int;
volume: float;
is_2d: bool;
effective_dimensions: int;
periodic_dimensions: int;
};
sub_listings: {
simulation_cell: Array<{
volume: float;
is_2d: bool;
effective_dimensions: int;
a_x: float; a_y: float; a_z: float;
b_x: float; b_y: float; b_z: float;
c_x: float; c_y: float; c_z: float;
a_length: float;
b_length: float;
c_length: float;
pbc_x: bool;
pbc_y: bool;
pbc_z: bool;
}>;
};
}See Also
- OpenDXA — full dislocation-network reconstruction in crystalline systems
- Grain Segmentation — segment polycrystalline regions by atom orientation