Getting started
Opening a raster
Toolbar folder glyph · File ▸ Open
The two do different things, deliberately. The toolbar's folder
means “bring this into the image I am looking at”: one raster becomes a
layer over the current image, and several ask whether to layer them or combine
them into one all-band image. File ▸ Open makes a new window
instead. Files can also be dragged onto the window.
A satellite product - Landsat MTL, Sentinel-2 SAFE,
Maxar IMD/RPB, Airbus DIMAP, NITF - always opens its own window, because it is a
multi-band stack with an import plan rather than something to overlay. A raster
that cannot be aligned with the current image also opens its own window rather
than reporting a failure with nowhere to go.
What happens on open, and what does not
Automatic
Nothing is corrected on load. The default stretch is Original - the band's full
range - and no calibration, mask or resampling is applied. The catalogue reports
what conversions the delivery offers; applying one stays an explicit act.
A raster without overview pyramids still opens
instantly, streaming from full resolution. A non-modal banner offers to build a
compressed sidecar in the background, with a remember-my-choice option. Nothing is
written beside your data without consent.
Splitting a stack into separate layers
Right-click a raster in Layers ▸ Split Bands into Layers
Turns a multi-band stack into one layer per chosen band, which is what to use when
bands need separate display settings or separate processing. The inverse - several
single-band files into one image - is the Combine prompt that appears when opening
several rasters at once.
The window
The Layers sidebar
Left sidebar glyph in the toolbar
Every raster, vector overlay, polygon and annotation layer in one drag-reorderable
stack, each with a visibility toggle and an opacity slider. The base raster is a
member of that stack, not a floor under it, so a layer can sit
below it. Clicking a layer's name makes it the active layer - the target for
processing, for the Bands panel and for the readout - marked with an amber scope
glyph. Right-click for Rename, Remove, Save As GeoTIFF, Copy, Open in New Window,
Use as Processing Region and Relief Shading.
The Info inspector
Inspector ▸ Info
Categories covering georeferencing (CRS, pixel and ground size in the CRS's own
units), sensor identity and the resolved calibration profile, acquisition date and
sun geometry, the composite's source file and band for each slot, applied display
geometry such as crop and rotation, raw metadata, and a System category showing the
GPU, memory gauges and streaming state.
Rulers, scale and readout
Ruler glyph in the toolbar · the footer bar
The footer is the instrument panel: cursor coordinate, pixel values, display scale
as a percentage where 100 % is 1:1, the scale bar, and an SDR/HDR badge with the
display's EDR headroom. Right-clicking the map copies the clicked coordinate as
signed decimal degrees. Rulers draw along the top and left edges and switch off
while the image is rotated, because a ruler labels one axis along a screen edge and
that is only true while the two are parallel.
Crop
Crop glyph in the toolbar
Drag a rectangle over the active layer to keep; Shift squares it. The marquee snaps
outward to whole pixels of the layer being cut, so a marquee dragged around
something keeps everything it enclosed. Cropping again intersects with the existing
window rather than replacing it. It is display geometry - no sample is discarded,
⌘Z undoes it - and it carries through to a GeoTIFF export as a source window, so the
written pixels are the file's own.
Rotate
Rotate glyph in the toolbar
Drag the dial to turn the active layer to any angle, 0 to 359 degrees clockwise. No
pixel is resampled. Rotating the base raster turns document-pixel space itself, so
polygons, imported vectors and annotations follow the imagery they were placed on,
and Info states the offset from the source in the file's own pixels.
Comparing two rasters
Split-rectangle glyph in the toolbar
The base document is A and any added or derived raster is B. Four modes: fixed side
by side, a draggable swipe, a linear A/B blend, and timed flicker. All are
display-only and isolate A and B from the rest of the stack. Pressing the glyph
again stops comparing.
Separately, up to four named view groups link camera,
zoom and crosshair across windows, using geographic coordinates where both datasets
have a CRS and normalised image coordinates where they do not.
Notes and callouts
Speech-bubble glyph in the toolbar
Clicking the image drops a callout: a dot pinned to that pixel and a text box
standing off from it, joined by a leader line. The dot is held in image pixels so it
stays on its feature through pan and zoom, while the box keeps one readable size at
every zoom - so the distance between them is not a ground measurement. Selecting a
callout shows a style bar with five colours: box outline, box fill, line and dot,
text, and a highlight behind it.
Callouts burn into a rendered PNG or HEIC export
and are deliberately absent from a GeoTIFF, which writes measurements. They live in
memory and are not saved with the file.
Bands & display
Choosing which bands are Red, Green and Blue
Inspector ▸ Bands ▸ Composite
One row per band. Each row's three dots put that band in the red, green or blue
channel, and clicking what the row says the band is lets you correct or supply it.
Above the list, presets - True colour, Colour infrared, SWIR, Agriculture, Geology -
each drawn as a small spectrum showing where its three bands sit; a preset whose
bands the image lacks draws them hollow rather than being greyed out with no reason.
Where bands state their wavelengths there is a spectrum strip whose R, G and B
markers drag along it, or step band by band with the arrow keys.
All of it acts on the active layer - the one marked
with the amber scope glyph in the Layers sidebar.
Display stretch and contrast
Inspector ▸ Bands ▸ Stretch
Original (full range), percentile clip, manual low/high, and empirical-CDF histogram
equalisation, each with gamma. The default when an image opens is Original.
Stretch is a display exposure only. It
never changes stored values, and processing jobs, band maths and the GeoTIFF export
all read source samples regardless of what the screen is showing. The one way to get
the curve into a raster is to ask for it by name: Processing ▸ Radiometry ▸ Apply
Display Tone Curves, which writes a new file and labels it as display intensities
rather than radiometry.
Histogram
Inspector ▸ Bands ▸ Histogram
Bins the shown bands over one shared domain so the channels can be compared. Scope
switches between the viewport and the whole image. For integer data a bin is a whole
number of values wide, so a gap means no pixel holds that value rather than no value
could land there, and the bars are drawn as steps because a histogram is a count over
a range, not a sample at a point.
Relief shading a DEM
Right-click an elevation layer ▸ Relief Shading…
Offered when the layer is recognised as an elevation model. An illumination dial -
the handle is the sun's position on the sky dome seen from above, centre overhead,
rim at the horizon - with vertical exaggeration, multi-directional light, cast
shadows, skylight, and a hypsometric, slope or aspect tint over any colormap. A live
thumbnail follows every control; the full-resolution pass runs only on Apply.
The shading is display-only and is deliberately not
exportable as a raster. The measurement is Processing ▸ Analysis ▸ Slope.
Raster expression, drawn live
Inspector ▸ Bands ▸ Raster expression
Compiles the same expression language as Band Math to a Metal shader at runtime and
draws the raster you are on as it, false-coloured through a colormap with a legend.
Display only, no file. Use it when what you want is a look rather than a layer.
Radiometry
Radiometric Calibration
Processing ▸ Radiometry ▸ Radiometric Calibration…
Materialises the provider's own calibration equations - the ones the delivery
publishes - turning digital numbers into radiance, reflectance or brightness
temperature. Scale and offset in both conventions, solar-elevation reflectance,
Planck brightness temperature, Sentinel quantification, Maxar gain and bandwidth,
DIMAP divisor gain, and lookup tables. Per-band quantity, units, equation and
coefficient provenance are written into the result and shown in Info.
Only the operations you tick are applied, and
nothing is clipped, stretched or masked afterwards. A fill value or an out-of-range
input becomes NaN rather than a plausible number.
Atmospheric Correction · Dark Object
Processing ▸ Radiometry ▸ Atmospheric Correction…
Estimates the atmospheric path radiance from the darkest pixels in each band and
subtracts it. The scene percentile, the bounded estimation sample and whether
negatives are clamped are all yours to set. The output identifies the estimated dark
value and states explicitly that no mask was applied.
This is DOS, not 6S. It assumes somewhere in the
scene is genuinely black in every band, which over a bright arid scene or a small
subset is often false. Full radiative-transfer correction is not implemented and is
not claimed.
Apply Display Tone Curves
Processing ▸ Radiometry ▸ Apply Display Tone Curves…
Writes the tone curves you are looking through into a new raster. Every display
channel is put through its own curve - stretch, levels, curve, histogram
equalisation, decibel, whatever is in force - and the result is written as a
georeferenced GeoTIFF at full bit depth, either in the source's own data type over
that type's whole range or as Float32 from 0 to 1. The curve is evaluated per
sample rather than read from the 4096-entry table the shader samples, so the file
is finer than the screen was.
The result is not radiometry
and cannot be treated as any. A tone curve clips at both ends and is not
invertible, so calibration, band maths, spectral indices and any physical quantity
computed from these numbers are meaningless - the measurements stay in the source,
which the output names. The file says so in its own metadata as well, and in a
per-band description ending “(not radiometry)”. Where a contributing
band declares nodata and the output is an integer type, zero is reserved for it and
the tone occupies one level less, because an integer band cannot hold NaN and
absent ground reading as legitimate black is the one confusion worth a level.
Export as GeoTIFF writes the source's own samples
and merely records the curve beside them; the rendered exports - PNG, HEIC,
OpenEXR - apply it but produce a picture with no georeferencing. This is the middle
case: the curve applied, the raster kept.
Topographic Correction
Processing ▸ Radiometry ▸ Topographic Correction…
Removes the brightness difference between slopes facing the sun and slopes facing
away, so reflectance can be compared across terrain. SCS+C, C-correction, Minnaert
with the constant fitted per band, and the statistical-empirical rotation. Sun zenith
and azimuth are auto-filled from acquisition metadata where the product states them,
and are editable otherwise. Slope and aspect come from a Horn 3 × 3 operator.
Needs a DEM covering the scene on its own grid.
A correction fitted where the DEM does not reach is not applied there, and the report
says how much of the scene was covered. It refuses to correct a DEM against itself,
and reports rather than silently doing nothing when the DEM is flat or does not
overlap.
Geometry
Reproject
Processing ▸ Reproject…
Resamples the raster onto a different coordinate reference system, writing a new file
on the target grid. Every pixel is interpolated, so the output is a new set of
measurements rather than the same ones relabelled. The result opens as a new document.
Choose the resampling kernel by what the pixels
mean: nearest for a classification or any thematic raster, because averaging class
numbers produces classes that are not in the legend.
A layer in another CRS is already drawn in place -
reproject when you need a file on the target grid, not to see it.
Resample to Match Layer
Processing ▸ Geometry ▸ Resample to Match Layer…
Warps this raster onto another loaded raster's exact grid - same CRS, same extent,
same pixel size - so the two can be compared or differenced cell for cell. Nearest,
bilinear, cubic, cubic-spline, Lanczos, average or mode, chosen explicitly.
Nearest for thematic data. Resampling a 30 m DEM
to 10 m adds no detail: it makes the grids match and nothing else.
Subset Bands / Extent
Processing ▸ Geometry ▸ Subset Bands / Extent…
Takes a spectral selection, a rectangular window, or both, and writes them out without
interpolating anything. Bands keep their source order and their values are the file's
own.
An irregular area is the polygon Clip command.
Ground Control Points
Processing ▸ Geometry ▸ Ground Control Points…
Fits a transform from points whose position you know in both images - affine, second-
or third-order polynomial, or thin-plate spline - and warps the raster through it. Two
images, one map: the subject is the active layer and the reference is whatever is
already correctly placed beneath it, so each point is one feature clicked twice.
Read the leave-one-out RMSE, not the in-sample
one. A third-order polynomial through ten points has an in-sample residual near zero
and can be wildly wrong between them; only the held-out figure shows it.
Three commands align imagery and they are not
interchangeable. Co-registration measures a whole-image shift
automatically and corrects nothing else - reach for it first, because it costs no
clicks and it is what most misalignment is. Ground control handles
what a shift cannot: rotation, scale and local distortion, at the cost of placing
points by hand. Orthorectification is a different problem again.
Image-to-Image Co-registration
Processing ▸ Geometry ▸ Image-to-Image Co-registration…
Aligns this raster to a reference by measuring the shift between them with GPU phase
correlation, then warping once onto the reference's grid. Reports RMSE and peak ratio
before and after.
Translation only. A residual rotation or scale is
not corrected and will show as a shift that varies across the scene.
Orthorectification
Processing ▸ Geometry ▸ Orthorectification…
Removes the terrain displacement in an image taken at an angle, using the sensor model
the delivery carries - RPC or ground control points - together with a DEM. Target CRS,
pixel size, interpolation and maximum transformer error are all explicit.
Displacement is height times the tangent of the
view angle: at 27° off nadir a 1000 m hill moves its ground point about 510 m. Over
flat ground this changes very little; over the Southern Alps it changes everything.
RPCs arrive with the delivery and cannot be made
here. Ground control can - and note that ground control plus a DEM is a genuine
orthorectification, while ground control alone only warps the image flat.
Pan-sharpen / Fuse
Processing ▸ Geometry ▸ Pan-sharpen / Fuse…
Injects the detail of a higher-resolution guide band into coarser bands, so a
multispectral scene takes the sharpness of its panchromatic one while keeping its
colour relationships. Methods are SFIM, Brovey, GSA and MTF-GLP-HPM. A standard step
before segmentation, object-based classification and any work where the boundary
matters more than the pixel.
Spectral fidelity is a property of the
method, not of the idea. MTF-matched and GSA degrade the guide through
the sensor's own response before injecting it, which is what keeps the fused values
consistent with the source - aggregate the result back to the coarse grid and it should
reproduce the input. A plain component substitution does not hold that nearly as well.
Where a figure has to be defensible per pixel, compute it on the source bands and use
the fused product for the geometry.
Only layers finer on the ground than this one are
offered as a guide. Detail cannot be injected from a grid that does not have it.
Filters
Destripe
Processing ▸ Destripe…
Removes the periodic banding a pushbroom sensor's detector array leaves, by notching
that frequency out of the Fourier transform or by subtracting a row or column profile.
Stripe direction, centre frequency and bandwidth are all stated rather than inferred.
It cannot tell a levelling error from a real
feature running the same way. Over ground with genuine linear structure - field
boundaries, ridges - check what it removed.
Low-pass
Processing ▸ Low-pass…
Smooths the image by suppressing high spatial frequencies, either through a GPU FFT
or by an Accelerate Gaussian convolution.
High-pass
Processing ▸ High-pass…
Keeps the fine detail and removes the broad brightness variation, either as the bare
residual or added back as sharpening with an amount you enter.
A bare residual is a signed difference centred on
zero, not a reflectance. It declares its own value space so it displays correctly, but
it is not comparable with the source's units.
Sharpen
Processing ▸ Sharpen…
Enhances local contrast, by unsharp masking, by guided filtering - which preserves
edges rather than haloing them - or by Richardson–Lucy deconvolution against a Gaussian
point spread function.
Display-scale enhancement. Values move by amounts
that have no physical meaning, so nothing downstream should treat the output as
radiance or reflectance.
Mosaic
Mosaicking
Processing ▸ Mosaicking… · Layers ▸ Combine Rasters into One Image
Joins several rasters into one, choosing the output grid, where the seam runs between
overlapping scenes, and how they are blended across it. Two seam solvers: least-cost
path routed through pinned waypoints, and graph cut, which can isolate an island. Four
join modes: hard, feathered with a linear or cosine ramp, distance-weighted, and
seamless multi-band Laplacian. A live preview composites on a decimated grid and the
seam can be edited by hand.
Hard blending leaves values untouched; feathered,
weighted and multi-band blending all rewrite pixels near the seam, and radiometric
balancing rewrites whole scenes. The default does neither.
Normalise to Reference
Processing ▸ Mosaic ▸ Normalise to Reference…
Brings one raster onto another's radiometric scale - by histogram specification,
linear optimal transport matching mean and full covariance, global regression, LIRRN,
or IR-MAD - so two dates or two sensors can be compared.
This is a value transformation, and it is the step
that makes change detection meaningful or meaningless. Regression and IR-MAD compare
co-located pixels and need the same grid; the others do not.
Analysis
Band Math
Processing ▸ Analysis ▸ Band Math…
Combines this raster's bands into one new layer - a named index resolved from its
spectral roles, or an expression you write. Presets cover NDVI, NDWI, NDMI, NBR, NDSI,
NDRE and tasseled-cap brightness, greenness and wetness, resolved against whatever
bands the image actually carries. A custom expression takes an arbitrary formula in
b1…bN with arithmetic, comparison, logical and bitwise
operators, conditionals, clamp, min and max, logarithms and QA bit extraction.
Evaluated over the raw samples, so the result is a measurement rather than a picture
of one.
An index is only as good as the roles behind it.
NDVI is computed from whichever bands are named NIR and Red in Bands ▸ Composite, and
on a stack whose roles are wrong it produces a smooth, plausible surface of the wrong
two bands.
Band Statistics
Processing ▸ Analysis ▸ Band Statistics…
Mean, standard deviation, minimum, maximum and optional percentiles per band, over the
whole image or a chosen region.
Percentiles state their own resolution: exact for
integer data in a modest range, and an honest bin width for float data.
Zonal Statistics
Processing ▸ Analysis ▸ Zonal Statistics…
The same statistics, per polygon, in a single pass over the raster however many zones
there are. A pixel belongs to a zone when its centre falls inside.
An empty zone keeps its row with a count of zero
rather than disappearing - a table quietly shorter than the layer it came from is the
thing nobody notices.
Principal Components / MNF
Processing ▸ Analysis ▸ Principal Components / MNF…
Principal components, or the minimum noise fraction, which is PCA after whitening
against an estimate of the noise. Both write one band per component.
MNF's eigenvalues are noise-adjusted, so they
report signal-to-noise rather than variance explained. The two are different numbers
and only one of them means “how much of the scene is in this component”.
Change Detection
Processing ▸ Analysis ▸ Change Detection…
Compares two dates and reports both the classes and the continuous surface behind them:
differencing, log-ratio for radar, index difference including dNBR burn severity, or
IR-MAD's no-change probability as the threshold.
Change detection between scenes that were not
radiometrically normalised measures the atmosphere as much as the ground. The panel
requires you to state what was done, because a product that does not say gets
believed.
Every method compares co-located pixels, so the two
dates have to be on the same grid - same size, CRS and pixel size. Resample to Match
Layer, or Co-register, first.
DEM of Difference
Processing ▸ Analysis ▸ DEM of Difference…
Differences two epochs of terrain and reports the volume of soil lost and gained, with
the uncertainty that makes the figure defensible: a level of detection measured from
ground you mark as stable, a probability of real change per cell, and a
spatial-coherence pass that keeps a coherent patch of marginal cells and drops isolated
spikes.
The co-registration is a check,
not a correction, and it stays off. A rigid correction removes a constant vertical
offset - and real uniform soil loss is a constant vertical offset - so on epochs tied to
shared ground control it deletes exactly the change being measured and reports near
zero.
A susceptibility model says where erosion can
happen; this says where it did, over one interval. Two dry years read as no erosion and
a single storm between flights reads as catastrophic, so the product carries both dates
and is per year only if somebody asked for it to be.
InSAR Displacement
Processing ▸ Analysis ▸ InSAR Displacement…
Turns a geocoded unwrapped interferogram into displacement, in metres, with the
coherence that says which of it is a measurement. Millimetre precision at 30–80 m
posting, so it resolves slow motion - creep, subsidence, a slope moving before it fails.
It is blind exactly where the surface was
disturbed: erosion rearranges the scatterers the phase is measured from, coherence falls
to zero and the cell is withheld - the hole is the evidence, not a gap in coverage. It
also measures range change along one line of sight, not elevation
change, and projecting that onto the vertical assumes the ground moved straight up or
down.
The complement to a DEM of Difference rather than a
finer version of one. Used together, this says where to look and the DoD says what it
cost.
Slope
Processing ▸ Analysis ▸ Slope…
Writes the steepness of an elevation model as a raster, in degrees, percent or rise over
run, optionally with the downslope bearing beside it. Horn's 3 × 3 kernel - the same one
the relief shading and the topographic correction use, so a slope class and a hillshade
cannot disagree about the same cell. Flat ground gets no aspect rather than a bearing of
north.
A slope is a height over a ground distance, and
most DEMs state only the second. Where nothing declares a vertical unit the heights are
taken as metres and the panel says so - a DEM in feet read as metres comes out 3.28 times
too steep, which is rolling country reported as steep, and it fails in no way at all.
Reclassify
Processing ▸ Analysis ▸ Reclassify…
Turns one band of continuous measurements into named classes by a table of breaks,
writing a class raster with an attribute table. The band's own distribution is drawn
behind the breaks, because where they fall is the whole of what the output says and a
threshold typed with nothing behind it is chosen blind.
A value outside every class is left
unclassified, never pushed into the nearest one. Clamping would let a
top break typed as 3.6 instead of 36 report a whole property as the steepest class,
complete and confident, with no gap anywhere to notice. Each class runs up to but not
including the next, so a value on a break belongs to exactly one.
Land Resource Inventory
Processing ▸ Analysis ▸ Land Resource Inventory…
The New Zealand Land Use Capability system. Intersects up to five factor layers - rock
type, soil, slope, erosion, vegetation - into inventory units, sieves them to a minimum
mappable area, and looks each combination up in an editable rule table. The output is a
unit map with a full attribute table: every unit's factor codes, its area, its LUC class
1 to 8 with its e/w/s/c subclass, and where each of its five statements came from.
The class comes from the most
limiting factor, not an average - good drainage cannot compensate for a 30 degree
slope. Soil, slope and vegetation are required; without one the units are mapped and left
unclassified rather than classified optimistically. A severity of 0, meaning somebody
looked and found nothing, is kept quite separate from nobody having looked.
It is labelled a draft. The rule table automates the
bookkeeping, not the judgement, and error compounds across an intersection rather than
averaging - no unit is more reliable than its worst factor, which is why the provenance
is on every row.
Proximal survey
Importing a proximal soil survey
File ▸ Import Proximal Survey…
Reads a towed electromagnetic-induction logger file and produces three georeferenced
products in one window: a point raster of what was measured, an interpolated surface per
channel, and optionally an inverted conductivity-against-depth stack. The panel is a
stack of stages rather than a wizard - every filter is a row that switches off, the
pipeline re-runs on any change, and excluded records stay visible in grey so you can see
where a filter bites. Stages run in order: parse and project, acquisition geometry,
motion filter, range filter, ferrous interference, along-track despike, rolling mean,
GNSS latency, sensor offset, instrument drift, temperature standardisation, and
calibration against reference profiles.
Nothing is guessed. An unrecognised instrument gets
no operating frequency and no height, and the stages that need them say so rather than
substituting a plausible figure.
Plan Soil Pits
Processing ▸ Plan Soil Pits…
Takes a logger export and produces a ranked soil-pit plan: it grids the survey, inverts
it, groups the ground into management zones and sites the pits, as one act. The three
purposes are kept apart and a site never carries two - calibration wants ordinary
ground, training wants unbiased coverage, and a diagnostic pit wants the anomalies.
The plan is a ranked list rather than a set,
because the budget shrinks in the field. Cutting it from the bottom leaves a usable set
of each role, and the panel says what stopping at any depth would leave - below five
calibration references the survey will not calibrate at all.
The zones survive calibration exactly, which is what
lets the pits be sited today and the laboratory results arrive weeks later.
Substrate Units
Processing ▸ Substrate Units…
Groups the inverted survey into substrate units and draws them as polygons. It clusters
the whole column - log conductivity per layer, plus where the profile
steps and by how much - rather than a depth slice, because two places can have identical
shallow readings and completely different profiles, and it is the profile that decides
rooting depth and drainage.
It segments first, then clusters the segments.
Clustering the raster and polygonising afterwards produces isolated pixels and incoherent
units, because nothing in a clustering knows about space. The supercell count and the
compactness are your conceptual model of the landscape, not quantities the data
optimises - which is why they have a live preview.
Unlike the field pass's management zones, these are
not invariant to calibration: they come from the inversion, so their boundaries move when
the laboratory results land. Re-run once the survey is calibrated.
Sounding Posterior
Processing ▸ Sounding Posterior…
Samples the posterior distribution of the layered model under one sounding, so the width
of each layer's interval says how well these coils actually constrain it. Click a cell on
the map to choose the sounding and set how many layers to ask the readings to support.
Past a factor of ten, the data do not resolve that layer at all, however confident a
single-model inversion looks.
One sounding at a time, deliberately - a
survey-wide sampler is tens of thousands of correlated parameters and mixes in no useful
time. Invert the survey first, then sample the few soundings a decision rests on.
Rank Substrate Units
Processing ▸ Rank Substrate Units…
Turns substrate units into a Land Resource Inventory factor layer. Each unit is listed
with the evidence it was built from - the depth of its strongest conductivity step, its
layer conductivities, its area and how confidently it was assigned - and you give each one
a class from the handbook's own coding.
Nothing here proposes a severity. The same contrast
depth is a severe limitation on one property and a moderate one on the next, which is a
judgement about the country rather than about the numbers. A unit left unranked comes out
unclassified rather than benign.
Downloading data
Searching public archives
File ▸ Import from Earth Search… (⇧⌘I)
Searches by area, date window and cloud cover, then downloads the chosen bands as a
tracked job. Four sources: Earth Search on AWS, Microsoft Planetary Computer, CNES
GEODES and LINZ. Landsat is free on Planetary Computer and requester-pays on Earth
Search; GEODES needs a free API key for downloads but not for searching. MODIS is on
Planetary Computer only, grouped under Reflectance, Vegetation, Temperature and fire,
and Snow and ice - it arrives on the sinusoidal grid, so Reproject is usually needed
before combining it with a UTM or NZTM scene.
The area is picked on a built-in world map or seeded from
the current raster's extent. Bands on different native grids are assembled as separate
stacks and never resampled together, and a file already on disk is not fetched
again.
New Zealand imagery and elevation from LINZ
Import panel ▸ Source ▸ LINZ (Aotearoa / New Zealand)
LINZ publishes a static catalogue rather than a search service, so this source is
selected by map sheet instead of by a dragged box. The world map becomes the Topo50
1:50,000 sheet grid; click the sheets you want, then Find Surveys asks
the bucket which aerial surveys hold tiles for them. The results are surveys, newest
first - over one sheet that list is a time series of the same ground across decades.
Hovering names the sheet the way LINZ printed it, and the tile by its filename. The map
and the list are one selection.
Everything is anonymous and licensed CC BY 4.0.
Attribution to LINZ is required. Drafts are hidden by default, because LINZ can replace
them.
A download failed part-way
The Downloads list at the bottom of the import panel
A stalled or dropped transfer is retried a few times on its own and resumed where the
archive allows it. If it still fails, the row states what went wrong in one sentence and
offers Retry where trying again can help - a timeout or a lost
connection, but not a refusal such as HTTP 403, which would answer the same way twice.
Files that finished are kept, so Retry fetches only what
is still missing. The file that was mid-transfer is discarded, because a partial raster
that looks openable is worse than an absent one. Cancelling keeps the finished files too,
and the retry appears as a new row so the failure is still on record.
Files & saving
Exporting
Share glyph in the toolbar · File ▸ Export (⌘E)
Writes a GeoTIFF of source measurements through GDAL, carrying any crop through as a
source window and persisting attribute-table edits. The rendered picture exports
separately as PNG, HEIC or OpenEXR through Image I/O.
Annotations are deliberately not burned into the
GeoTIFF - that file is measurements. They do burn into the rendered picture. Rendered
exports are SDR unless HDR is picked explicitly.
Saving derived layers when a window closes
Automatic when closing a window, and on Quit
A processing job writes its result into a temporary file and opens it as a layer, which
is what makes the Processing menu feel immediate - and what means closing the window
would throw the result away. Closing a window holding such layers lists them first, with
a tick and a format for each, and Save, Don't Save or Cancel. The formats are all
scientific containers - GeoTIFF, Cloud-Optimised GeoTIFF, KEA and ERDAS Imagine.
One layer gets a save panel, several get a folder chooser,
and two layers sharing a name are numbered rather than overwritten. A layer already saved
somewhere you chose is not offered again.
Apple Photos
File ▸ Export ▸ Add to Photos · File ▸ Import from Photos
Add to Photos renders what is on screen and files it in a Hachure album, created the
first time. It is the same picture the rendered export writes - display bands through
their tone curves - so the file says the curve is baked into its pixels, and the scene's
centre goes in as GPS. Only PNG and HEIC are offered: a photo library has nowhere to put
a float HDR image, and a GeoTIFF of measurements does not belong in one.
An imported photograph carries no coordinate system, so
the coordinate readout, the scale bar and the geometry commands stay unavailable for it,
while the pixel readout, band maths and the drawing tools work as usual.
Settings
The Workspace, and why a folder is sometimes asked for
Settings ▸ General ▸ Workspace
macOS gives an app exactly the files chosen in an open panel and nothing beside them.
Several formats are not one file: a shapefile keeps its projection in a sibling
.prj and its attributes in a .dbf,
and a satellite delivery is a manifest beside its band files. When a companion cannot be
read, Hachure asks for the enclosing folder - there is no way to widen the permission
without you choosing the wider thing.
Naming a Workspace folder answers that once: everything
inside it opens without a prompt, and the grant is remembered across launches. Nothing
outside it is affected, and Clear gives the access back.
Processing memory budget
Settings ▸ General ▸ Processing Memory
A 10–80 % ceiling on unified memory, 50 % by default, that every whole-image job checks
before reading a pixel - so an over-large job fails in a second rather than paging for
twenty minutes. When a job exceeds it, the window reports both the required and available
figures and offers Run Anyway, with Cancel as the default. The ceiling is a question, not
a verdict.
The sensor catalogue
Settings ▸ Satellites
Twenty sensors with per-band name, common name, centre wavelength, FWHM, native ground
sample distance, spectral role, polarisation and thermal constants, plus versioned
calibration profiles keyed on processing level, collection, baseline and acquisition
date. It is user-editable: sensors can be added or overridden, and edits are validated
before they are saved.
The catalogue is what lets an index written once resolve
across sensors that number their bands differently.
If something is wrong
Two rasters will not overlay
Processing ▸ Reproject…
An added raster must share the base's CRS. Reproject one onto the other's CRS, then add
it again. If they share a CRS but sit slightly apart, that is a registration problem, not
a projection one - try Co-registration first.
A job refuses with “needs the same grid”
Processing ▸ Geometry ▸ Resample to Match Layer…
Regression and IR-MAD normalisation, every change-detection method, and DEM of Difference
all compare co-located pixels, so the two rasters must have the same size, CRS and pixel
size. Resample to Match Layer puts one on the other's exact grid - nearest for anything
thematic.
The image looks flat, dark or washed out
Inspector ▸ Bands ▸ Stretch
Raw 12- and 16-bit radiometric data is near-flat without a stretch, and Hachure applies
none on open. Percentile clip with a modest gamma is the usual first move. This changes
nothing stored - it is exposure, not correction.
An index came out smooth and plausible and wrong
Inspector ▸ Bands ▸ Composite
Check the spectral roles. A named index resolves against the bands the stack says are
NIR and Red; if those are wrong the arithmetic still succeeds and produces a convincing
surface of the wrong two bands. Correct the role on the band's row, then re-run.
A shapefile opens without its projection
Settings ▸ General ▸ Workspace
The .prj and .dbf are separate files
and the sandbox grants only what you selected. Name a Workspace folder that contains
them, or answer the folder prompt when it appears.
A file will not open at all
File ▸ Open
Hachure reads what its curated GDAL driver set reads. A HEIC that arrived through
File ▸ Import from Photos is converted losslessly to TIFF on the way in
and opens fine; the same file selected from the Finder does not, because that path hands
it straight to GDAL and the HEIF driver is not built in.