Viewer navigation¶
Camera¶
| Action | Mouse | Trackpad |
|---|---|---|
| Orbit | Left-click drag | One-finger drag |
| Pan | Right-click drag, or ⌘/Ctrl + left drag | Two-finger drag |
| Zoom | Scroll wheel | Pinch |
| Zoom to selection | F (or the Zoom to Selection button) | Same |
| Fit everything | ⌘/Ctrl+0, or Reset View | Same |
The camera orbits around the scene origin — the red-and-white ring marker in the viewport. It starts laterally centered on everything you have loaded, at ground level (the bottom of the scene), since these scenes generally stand on the ground. Both are measured ignoring the outermost few percent of points, so neither a stray return beneath the terrain nor a halo of very distant ones — the kind a terrestrial scan always collects — can drag the pivot away from your data. Panning moves the view without moving that pivot, so you can pan off to one side and still turn about the same point.
Zoom goes wherever you point. The scroll wheel moves the camera toward whatever surface is under the mouse cursor, so the point you are pointing at stays put on screen while everything else expands around it. Point at a branch on the far side of a plot and scroll, and you fly to that branch — no panning required. Zoom stops just short of the surface you are approaching rather than passing through it, so you can push in as close as you like. This works the same while a tool is open — the crop box, the erase brush and the transform gizmos are drawn on top of your data but are never what the camera flies to.
Because zoom follows the cursor, the origin is only the point you orbit around — it does not pull the zoom toward itself. Anywhere you can see, you can zoom to.
A continuous scroll keeps flying at whatever you first aimed at, so a long burst closes on that one spot smoothly instead of wandering between surfaces as the view changes. Pausing, moving the pointer somewhere else, or reversing direction starts a fresh gesture and picks a new target.
How close and how far you can zoom is scaled to the size of your scene, so the same scroll gesture feels right on a single potted plant and on a 400-meter plot. A few stray far-away points do not affect it.
Panning is zoom-dependent. The closer you are, the finer a drag moves the view — a drag always covers about the same fraction of the screen, so panning tracks your cursor whether you are surveying a whole plot or inspecting a single leaf.
To orbit around something else, move the origin: open Set Scene Origin and click a point on a surface (click-to-place is armed as soon as the panel opens), type coordinates, snap it to the selected cloud, or snap it to one of the scanner positions in the scene. You can also click the marker's ring and drag the arrow gizmo — turn Pick in viewport off first so the click reaches the marker. Zoom to origin in that panel flies the camera to the origin without changing your viewing angle — handy after typing in coordinates. See Setting the scene origin.
Zoom to Selection vs. Reset Camera¶
Two camera commands reframe the view, and they differ in what they fit and whether they change your viewing angle:
- Zoom to Selection fits the currently selected cloud(s), mesh, skeleton, QSM, or scan to the viewport while keeping your current orbit angle — it only re-centers and re-zooms, so the scene doesn't rotate. This works for a scan even before it has data: a selected scanner marker or moving-platform trajectory is framed by its position (the whole trajectory path, for a moving scan). This is the fast way to focus on one object in a crowded scene. Available three ways: press F, click Zoom to Selection in the Snap View panel (top-left), or View → Fit to Selection (⌘/Ctrl+9) in the menu bar. The button is disabled when nothing is selected; the menu command falls back to fitting everything in that case.
- Reset Camera (Fit All) fits all content from the default isometric angle — it both reframes the whole scene and resets the orbit orientation, so use it to get un-lost. Available as the Reset View (home) button top-left, or View → Reset Camera (Fit All) (⌘/Ctrl+0).
Snap to a canonical view¶
The Snap View panel in the top-left rotates the camera to standard orthographic and isometric views:
- Front, Back, Left, Right — looking along the X or Y axis
- Top, Bottom — looking along Z
- Isometric — the default 3/4 angle
These buttons only reorient — they rotate the camera to look down the requested axis while keeping your current orbit target and zoom level, so the scene doesn't jump closer or farther. To reframe, use Reset View (fit everything) or Zoom to Selection. After snapping you can still orbit; the snap doesn't lock the camera.
The orientation gizmo in the bottom-left corner (the red/green/blue X-Y-Z widget) does the same thing: click an axis head to look straight down that world axis, preserving your current target and zoom.
Show or hide the grid and axes¶
In the right-side properties panel, toggle:
- Grid — a reference grid on the ground plane. Its cell size adapts as you zoom, stepping through round values (…10 cm, 20 cm, 50 cm, 1 m, 2 m, 5 m…) with a heavier line every fifth cell, so it stays readable at any scale.
- Axes — the bottom-left orientation gizmo. On by default; turn it off to clear the corner.
- Scan markers — the scanner position markers in the 3D view.
- Origin marker — the red-and-white ring that marks the scene origin. Unchecking it hides the marker (and its gizmo); the pivot itself is unchanged. It stays hidden on an empty viewport regardless, so it never covers the import prompt.
The orientation gizmo in the bottom-left corner (red = X, green = Y, blue = Z) always tracks the current camera orientation; click its axis heads to snap the view as described above.
Isolate one object¶
Each row in the Scans, Meshes, and Skeletons panels has an eye icon that toggles just that entry.
To isolate one object quickly, use the list header's bulk controls:
- Click the header's eye button with nothing selected — if anything is visible it hides them all.
- Click the one entry's own eye icon to bring it back.
The header eye also respects a selection: with rows selected it acts on just those ("hide the 3 selected scans") instead of the whole list.
Change color modes¶
Use the Color by dropdown in the Display panel. It is global — it applies to every cloud at once, not per scan:
- Per-scan color — default; each cloud in its own swatch color
- Z Axis (Height) — good for scans with vertical structure
- X Axis / Y Axis — useful for horizontal stripes (not offered for octree-streamed clouds)
- Intensity — for LiDAR scans that carry intensity
- RGB — original per-point color from the file
- Solid Color — one flat color for everything
- Scalar Field — any custom scalar present in the file
See Color modes for when each is most useful.
Inspect a point¶
Coloring by a scalar tells you how a value varies across the cloud; the Pick & Measure tool tells you what it is at one point — and how far apart two of them are.
The tool has four modes, selected in its panel. Inspect is the default and is described here; the three measurement modes are covered in Measure distances and angles below.
- Click Pick & Measure in the view controls at the top of the left column (or find it in the command palette / Tools → Pick & Measure). The cursor becomes a crosshair.
- Click a point. A label appears, tethered to it by a dashed leader line,
listing:
- the scan the point came from,
- its X / Y / Z, and
- every scalar attribute it carries — intensity, color, imported columns
such as reflectance or deviation, and classification labels like
ground_classorwood_classresolved to their names (e.g.2 (Non-ground)).
- Keep clicking to label as many points as you like. Labels stay pinned to their points as you orbit, and shuffle out of each other's way when the points are close together.
No selection is needed — the tool picks whatever cloud is visible under the cursor.
Coordinates on a shifted cloud
If you enabled a global shift when importing (offered automatically for projected/UTM coordinates), each label shows two columns: the world coordinate, which matches your source file, and the local coordinate in parentheses, which is the smaller number Phytograph works in internally. Clouds without a shift show a single column.
Sky/miss points — laser pulses that returned nothing — are never picked, so you can leave the miss overlay on while inspecting real returns.
To copy the numbers out, use the copy icon on a label for that one point, or Copy all (CSV) in the panel for every label at once. Dismiss a single label with its ✕, or clear them all from the panel.
Labels are annotations, not scene objects: they aren't saved and aren't part of undo. If you move the cloud they point at — a translate or a rotation — they travel with it, staying pinned to the same physical point. If the cloud's geometry is rebuilt instead — a crop applied, points erased or filtered, a re-bake — the labels on it are dropped, because the point a label named may no longer exist and a label can never be allowed to quietly point at the wrong place.
Measure distances and angles¶
The same tool measures between points. Pick a mode in its panel, then click points in the viewport; every vertex snaps to a real point in the cloud, so a measurement is always between things you actually scanned.
- Distance — click two points. The readout gives the straight-line distance plus its ΔX / ΔY / ΔZ components.
- Path — click as many points as you like and press ++enter++ to finish. The readout gives the total length and each segment's length.
- Angle — click three points. The angle is measured at the second one, between the two arms, along with each arm's length.
While you are placing a measurement:
- Each vertex you place — starting with the first click — appears as an amber dot, joined to the next by a line, so you can see where every click landed.
- ++backspace++ removes the last vertex you placed.
- ++escape++ abandons the measurement in progress but leaves the tool armed; press it again to disarm.
Finished measurements stay on screen as you orbit, drawn as lines with a labeled readout. Copy one with its copy icon, or every measurement at once with Copy all (CSV) — the CSV carries each measurement's value and its vertex coordinates, so the number can be re-derived from the file alone. Delete one with its ✕, or clear them all from the panel.
Switching modes keeps what you have already placed, so inspect labels and measurements can sit on screen together. Measurements follow the same move-with-the-cloud and drop-on-rebuild rules as inspect labels.
Units
Measurements are reported in meters. Every scan is converted to meters at import — a file that declares another unit (a LAS in US survey feet, say) is scaled on the way in, and a format that cannot declare one is asked in the import wizard. See Source units.
Adjust point size and colormap¶
The right panel has:
- Point size slider — small for large clouds, larger for sparse ones.
- Colormap selector — viridis (default), plasma, inferno, magma, turbo, jet, coolwarm, grayscale. Applies when coloring by any scalar (height, intensity, scalar field).
Command palette¶
Press ⌘+K (macOS) or Ctrl+K (Windows) to search across every feature by name. Faster than hunting through toolbar buttons.