Focuser
Role
The Focuser module provides automatic telescope focusing. It moves the motorized focuser across a range of positions, measures star size (HFR — Half Flux Radius) at each point, then computes the optimal position using a degree-2 polynomial fit.
Required devices
| Device | Role |
|---|---|
| Camera | Image acquisition for HFR measurement |
| Motorized focuser | Focus position control |
| Filter wheel | Optional — used if configured |
Parameters
Devices
These parameters are accessible from the module Parameters menu. A set of parameters can be saved as a profile.
| Parameter | Description |
|---|---|
| Exposure | Exposure duration in seconds |
| Gain | Camera gain |
| Offset | Camera offset |
Focus
| Parameter | Description |
|---|---|
| Start position | Absolute focuser position to begin the sequence (ignored if Focus around current is enabled) |
| Focus around current | Automatically centres the sequence around the current focuser position: current_pos − (step × iterations / 2) |
| Step | Gap in focuser units between two consecutive measurements |
| Iterations | Number of measurement points. With 5 iterations and a step of 2000, the focuser explores a range of 8000 units |
| Average over | Number of frames acquired and averaged at each point to reduce measurement noise |
| Backlash | Overshoot applied before each movement to compensate mechanical play. The focuser moves back by this value before advancing to the target |
| Zoning | Divides the image into zones (1×1 to 9×9). See dedicated section below |
Algorithm
Focusing proceeds in two phases.
Phase 1 — Exploration
- The focuser moves to
start_position − backlash(mechanical play compensation) - It advances to
start_position - For each iteration:
- Camera frame reset
- Acquisition of Average over frames, computation of mean HFR
- Recording of the (position, HFR) pair
- Real-time update of the polynomial fit
- Advance by one step
The degree-2 polynomial fit continuously provides the minimum of the HFR curve:
optimal_position = −b / (2 × a) [for ax² + bx + c]Phase 2 — Final positioning
- The focuser moves back to
best_position − backlash - It advances to the optimal position computed by the polynomial
- A final frame is acquired to measure the resulting HFR
The retained optimal position is the polynomial fit result (bestposfit). If the fit could not be computed (fewer than 3 points), the best directly measured position (bestpos) is used instead.
Zoning
Zoning divides the image into an N×N grid and computes an independent polynomial fit for each zone. Results are displayed in the Zone results table.
| Zoning | Use case |
|---|---|
| 1×1 | No zoning — single global measurement |
| 2×2 | Basic tilt detection (4 quadrants) |
| 3×3 | Finer analysis — centre + edges + corners |
If optimal positions vary significantly from one zone to another, this indicates a tilt or coma defect at the edge of the field.
Live values
| Value | Description |
|---|---|
| Average HFR | HFR averaged over the Average over frames at the current point |
| Last HFR | HFR of the last acquired frame |
| Focuser position | Current absolute position |
| Best position | Best directly measured position |
| Polynomial fit position | Optimal position computed by polynomial fit |
| Iteration | Current measurement point number |
Final result
At the end of the focusing sequence, the module publishes:
| Result | Description |
|---|---|
| Final position | Absolute focuser position after positioning |
| Final HFR | HFR measured at the optimal position |
Actions
| Action | Description |
|---|---|
| Start focusing | Starts the complete sequence |
| Abort | Immediately stops the current sequence |
