Skip to main content
Version: 3.5 (unreleased)

Interpreting Photographs and Images

Some things are easier to see on a photograph than on a 3D model — a fracture network, a facies boundary, anything that reads as a pattern in the image. VRGS opens photographs and orthoimages in their own 2D Image view with a full interpretation toolset, and because the photographs are calibrated, what you draw there can be projected back onto the mesh.

Open a photograph by double-clicking it in the Data tree. The 2D Image ribbon tab appears.

Which tool for which job

You wantUse
To outline an object — a bed, a block, a clastSegment
Every fracture trace in the imageFracture
A trace between two points, following the rockImage Trace or Segmentation Trace
To draw a trace yourselfDraw Line
To colour regions by faciesPaint
To pull out linear features from texture aloneACO

Segment — Segment Anything

Segment runs the Segment Anything model over the image. Five ways to tell it what you want:

ModeHow you drive it
PointsClick inside the thing you want. Add more clicks to refine it, including negative clicks to push the boundary back out of somewhere it wrongly included.
RectangleDrag a box around the object.
Box (SAM 3)The same, run through SAM 3.
PromptType what you are looking for in words.
Automatic SegmentationSegment everything in the image, producing a complete set of masks with no prompting at all.

Settings puts the segmentation parameters into the properties panel.

Choosing the model

SAM 2 model on the ribbon picks the SAM 2.1 Hiera variant:

VariantSizeWhen
tiny~150 MBThe default. Fast, and adequate for well-defined objects.
small~600 MBA step up at modest cost.
base_plus~2 GBNoticeably better on ambiguous boundaries.
large~3.5 GBBest quality.

The choice is saved per project, and a variant downloads lazily the first time it is needed — so switching to large mid-session costs a download before the next encode, not immediately.

Use SAM 3 for Points routes ordinary point clicks through SAM 3 when it is loaded for the current image, falling back to SAM 2 silently when it is not. It is off by default.

SAM 3 needs a CUDA GPU

The SAM 3 paths — Prompt, Box (SAM 3) and SAM-3-for-points — require a CUDA-capable GPU. Without one VRGS says so and falls back to SAM 2 click segmentation. See AI & Machine Learning Requirements.

Segmenting in 3D as well

Entering Segment mode also arms point picking in the 3D view, so you can click the feature on the model and have the points reproject into the photograph. That is what makes a label consistent across several overlapping photographs rather than being re-guessed in each one.

Fracture detection

Fracture runs the fracture-detection model over the image and extracts fracture traces. Fracture (Hi-Res) runs it at higher resolution for fine or faint traces, at proportionally more cost.

The traces land in the same editable 2D line set the manual tools use, so everything in the next section applies to them.

2D Line Settings puts the extracted-line parameters into the properties panel.

For the full workflow, tuning recipes and diagnostics, see AI Fracture Mapping.

ACO — Ant Colony Optimisation

ACO is the classical alternative to the fracture model: it finds linear features from image texture with no trained model involved. Useful where the AI model has not seen anything like your rock, and as a cross-check. Settings exposes its parameters.

See the ACO guide.

Editing the extracted lines

Everything the automatic tools produce — and everything you draw by hand — forms one editable line set. These tools work on all of it:

ToolWhat it does
Select LineClick to select; Shift-click to add. Delete erases the selection.
Erase LineClick a line to delete it.
Erase VertexRemove a vertex; the line is dropped below two vertices.
Join SelectedChain the selected lines into one by their nearest endpoints.
Split LineClick an interior vertex to cut the line in two.
Move VertexDrag a vertex.
Insert VertexClick a segment to add a vertex at the nearest point on it.
Extend LineClick an endpoint, then digitise onward; double-click to finish.
Draw LinePlace vertices for a new trace; double-click to finish.

The two auto-trace tools

Both take a start click and an end click and route the trace between them for you. The difference is what they follow:

ToolFollowsNeeds
Segmentation TraceThe fracture-probability fieldFracture to have been run first
Image TraceThe image's own edge and colour gradientNothing — works on any image

Use Image Trace for a bedding contact or any boundary the eye can see; Segmentation Trace where the AI has already found the fracture and you just want it cleanly connected.

Both are tuned by Trace Settings on the Interpretation panel.

Auto-join and hysteresis

Right-click in the image view for two toggles worth knowing: Auto-join Fragments on Extract joins broken fragments during extraction, and Hysteresis Thresholding grows traces from strong seeds so a sub-threshold dip along a fracture does not split it in two. Both reduce the amount of joining you have to do by hand.

Painting facies labels

Rather than outlining regions, you can paint them:

ControlWhat it does
PaintPaint the active facies label onto the image with a brush.
EraseErase label pixels back to background.
Brush SizeBrush diameter in image pixels — a preset or a typed value.
Square BrushSquare footprint instead of round.
LabelThe active facies, with a button to create a new one.

This is the quickest route to a training set, and to a coarse facies map where precise boundaries are not the point.

Other interpretation tools

Wand selects connected pixels of similar colour or intensity from one click. Polyline and Polygon digitise annotations on the image. Erase Point and Move Point edit their vertices. Tape Measure measures distances on the image.

Image processing

The Image Processing panel applies filters to help you see what you are interpreting — they change the display, not the stored image:

  • Edge Detection, plus Vertical, Horizontal and Gabor variants for oriented features
  • Brightness / contrast
  • Contours — intensity contour lines over the image
  • Filter Width, Iterations and Blend control the kernel and how far the result is mixed with the original
  • Reset Image discards everything and restores the original

Graph plots pixel values along a profile, and Variogram computes one for the image or a selection.

Filter to see, not to interpret

An edge-detected view makes faint traces obvious. Trace them, then Reset Image — the interpretation is stored against the photograph, not against the filtered view.

Getting the result onto the 3D model

Because photographs are calibrated, a segmentation can be projected through the camera onto the mesh.

Right-click in the image view and choose Bake Labels to Mesh Texture. The labels are projected onto every mesh visible in that photograph and stored as an AI Classification attribute layer, which you can recolour and query like any other attribute. Repeating the bake after segmenting more photographs accumulates into the same layer rather than replacing it.

The entry is greyed out until the active photograph actually has a segmentation layer.

See Texture Attributes for what happens to the layer once it is on the mesh.

Display and navigation

Reset View, Zoom In, Zoom Out and Target Zoom on the Home panel; Flip and Rotate on the Display panel; and First / Previous / Next / Last on Navigate Images to step through the set.

Tips and troubleshooting

  • Segmentation is slow the first time. The image has to be encoded before any prompt can be answered. Later prompts on the same image are fast.
  • A prompt or SAM 3 box does nothing. Those paths need CUDA. VRGS reports the fallback rather than failing silently.
  • The mask keeps including the background. Add a negative point in the part you want excluded, rather than starting over.
  • Fracture traces come out fragmented. Turn on Hysteresis Thresholding and Auto-join Fragments on Extract, then re-run Extract. Join Selected cleans up what is left.
  • Bake Labels to Mesh Texture is greyed out. The photograph has no segmentation layer yet — segment something first.
  • Baked labels land in the wrong place on the mesh. The photograph's camera calibration is the projection; an unregistered photo cannot texture anything. Check the photograph is registered.

See also