DashboardProjectsMy drillholesManualWhitepaper

Manual

How to navigate the application, upload core photos, review the displayed results, and work with the interactive tools. For how the automatic detection and every computed number actually work under the hood, see the Whitepaper.

The views

DashboardEvery drill you have access to, with its progress, fracture count, FF and RQD badge. Sortable table or cards.
ProjectsGroups any number of drillholes under one client/site/campaign. A project's overview lists its drillholes with the same stats as the dashboard, plus SME QC activity totals summed across the whole project; its ▦ Strip view lays every drillhole out as one bar per hole on a shared RQD/TCR/FF axis, for comparing drills at a glance — click a bar to jump straight to that drill's core workspace.
Box viewOne drill as horizontal strips, one row per channel length of core (usually 1 m, but can vary by box), grouped by box — closest to how the core physically lies in the boxes. Each box links to its box report.
Core workspaceThe whole drill joined into one core, depth axis running to ground. Columns: core with marks · untouched original · RQD per 1 m · fractures per 1 m, plus sliding-window profile curves. Two zoom modes (see Controls) — vertical true-aspect core at higher zoom, horizontal one-row-per-channel at lower zoom for scanning a whole drill quickly.
➡ Strip diagramThe whole drill rotated 90° into one continuous horizontal strip — depth runs left→right, with RQD / TCR / fracture-count bars and their sliding-window curves underneath, all sharing the same depth scale. Built for scanning long stretches of a single drill at once. Click any bar to open the box report for the depth under it.
Box reportEverything about one box: all computed parameters, the interactive strip, fracture/rubble/missing-zone tables, SME QC activity totals for that box, and every related image needed for review against the original photo. This is also where rubble and missing-core zones are added/edited/resized — the core workspace and strip diagram show them but are read-only for zones.

Uploading photos

Under My drillholes, register a hole (just a hole ID is required — everything else can be filled in later) and upload its box photos. Each upload is staged for a per-photo decision before it enters the pipeline:

upload as-isThe photo already shows exactly one box, straight-on — send it straight to processing.
cropOpens the crop editor for photos that show multiple boxes in one frame, or a box shot at an angle. Click the four corners of one box (in order); the editor applies a full perspective correction so that box becomes a proper straight rectangle, not just a rotation — this also corrects real keystone distortion (the box looking wider on the near side than the far side), not only in-plane tilt. Repeat for each box visible in the same source photo, then finish to upload all the resulting straightened crops together. One unavoidable side effect: whichever side of the box was farther from the camera ends up mildly softer/less sharp in the result, since correcting real perspective stretches that side from fewer original pixels.
dry / wetRecorded per photo for reference; applies to every crop that comes from the same source image.

Controls

min confidenceHides fractures below the threshold and recomputes RQD/FF live. Lowering it shows more automatically detected candidates. Your own confirmations always stay visible.
show rejectedDisplays grey dashed candidates that were not accepted as fractures in the automatic pass. This is useful when checking questionable or heavily broken sections.
zoom (core workspace)Pixels per metre, 20–3000, with presets. Rendering is depth-true and aspect-true; zooming keeps the depth you are looking at. Higher zoom automatically loads sharper imagery. Up to 80 px/m the core shows as horizontal rows, one channel length wide (usually 1 m, but can vary by box) — each row running left→right at a fixed scale, the next starting where the previous ended — while the depth axis and the RQD / fractures-per-metre columns keep their vertical, depth-aligned positions next to them. From 500 px/m up it is the vertical true-aspect core; the 80–500 px/m mid-range (where the vertical core would be only a few px wide) is skipped automatically when zooming.
mouse wheel (core workspace)Scrolling the wheel over the core zooms in/out, anchored at the cursor — the depth under the pointer stays in place. The slider and presets stay in sync.
drag to depth (core workspace)Hold any mouse button and drag up/down over the core to move through depth, grab-and-drag like a map. A plain left click (without dragging) still opens the box report or fracture inspector, and a plain right-click still opens the normal context menu.
go to / depth chip / cursor readoutJump to any depth; the floating chip shows where you are while scrolling, and hovering the core shows the exact depth under your cursor (precise even in the horizontal, one-row-per-channel zoom mode — the row tells you which channel, your cursor position within it gives the exact depth).
alt+F5 (core workspace)Manually re-fetches fractures, rubble/missing zones, colors and RQD/FF/TCR without reloading the page — useful right after editing something on a box report open in another tab/window. The workspace also does this automatically whenever you switch back to its tab.
clicksFracture mark → inspector panel. Core (core workspace) or a bar (strip diagram, project strip view) → box report / that drill's workspace. Table row status → inspector. Step images → full resolution.
⬇ CSVDownloads all fractures (or rubble zones, or missing zones) of the drill with parameters, automatic status and your review verdicts under SME-terminology column names.

Reading the numbers

RQD classes: ■ ≥90 Excellent · ■ 75–90 Good · ■ 50–75 Fair · ■ 25–50 Poor · ■ <25 Very Poor. FF is fracture frequency (fractures per metre); mean spacing and the ISRM class derive from the same fracture depths. TCR is total core recovery. Exactly how each of these is computed — including how rubble and missing-core zones factor in — is in the Whitepaper.

Sliding profiles (core workspace, strip diagram): next to the 1 m bin columns/bars, the same metrics are drawn as curves computed on a 1 m window that slides in 10 cm steps — ten times the depth resolution, which reads much better at high zoom or over a long strip. Values react to the confidence slider and to your verdicts like everything else; gaps mean unprocessed core. Hover the curve for exact numbers.

Rubble zones (orange translucent bands) and missing-core zones (green) are geologically distinct from fractures and from each other, and are detected by a separate automatic pass — see the Whitepaper for the algorithm. Both count as 0% RQD over their span and both contribute the same fixed assumed fracture density to FF, and neither shows its own individual "fractures" (any the automatic pass finds inside one are hidden and excluded from every count — they aren't real discrete breaks). They differ only for TCR: rubble still counts as "recovered" (it's present, just broken), while missing-core zones — true absence of material — reduce TCR.

Confidence (0–1) reflects how strong the automatic detection's evidence is for that fracture. Higher means more likely to be real.

Flags: hatched bins = no processed box covers that depth. Orange-edged RQD bins = low reliability: many rejected candidates but few confirmed fractures, typical for crushed core where spacing-based RQD overestimates quality. In the box report, scale confidence indicates how reliable the depth calibration is for that box.

Reviewing & correcting (SME QA/QC)

Everything the pipeline finds — fractures, rubble zones, missing-core zones — starts out auto-detected · pending QC. An SME (Subject Matter Expert) then reviews it: confirm it, reject it, or add something the pipeline missed. That review is QA/QC — it's stored separately from the automatic result, so the original detection and the human correction are both always visible.

  1. Click a fracture mark (or a rubble/missing zone) → the inspector shows the detection's parameters and its current QC status.
  2. ✓ QC confirm or ✗ QC reject. Your verdict is stored next to the automatic result so the review history stays visible. A confirmed-then-rejected fracture mark turns gray — distinct from an unreviewed automatic candidate (orange, dashed).
  3. Missed something? Toggle edit fractures / ▤ edit rubble zones / ▤ edit missing zones (box report only for zones) and click (or drag) on the core at the right depth. Items you add carry source "SME"; rejecting one you added removes it again (with a confirmation, since that's permanent).
  4. All statistics (RQD, TCR, FF, counts, CSV) update immediately. SME-confirmed items ignore the confidence slider.
  5. Anything an SME has touched turns green (fractures) or gets a pink/magenta border (rubble/missing zones); open 🔎 Detailed view to show/hide any combination of SME-QC'd vs. automatic fractures/rubble/missing zones independently — e.g. SME-QC'd only, for reviewing your own edits, or just automatic rubble zones to sanity-check the raw detector. The rubble detection-profile chart (material width vs. core Ø, rubble score) also lives there — hidden by default.
  6. Every box report, and the whole-drill core workspace, show a running SME QC activity total (added · confirmed · rejected, per fracture/rubble/missing zone) — a log of review work done, not just the current state, so it still counts an item even if it was later removed again. Project overviews sum this across every drillhole in the project.

Accounts & sign-in

The app requires sign-in; every verdict and added fracture records who made it (shown in the inspector and the CSV). Accounts are created by the administrator: python -m app.users add <name>. Sessions last 30 days; sign out from the top bar.