Configuration options¶
Helia has no configuration file for stacking. (Updates have a small one of their own, update.conf: see Updates.) Every setting is chosen per run, in
the same way in all three front ends. (The desktop app keeps a small settings
file of its own for things it should not ask twice; see
Using the desktop app.) This table shows each setting under its name in the
command line, the API job config object, and the desktop app.
| Setting | Command line | API config field |
Desktop app | Default |
|---|---|---|---|---|
| Share of frames to keep | --keep 25% |
keep ("25%" or "500") |
Keep best frames, 5 to 100 per cent in steps of 5 | the preset's (25% or 30%), else 25% |
| Number of frames to keep | --keep-frames N |
keep_frames |
not available (use the share) | none |
| Sharpness metric | --metric gradient, laplacian, helmli, mfgs, dct, fourier or contrast |
metric |
Sharpness metric (the desktop app offers gradient energy and Laplacian variance) | gradient |
| Alignment point size (pixels) | --ap-size N |
ap_size (8 to 1024) |
Point size: 32 to 96 in steps of 8 | chosen from the image size |
| Automatic alignment points | --ap-auto |
ap_auto (excludes ap_size) |
Align step: Auto chip | off |
| Alignment point passes | --ap-passes 1 or 2 |
ap_passes |
not available | 1 |
| Smooth outlier alignment point shifts | --ap-smooth on or off |
ap_smooth |
not available | off |
| Telescope aperture (mm) | --aperture-mm MM |
aperture_mm |
Advanced settings: Aperture (mm), 0 to 2000 (seeing line only) | none |
| Field rotation (altazimuth) | --field-rotation, --field-rotation-reference, --field-rotation-mirror, --site; helia derotate for stacked images |
field_rotation (mirror, reference) with site |
Advanced settings: Field rotation, site, Mirror image | off |
| Find sunspots | --sunspots (and helia sunspots IMAGE); --sunspot-umbra, --sunspot-penumbra, --sunspot-min-area, --sunspot-max-area, --sunspot-group-gap, --wolf-k, --north-angle, --celestial-north-up, --mirror |
sunspots (an object with umbra, penumbra, min_area, max_area, group_gap_deg, wolf_k, north_angle_deg, celestial_north_up, mirror) |
Stack step: Sunspots chips, observer factor, celestial north | off |
| Time-lapse: reference frame | helia timelapse --reference first, middle or N |
POST /timelapse reference |
Time-lapse step: Register to | middle |
| Time-lapse: refine by phase correlation | --no-refine, --max-refine PX |
refine, max_refine_px |
Time-lapse step: Refine by phase correlation | on, 3 px |
| Time-lapse: even out the brightness | --deflicker off, match or smooth, --deflicker-window N |
deflicker, deflicker_window |
Time-lapse step: Brightness, Window | off, 5 |
| Mosaic: join panels | helia mosaic PANELS -o FILE |
POST /mosaic (inputs, output, times, overwrite) |
Mosaic step: Add panels, Make mosaic, Save mosaic | not applicable |
| Mosaic: matching | --max-rotation DEG, --min-overlap PERCENT, --min-correlation R |
max_rotation_deg, min_overlap_percent, min_correlation |
Mosaic step: Largest turn | 4, 5, 0.45 |
| Mosaic: blend | --feather PX, --no-gain-match, --no-seams |
feather_px, gain_match, seams |
Mosaic step: Feather, Match brightness, Seams of least difference | 12, on, on |
| Mosaic: derotate the panels | --derotate, --derotate-to first, middle, last or a UTC time, with the options of helia solar-derotate |
derotate (as for POST /solar-derotation, to may be first, middle or last) |
Mosaic step: Derotation | off |
| Solar derotation | helia solar-derotate IMAGES -o DIR, --to first, middle, last or a UTC time; helia timelapse --derotate, --derotate-to TIME |
POST /solar-derotation; derotate in POST /timelapse (an object with to, law, north_angle_deg, celestial_north_up, mirror, raw_brightness) |
Time-lapse step: Derotation Off, To reference | off |
| Solar derotation: rotation law | --rotation-law howard, snodgrass or A,B,C |
law |
Time-lapse step: Law | howard |
| Solar derotation: orientation | --north-angle DEG, --celestial-north-up, --mirror |
north_angle_deg, celestial_north_up, mirror |
Time-lapse step: Celestial north is up | north up |
| Solar derotation: brightness | --raw-brightness |
raw_brightness |
not available | contrast is carried |
| Time-lapse: crop to the common area | --crop |
crop |
Time-lapse step: Crop to the common area | off |
| Time-lapse: times of the captures | --date YYYY-MM-DD, --utc-offset HOURS, --no-sort |
times |
Time-lapse step: Times | from the files |
| Time-lapse: output | -o DIR, --format png or tiff, --movie auto, mp4, apng or none, --fps FPS, --reuse-stacks |
output, format, movie, fps, overwrite |
Time-lapse step: Movie, Frames, FPS, Save time-lapse | PNG, auto, 10 |
| Estimate the seeing | --seeing |
seeing |
Stack step: the seeing line (always on; aperture under Advanced settings) | off |
| Crop to the disc | --autocrop |
autocrop |
Stack step: Crop, Disc chip | off |
| Crop margin (per cent of the radius) | --autocrop-margin P |
autocrop_margin (0 to 200) |
Stack step: Margin slider, 0 to 50 | 10 |
| Prominence layer | --prominence, --prominence-strength, --prominence-stretch, --prominence-level, --prominence-feather, --prominence-reach, --prominence-gate |
an edits entry {"op": "prominence", ...} |
Adjust step: Prominence layer and its sliders | off |
| Colour table export | helia lut PRESET -o FILE (--format, --size, --invert, --strength) |
GET /presets/{id}/lut |
Colour step: Colour table | not applicable |
| Limb-darkening law fitted | --limb-law linear, quadratic or neckel |
limb_law |
Sharpen step: law chips under Limb darkening | quadratic |
| Flatten the limb darkening | --flatten model or profile |
flatten (or a flatten edit) |
Sharpen step: Limb darkening Off, Model, Profile | off |
| Global alignment method | --align auto, phase or limb |
align |
chosen automatically; shown after a stack | auto |
| Multi-point alignment | --no-multipoint turns it off |
multipoint (true or false) |
always on | on |
| Sigma clipping | --sigma-clip K |
sigma_clip (a number) |
Outliers: Sigma chip (fixed at 2.5) | off |
| Robust combination | --robust none, sigma, huber or winsor |
robust |
Outliers: Off, Sigma, Huber, Winsor | none (weighted mean) |
| Robust threshold (standard deviations) | --robust-k K |
robust_k |
not available (the default for the kind) | 2.5 sigma, 1.345 huber, 2 winsor |
| Compute backend | --backend auto, cpu or gpu |
backend |
Backend: Auto, CPU, GPU | auto |
| Bayer pattern | --bayer auto, none, rggb, grbg, gbrg or bggr |
bayer |
Bayer pattern in the Open inspector | auto (the header, with a pixel check of a SER file that says mono) |
| Bit depth of a SER file | --bit-depth N (1 to 16) |
bit_depth |
Bit depth in the Open inspector: Auto, 8-bit, 16-bit | the SER header's |
| Byte order of a SER file | --endian little or big |
endian |
Byte order in the Open inspector | the header flag, checked against the data |
| Row order of a SER file | --flip-rows |
flip_rows |
Row order in the Open inspector | top to bottom |
| Row order of FITS frames | --row-order auto, top-down or bottom-up |
row_order |
Row order in the Open inspector: Auto, Top-down, Bottom-up | auto (a ROWORDER card, else Seestar S50 top-down, else bottom-up) |
| Colour channel | --channel r, g, b or lum |
channel |
Advanced settings: Channel | the preset's, else lum |
| Demosaicing method | --debayer bilinear or mhc |
debayer |
Debayer: method | mhc |
| Filter preset | --preset ha (see helia presets) |
preset |
Quick stack card: the filter buttons | detected from the file name, folder, sidecar or header |
| Colour | --colour auto, mono or a preset id |
colour |
Colour step: the look cards | none (mono); the preset's look in the app |
| Invert before colouring | --invert |
invert |
Colour step: Invert | off |
| Colour strength | --colour-strength S (0 to 1) |
colour_strength |
Colour step: Strength | 1 |
| Output format | extension of -o |
extension of output |
Export: TIFF 16-bit, PNG 8-bit or FITS | TIFF in the app; by extension elsewhere |
Observing site (FITS OBSGEO-X/Y/Z) |
--site LAT,LON,ALT |
site ("lat,lon,alt") |
the HELIA_SITE environment variable |
none; HELIA_SITE if set |
| Hide progress and summary | -q, --quiet |
not applicable | not applicable | shown |
The settings that are not exposed (the search radius, correlation thresholds,
smoothing and similar internals of the alignment) are fixed to the defaults in
MultipointConfig and PhaseOptions in helia-core. They can be changed from
Rust code through the library, but not from the programs.
Server settings¶
These apply to helia serve only. See The API.
| Setting | Option | Default |
|---|---|---|
| Listen address | --bind |
127.0.0.1:7870 |
| Directory requests must stay inside | --data-root |
current directory |
| Bearer token | --token, --token-file, or the HELIA_TOKEN environment variable |
none |
| Concurrent jobs | --workers |
1 |
| Queued plus running jobs allowed | --max-queue |
16 |
| Browser origins allowed | --cors-origin (repeatable) |
none |
Extra accepted Host headers |
--allow-host (repeatable) |
none |
Environment variables¶
| Variable | Used by | Effect |
|---|---|---|
HELIA_TOKEN |
helia serve |
Bearer token, used when neither --token nor --token-file is given. |
HELIA_SITE |
helia stack, helia serve, helia-gui |
Observing site LAT,LON,ALT for a FITS output, used when --site or the job's site is not given. |
HELIA_GPU_DEVICE |
helia stack, helia serve, helia-gui, tests |
Index N (from 0, in the driver's order) of the real GPU adapter to use, instead of the first. For machines with several GPUs where another job holds the first; unset by default. Software adapters are not counted. See the Performance guide. |
HELIA_GPU_DEBUG |
helia stack, helia serve, helia-gui, tests |
Any value other than empty or 0: turn on wgpu's debug object names and validation layers, which are off by default (debug builds used to turn them on). For debugging the GPU kernels only: the Vulkan loader can fault when several threads name objects at once. |
HELIA_GPU_TRACE |
helia stack, helia serve |
Any value: print where each GPU stage spends wall time and the GPU time of each kernel, and for each stage how many frames came from the device's frame store and how many from the file, to standard error. |
HELIA_GPU_RESIDENT_MB |
helia stack, helia serve, helia-gui, tests |
Video memory, in MiB, that the GPU path may use to keep a capture's raw frames between stages (scoring, alignment, alignment points, stacking), so each frame is read from the file and uploaded once. Whole number; 0 turns it off. Default: 6144 on a discrete GPU, 0 on a software or integrated one. The store stops growing when the device reports it is out of memory, and frames that do not fit are read from the file as before; the result is bit for bit the same at any value. See Frames kept on the device. |
HELIA_GPU_TESTS |
test suites | software, hardware or none; see the source repository. |
HELIA_FEEDBACK_URL |
helia feedback, helia-gui |
Address of the feedback service, instead of https://feedback.discworld.casa. HTTPS only (HTTP for localhost). Overrides feedback_url in the app's settings file; helia feedback --url overrides this. See Sending feedback. |
HELIA_REAL_DATA |
test suites | Directory of real captures for the integration tests. |
UPDATE_SNAPSHOTS |
GUI snapshot tests | Set to 1 to regenerate the screenshots. |
HELIA_LOG_DIR |
helia, helia serve, helia-gui |
Folder for the log file helia.log, instead of the OS default. See Log file and bug report. |
HELIA_GUI_CONFIG |
helia-gui |
Path of the app's settings file; see Using the desktop app. |