Skip to main content
Version: 3.4.8 (unreleased)

Attributes Attributes

Point Cloud and Mesh Attributes

Overview​

Attributes are geometric and statistical properties computed for vertices (points) or triangles in a 3D model. These attributes are derived by analyzing the local neighborhood either using a search radius or by specifying the number of nearest neighbors.

Vertex Attributes​

Vertex attributes are properties computed for each point in a point cloud based on its local neighborhood.

Eigenvalue-Based Attributes​

These attributes are derived from eigenvalue analysis of the local point neighborhood, producing three eigenvalues (λ₁ ≥ λ₂ ≥ λ₃) that describe the geometric distribution of points.

  • Eigen Values x3: The three eigenvalues (λ₁, λ₂, λ₃) computed from the local neighborhood. These describe the variance along principal directions
  • Sum of Eigenvalues: Sum of all three eigenvalues (Σλᵢ). Represents the total variance in the local neighborhood
  • Omnivariance: Cubic root of the product of eigenvalues: (λ₁ × λ₂ × λ₃)^(1/3). Measures the 3D spread of the local point distribution
  • Eigenentropy: −Σeᵢ ln(eᵢ), over the eigenvalues normalised so they sum to 1 (eᵢ = λᵢ/Σλ). Measures how evenly the variance is spread between the three axes: 0 when it all lies along one (a line), and its maximum of ln 3 ≈ 1.10 when the three are equal (a scatter with no preferred direction). Being built from normalised eigenvalues it does not depend on the size of the neighbourhood or the units of the model

Dimensionality Features​

These attributes characterize the local surface. They come in three families that are easy to confuse, because the names are so alike. Linearity and Planarity are not the same thing as Colinearity and Coplanarity, Colinearity is not the same thing as Tavani Collinearity, and none of the three families share a scale.

Fractions, on [0, 1] — a triple that sums to 1, so they are only informative read together. Each says what proportion of the local shape is line-like, plane-like or blob-like.

  • Linearity: (λ₁ − λ₂)/λ₁. Close to 1 for a line
  • Planarity: (λ₂ − λ₃)/λ₁. Close to 1 for a flat surface
  • Sphericity: λ₃/λ₁. Close to 1 for a scattered blob

Log ratios, unbounded above — the pair used to judge whether a best-fit plane through the neighbourhood can be trusted. See Plane Fit Quality below.

  • Colinearity: ln(λ₁/λ₂) / ln(λ₂/λ₃). How close to a line the points are. Low values mean the points spread across the surface in two directions; high values mean they are strung out along one, leaving the orientation poorly constrained
  • Coplanarity: ln(λ₁/λ₃). How close to a plane the points are. Higher is flatter; above about 4 the points sit within roughly 6° of the best-fit plane

Plain ratios, unbounded above — the same two questions again, after Tavani et al. (2024), but on the eigenvalues themselves rather than their logarithms. Output together as Tavani Indices in the dialog. They exist because the paper's published benchmarks are stated on this scale, so you can read a number straight off against a threshold instead of converting it. The catch is that the two run in opposite directions, which is the thing to keep straight.

  • Tavani Collinearity: λ₁/λ₂. Lower is better — below 30 is excellent, below 100 is good. It rises without limit as the points collapse onto a line
  • Tavani Coplanarity: (λ₁ + λ₂ + λ₃)/λ₃. Higher is better — above 5000 is excellent, above 2000 is good. It rises without limit as the points become exactly flat
Those thresholds were calibrated on digitised traces

30 / 100 / 2000 / 5000 come from Tavani et al. Table 2, which was built from hand-digitised traces — long, thin polylines picked along a discontinuity. A search neighbourhood is nothing like that shape: it is a roughly round ball of points, and reaching a coplanarity of 2000 asks it to be about 63 times wider than it is rough. Applied unchanged to a point cloud or mesh they will fail a great deal of perfectly good outcrop, which is why the Grade below makes them settings rather than fixed numbers.

tip

If you want a number you can reason about physically, prefer Plane Scatter (degrees) or RMS Residual (model units) below. Coplanarity answers the same question as Plane Scatter but on a scale where "above about 4" has to be memorised.

Fit Residuals​

Both describe how far the neighbourhood actually sits from its local best-fit plane, rather than expressing it as a ratio.

  • Plane Scatter: the RMS angle, in degrees, by which the points scatter about the local best-fit plane. This is the same measure a picked orientation reports as its error, so a point cloud and an interpretation can be compared directly
  • RMS Residual: the average distance of the points from that plane, in model units. This is the quantity the Robust Plane Quality residual budget is compared against

Plane Fit Quality​

Colinearity and Coplanarity answer different questions, and a trustworthy measurement needs both. Points can hug a plane perfectly and still fail to fix its orientation, because infinitely many planes pass through a straight line and every one of them fits it equally well. VRGS offers three verdicts built on this idea — two pass/fail flags and one graded score. They can be output together and compared, and they all live in the Plane Fit Quality group of the tensor analysis dialog.

AttributeValuesJudges the fit againstAfter
Orientation Qualitypass / failthe shape of the neighbourhood itselfFernández (2005)
Robust Plane Qualitypass / failthe precision of the surveyJones et al. (2016)
Grade0 / 1 / 2published benchmarks, plus the point countTavani et al. (2024)

Orientation Quality​

Set when Coplanarity is at least 4 and Colinearity is no more than 0.8, following Fernández (2005). It has no tick-box of its own — selecting both Colinearity and Coplanarity produces it. The layer is spelled Oriention Quality in the attribute list, which is a misspelling in the software rather than here.

These thresholds compare the neighbourhood against its own shape, so the flag is independent of the units and scale of the survey. The cost is that it cannot tell a genuine plane from one whose spread is nothing but measurement noise, and it tends to reject long, narrow patches — common on outcrop — however well measured they are.

Tavani et al. (2024) argue their own indices should replace M and K, and for a picked trace VRGS follows them. Orientation Quality stays on Fernández's pair deliberately: their replacement thresholds describe traces, not search neighbourhoods, and swapping them in here would reject far more outcrop than it should. If you want the Tavani standard applied to a model, use Grade, where the bars are yours to set.

Robust Plane Quality​

Set following Jones et al. (2016), which judges a fit against the precision of the survey rather than the shape of the sample. Reach for it when Orientation Quality rejects patches you believe are good, or accepts areas you know to be noise. Three settings control it:

  • Survey Precision: the measurement precision of the survey, in model units. A neighbourhood is rejected as too colinear when its second dimension is smaller than this, i.e. no larger than the noise. The default 0.032 is the published value for a high-precision medium-range scanner (quoted at 2–6 mm at 50 m). Raise it for noisier data such as long-range scans or photogrammetry
  • Min Eigenvalue Ratio: reject when λ₂ is less than this many times λ₃, i.e. when the surface is too irregular for its size. The default 10 is the published value for bulk fracture work, and lets larger planes carry a larger absolute variance. Set to 0 to disable
  • Max RMS Residual: reject when points sit further than this from the fitted plane on average, in model units. A fixed budget regardless of patch size, and the stricter of the two planarity tests. The default 0 disables it, which is the recommended setting when analysing many fractures at once
note

Survey Precision and Max RMS Residual are absolute distances in your project's units, so they have to suit the data. The defaults assume a metre-based project surveyed with a high-precision scanner.

Grade​

An ordinal score after Tavani et al. (2024), written as a whole number:

ValueMeaning
2excellent
1good
0rejected

Orientation Quality and Robust Plane Quality are both pass/fail, so colouring a model by either flattens a barely-acceptable neighbourhood and a rock-solid one to the same value. Grade separates them, which is what makes it the one to colour a model by when you are deciding where on an outcrop your measurements can be trusted.

The score is the worst of three tests — good geometry cannot rescue a neighbourhood that has too few points in it:

TestExcellentGood
Tavani Collinearitybelow 30below 100
Tavani Coplanarityabove 5000above 2000
Number of points12 or more8 or more

The point-count test is the one that catches a sparse neighbourhood, or one at the edge of the model where the search sphere hangs half in space — too thin to support a plane at all, whatever shape the few points it did find happen to make.

Two settings set where "rejected" begins:

  • Grade Collinearity Limit: reject above this. Default 100
  • Grade Coplanarity Limit: reject below this. Default 2000

Both defaults are Table 2's "good" row. They are settings rather than fixed numbers because that row was calibrated on hand-digitised traces, and a search neighbourhood is a fundamentally different shape — see the caution under Dimensionality Features above. If a rough but well-exposed outcrop grades out worse than it deserves, lower the coplanarity limit first; it is the one that bites.

The paper gives two figures worth knowing when you change either:

  • Screening seven outcrops by eye before digitising anything, its authors found that traces they judged planar on sight consistently scored above 1000. That makes 1000 a defensible floor to drop the coplanarity limit to, and a more honest one than a round number picked to make a model look good
  • They allow collinearity up to 200–300 for an experienced user working with a live best-fit preview, but no further: past that range they start to see best-fit planes diverging from the true bedding orientation by more than 10°

The "excellent" bars stay at 30 and 5000 but are clamped against whatever you type, so a limit stricter than the published excellent row can never hand back 2 for a value that just failed your own reject test.

The Grade colour ramp is fixed to 0–2

Every other attribute auto-ranges to the values actually present. Grade does not: a model that came out uniformly good would otherwise spread its single value across the whole ramp, and the same colour would mean "excellent" on one model and "rejected" on the next. Pinning it means a colour means the same thing everywhere.

tip

Near the edge of a flat face the search neighbourhood spills onto the next facet, so Coplanarity dips all round the rim of a surface that is genuinely flat. To score a whole surface rather than a sphere of points around each vertex, use Patch CoPlanarity (or Patch RMS Residual) from Auto Structural Mapping or Grow Planar Patches, which fit one plane per patch and write its coplanarity to every triangle in that patch.

Geometric Properties​

  • Elevation: The Z coordinate value of the vertex in the project coordinate system
  • Range: Distance from the scanner origin to the point. Only applicable to spherical scan datasets where sensor position is known
  • Dip: The dip angle of the local surface orientation. Measures the angle of inclination from horizontal (0-90 degrees)
  • Azimuth: The azimuth or strike direction of the local surface. Measures the compass direction (0-360 degrees)
  • Pole x3: The X, Y, and Z components of the pole vector (normal vector perpendicular to the local surface). Three separate attributes, ticked as Normal in the dialog

Curvature and Surface Complexity​

  • Change of Curvature: λ₃/(λ₁ + λ₂ + λ₃). Estimates the local surface curvature. Higher values indicate more curved surfaces
  • Verticality (x2): Two attributes measuring the angle between eigenvectors and the vertical (Z) axis: −angle(eᵢ, eᵧ). Used to detect vertical structures. The dialog offers them as the separate Verticality and Horizontality tick-boxes, which write Verticality0 and Verticality1

Statistical Moments​

  • Absolute Moment (x6): Six attributes representing absolute moments of the point distribution. Used for shape characterization
  • Vertical Moment (x2): Two attributes representing vertical moments of the point distribution

Point Count and Color​

  • Number of Points: The count (N) of neighboring points used in the attribute calculation. Indicates the local point density. The dialog calls this Observations, and so does the layer it writes
  • Average Color (x3): Three attributes for the average red, green, and blue color values in the local neighborhood
  • Color Variance (x3): Three attributes for the variance of red, green, and blue color values in the local neighborhood. Indicates color heterogeneity

Triangle Attributes​

Triangle attributes are properties computed for each triangular face in a mesh surface.

Orientation Attributes​

  • Dip: The dip angle of the triangle face. Measures the angle of inclination from horizontal (0-90 degrees)
  • Azimuth: The azimuth or strike direction of the triangle face. Measures the compass direction (0-360 degrees)

Statistical and Geometric Measures​

  • Fisher K Value: The Fisher concentration parameter (K) computed from connected triangles. Higher K values indicate more clustered or consistent orientations in the local area. Used for assessing surface orientation consistency
  • Triangle Area: The surface area of the triangle. Measured in square units of the project coordinate system
  • Max Edge Length: The length of the longest edge of the triangle. Useful for identifying elongated or poor-quality triangles

Fracture Analysis​

  • P21 / P32 / P33 Maps: Fracture intensity attributes computed per vertex over a search sphere — P21 (trace length per area), P32 (fracture area per volume) and P33 (fracture porosity). Used for fracture network characterization. See Fracture Intensity Mapping for the method and parameters.

Planar Patch Attributes​

Written by Grow Planar Patches, which divides a mesh into planar patches — the exposed faces of beds, fractures and faults — and describes each one by a plane fitted through its nodes. Every triangle carries its patch's values; triangles in no patch are 0 in every layer but Patch Dip and Patch Azimuth, where they have no value.

  • Patches: The patch id, largest patch first
  • Patch Colour: The id scrambled onto the colour ramp so that neighbouring patches contrast. The layer to display
  • Patch Size / Patch Area: The number of triangles in the patch, and its area
  • Patch Dip / Patch Azimuth: The orientation of the patch's fitted plane; the azimuth is the dip direction. They can be plotted on the stereonet — see Patches on the Stereonet
  • Patch CoPlanarity: Fernández's M for the patch as a whole, on the same scale as the per-vertex CoPlanarity
  • Patch RMS Residual: The RMS distance of the patch's nodes from its plane, in model units
  • Patch Length / Patch Width: The in-plane extents of the fitted plane
  • Patch Difference: The angle between the triangle's own face and its patch's plane, in degrees
  • Patch Similarity: The cosine of Patch Difference: 1 for a face lying in its patch's plane, 0 for one at right angles to it
  • Patch Set: The orientation set the patch was clustered into, when sets were requested. A run without sets removes it

How each value is computed is set out in Grow Planar Patches — Method. Auto Structural Mapping writes layers of the same names apart from Patch Set, and removes a Patch Set left by an earlier run; its page defines its values.

Computation Methods​

Attributes can be computed using two neighborhood selection methods:

  1. Search Radius: Include all points/triangles within a specified distance from the target point/triangle
  2. K-Nearest Neighbors: Include the K closest points/triangles to the target point/triangle

The choice of method and parameter values (radius size or K value) significantly affects the scale of features detected.

Tensor Analysis dialog reference​

The sections above group the attributes by what they measure. This one lists them as the dialog presents them, because the two do not always use the same words: several options write a layer under a different name, so ticking a box and then hunting for the result in the attribute list can be confusing. Reach it from Right-click the object → Attributes & Analysis → Tensor Analysis (for a mesh, → Geometry → Tensor Analysis).

Check All selects everything. Every layer is computed over the neighbourhood chosen by Sphere Radius or K Nearest Neighbours — see Computation Methods.

Basic Attributes​

Dialog optionLayer writtenWhat it is
DipDipDip angle of the local surface, 0–90°
AzimuthAzimuthDip direction of the local surface, 0–360°
CoplanarityCoPlanarityln(λ₁/λ₃) — how flat the neighbourhood is
ColinearityColinearityln(λ₁/λ₂) / ln(λ₂/λ₃) — how line-like it is
Plane ScatterPlane ScatterRMS scatter about the local plane, in degrees
RMS ResidualRMS ResidualMean distance from the local plane, in model units
ObservationsObservationsThe point count. How many points fell inside the search neighbourhood — the check that tells you whether the radius is too small or too large
NormalNormalX, NormalY, NormalZComponents of the pole to the local surface
Eigen Values → ValuesEigenValue Maximum, EigenValue Median, EigenValue MinimumThe three eigenvalues themselves
Eigen Values → SumEiSumλ₁ + λ₂ + λ₃, the total variance
Eigen Values → EntropyEigenEntropyEigenentropy, 0 to ln 3

Advanced Attributes​

Dialog optionLayer writtenWhat it is
LinearityLinearity(λ₁ − λ₂)/λ₁, a fraction in [0,1]
PlanarityPlanarity(λ₂ − λ₃)/λ₁, a fraction in [0,1]
SphericitySphericityλ₃/λ₁, a fraction in [0,1]
Change of CurvatureChangeOfCurvatureλ₃/(λ₁ + λ₂ + λ₃)
OmnivarianceOmnivarianceCube root of the product of the eigenvalues
VerticalityVerticality0How vertical the local surface is
HorizontalityVerticality1How horizontal it is. The partner of Verticality, and easy to miss because both write a layer whose name begins Verticality
Absolute MomentsAbsoluteMoment0 … AbsoluteMoment5Six absolute moments of the local point distribution
Vertical MomentsVerticalMoment0, VerticalMoment1Two moments taken about the vertical
Colour MeanRColorMean, GColorMean, BColorMeanMean RGB of the neighbourhood
Colour VarianceRColorVariance, GColorVariance, BColorVarianceRGB variance — high where colour changes quickly, so it picks out boundaries
Mean ZMean ZMean elevation of the neighbourhood. Smoother than raw Elevation, so it reads through noise
Point SpacingPoint SpacingMean spacing between the neighbourhood's points — the local sampling density, in model units
Ground PlaneGround OffsetHeight above the estimated local ground plane, in model units

Plane Fit Quality​

Described in full under Plane Fit Quality above. Listed here for completeness, with the settings that drive them.

Dialog optionLayer writtenWhat it is
Tavani IndicesTavani Collinearity, Tavani CoplanarityThe plain eigenvalue ratios from Tavani et al. (2024)
GradeGrade0 rejected, 1 good, 2 excellent
Grade Collinearity Limit(setting)Reject above this collinearity. Default 100
Grade Coplanarity Limit(setting)Reject below this coplanarity. Default 2000
Robust Plane QualityRobust Plane QualityPass/fail after Jones et al. (2016)
Survey Precision(setting)Measurement precision, in model units. Default 0.032
Min Eigenvalue Ratio(setting)Smallest acceptable λ₂/λ₃. Default 10, 0 disables
Max RMS Residual(setting)Residual budget in model units. Default 0, which disables it

Orientation Quality has no tick-box of its own: it is written whenever both Colinearity and Coplanarity are selected.

Two names to know

The attribute list spells the layer Oriention Quality — the misspelling is in the software, not here, so search for it that way. And the point count is Observations in the dialog, not "Number of Points".

References​

Woodcock, N. H. (1977). Specification of fabric shapes using an eigenvalue method. Geological Society of America Bulletin, 88, 1231-1236. — the origin of the two eigenvalue ratios behind Colinearity and Coplanarity. https://doi.org/10.1130/0016-7606(1977)88%3C1231:SOFSUA%3E2.0.CO;2

Fernández, O. (2005). Obtaining a best fitting plane through 3D georeferenced data. Journal of Structural Geology, 27, 855-858. — applies Woodcock's ratios to plane fitting and proposes the M > 4 and K < 0.8 thresholds behind Orientation Quality. https://www.sciencedirect.com/science/article/abs/pii/S0191814105000143

Jones, R. R., Pearce, M. A., Jacquemyn, C., & Watson, F. E. (2016). Robust best-fit planes from geospatial data. Geosphere, 12(1), 196-202. — proposes the precision-based criteria behind Robust Plane Quality, as a replacement for Fernández's M and K. https://doi.org/10.1130/GES01247.1

Tavani, S., Corradetti, A., Rizzo, R. E., & Seers, T. D. (2024). Best practices towards the digitization of 3D traces from virtual outcrop models. Journal of Structural Geology, 186, 105222. — the source of Tavani Collinearity, Tavani Coplanarity and the Table 2 benchmarks behind Grade, and of the node-count and digitising-style checks applied to picked orientations. https://doi.org/10.1016/j.jsg.2024.105222

Weinmann, M., Jutzi, B., & Mallet, C. (2013). Feature relevance assessment for the semantic interpretation of 3D point cloud data. ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume II-5/W2, 313-318. https://www.isprs-ann-photogramm-remote-sens-spatial-inf-sci.net/II-5-W2/313/2013/isprsannals-II-5-W2-313-2013.pdf

Hackel, T., Wegner, J. D., & Schindler, K. (2016). Fast Semantic Segmentation of 3D Point Clouds with Strongly Varying Density. ISPRS Annual Congress of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Prague, Czech Republic, July 12-19, 2016. https://ethz.ch/content/dam/ethz/special-interest/baug/igp/photogrammetry-remote-sensing-dam/documents/pdf/timo-jan-isprs2016.pdf

Demantké, J., Mallet, C., David, N., & Vallet, B. (2012). Dimensionality based scale selection in 3D LiDAR point clouds. ISPRS - International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. http://recherche.ign.fr/labos/matis/pdf/articles_conf/2011/laserscanning2011_demantke_final.pdf

See also​

  • Charts, Histograms and Filtering — plotting an attribute's distribution, reading its statistics, and dragging the histogram to filter what the 3D view shows.
  • How good is the pick? — the same Tavani grading applied to an orientation you picked by hand, where the node count and the length of the trace count towards the score as well.
  • The Interpretation Spreadsheet — every column the polyline and orientation tables can show, including the same quality measures for a whole group at once.