Broadband Imaging¶
Purpose, audience, prerequisites, and expected result¶
Use this workflow to turn calibrated one-shot-color (OSC), mono RGB, or mono LRGB exposures into reproducible broadband masters and delivery copies. It is for users who can identify acquisition frame types and inspect a linear image, but it does not assume that one set of processing values will suit every target.
You need:
- Light frames with consistent camera mode and usable overlap.
- Calibration frames appropriate to each camera/filter/session, or an explicit decision to accept and investigate Image Integration's missing-calibration warnings.
- Correct frame-type, filter, exposure, binning, gain/ISO, offset, temperature, session, CFA, and object metadata where those fields drive grouping.
- A writable output directory with room for masters, registered lights, reports, history, and optional debug products.
- For LRGB, L and RGB data that can be placed on exactly the same pixel grid.
The expected result is one of these branch products:
| Branch | Linear branch product | Later product |
|---|---|---|
| OSC | Registered and stacked three-channel master produced after raw CFA calibration and workflow demosaic | Corrected, color-calibrated, stretched image and a verified share/export copy |
| RGB | Registered R, G, and B masters plus a three-channel RGB composition | Corrected, color-calibrated, stretched image and a verified share/export copy |
| LRGB | Compatible luminance and RGB masters, both prepared before combination | LRGB result, nonlinear finishing, and a verified share/export copy |
Keep the linear OSC/RGB masters and the separate L/R/G/B masters. They are the safe restart points when a later background, color, noise, stretch, or LRGB decision needs to be changed.
Verification data and evidence mode¶
| Item | Record |
|---|---|
| Project-owned sample set | The one-shot-color NGC 253 data set (QHY183C, 2023-10-09): QHY183C RGGB OSC lights with bias, dark, flat, and dark-flat data. The RGB/LRGB M83 data set (QHY533M, 2025-04-29): QHY533M L/R/G/B lights with per-filter flats. The owner approved documentation validation and sanitized evidence/derivative retention. |
| Branches covered | OSC, mono RGB, and mono LRGB. Eight inputs per selected group were used: 40 OSC frames and 64 mono frames, 104 total. |
| External tools/models | None. The run did not use StarNet2, DeepSNR, ASTAP, Astrometry.net, or another optional executable/model. |
| Catalogs/network | None. Gaia, photometric/spectrophotometric catalogs, response packs, online solving, and network access were not used. |
| Platform/application build | Windows MSVC x64 Release, Qt 6.10.3. The numbered main and test build scripts passed with zero warnings/errors. |
| Evidence artifacts | Sanitized input IDs and SHA-256 values, binary/driver hashes, exact stage summaries, warnings, workflow report hashes, master/export hashes, geometry/channel checks, and save/reopen results are in the guide's validation record. Private manifests, paths, full logs, reports, and generated files remain only in the approved isolated output tree. |
| Unverified claims excluded | No claim that eight-frame subsets or the recorded checkpoint values are production recommendations; no polished/full-frame aesthetic approval, photometric color accuracy, final-print result, general timing/peak-memory result, catalog/tool result, or non-Windows result. |
Mode E proves that the recorded build, inputs, settings, and native stages produced the recorded artifacts. It does not prove that the same settings are best for another camera, sky, target, or frame count.
Inputs and outputs¶
Acquisition and organization¶
Folder names do not control the workflow after import, but a stable structure makes mistakes easier to find:
project/
lights/osc/ or lights/L, lights/R, lights/G, lights/B
calibration/bias/
calibration/dark/<exposure>/
calibration/flat/<filter>/
calibration/dark-flat/
output/ keep outside the source folders
| Input | Match or record | Branch notes |
|---|---|---|
| Lights | Target, geometry, binning, gain/ISO, offset/readout mode, temperature policy, exposure, filter/session, time, CFA when present | Reject obvious cloud, tracking, focus, saturation, or framing failures before they become a weak reference or normalization input |
| Bias | Gain/ISO, offset/readout mode, binning, dimensions | OSC validation used bias for the selected camera mode; mono validation had none and must not be generalized |
| Dark | Light exposure and camera mode; temperature when relevant | Use a matching dark. Treat exposure fallback as a conscious policy, not silent equivalence |
| Flat | Optical train, focus, filter, binning, camera mode, dimensions | Per-filter flats are required for mono filters. Do not reuse flats after an optical change merely because dimensions match |
| Dark-flat or flat calibration | Flat exposure and camera mode | OSC validation calibrated its flat with a matching dark-flat. The mono validation's uncalibrated-flat warnings are a limitation, not advice |
Image Integration reads supported still files and does not modify the source frames. It writes state under the output directory, generated masters, registered/aligned intermediates, normalization artifacts, final FITS masters, previews, logs, and HTML/Markdown reports. Debug-calibrated frames, drizzle descriptors with their dense checkpoints when kept, rejection maps, and quality maps add substantial disk use when enabled.
State and preservation points¶
- Calibration and integration should begin with linear acquisition data.
- OSC calibration occurs before demosaic; do not debayer raw calibration frames first just to make them display in color.
- The RGB composition made from R/G/B masters remains the linear restart point.
- Finish crop, background correction, native color calibration, and intended linear denoise before permanent stretching.
- AfterNight's LRGB Combination marks its output nonlinear even with identity MTF controls, so prepare L and RGB before combining them.
- File > Save as... and Image > Actions > Save File... save underlying pixels, not viewer autostretch or overlays. Use a separate processed copy for PNG/JPEG delivery.
Workflow map and decision points¶
flowchart TB
accTitle: Broadband imaging branches and checkpoints
accDescr: OSC, RGB, and LRGB data pass through shared integration and linear checks before branch-specific composition, stretch, and export.
Frames[Organize and classify] --> Integrate[Image Integration]
Integrate --> Gate{Accept report<br/>and masters?}
Gate -- Fix and retry --> Integrate
Gate -- Accept --> Branch{OSC, RGB,<br/>or LRGB?}
Branch --> Compose[Build branch-specific<br/>linear color master]
Compose --> Linear[Crop, background, color,<br/>and linear denoise]
Linear --> Stretch[Stretch and<br/>nonlinear finish]
Stretch --> Export[Working master<br/>and share copy]
| Decision | Choose this path | Check before continuing |
|---|---|---|
| Full Image Integration or Lite | Use full Image Integration for explicit grouping, matching, per-group settings, reports, incremental reruns, RGB combination, or LRGB projects. Use Lite only for a simple supported set whose delegated choices you accept. | The execution plan lists the expected stages/groups/outputs |
| Shared mono registration | Register L/R/G/B to one reference when geometry and sampling match and the field overlaps. Otherwise solve the geometry mismatch before composition. | Blink/inspect stars and edges; dimensions alone do not prove alignment |
| Image Integration RGB output or Channel Composition | Use the workflow RGB product when Combine RGB images is enabled and verified. Otherwise use Process > Color Spaces > Channel Composition with RGB mode and registered R/G/B masters. | Output is three-channel, same geometry, unclipped, and its channel statistics are plausible |
| Native or catalog color calibration | This native-only workflow uses Color Calibration with deliberate white/background references. Use PCC/SPCC only after satisfying their WCS/catalog/response prerequisites. | Reference pixels are representative; diagnostic masks are not sparse/contaminated |
| RGB only or LRGB | Stop at RGB when no compatible luminance exists. Use LRGB only when L and RGB are aligned, cropped, prepared consistently, and type-compatible. | No doubled stars, edge shift, or background discontinuity at the L/RGB handoff |
| Star-separated or direct finish | Direct finishing has no external dependency. Use StarNet only when its separate executable/model prerequisites and validation are satisfied. | Keep an untouched pre-star-processing copy and verify recombination at 100% |
Step-by-step procedure¶
1. Audit the acquisition set¶
- Separate lights, bias, dark, flat, and dark-flat/flat-bias frames. For mono, split lights and flats by filter.
- Compare dimensions, binning, gain/ISO, offset/readout mode, exposure, temperature, session, filter, CFA, and object fields. Correct wrong metadata or isolate exceptions; do not group incompatible frames to silence a warning.
- Choose a new output directory outside the source tree. Estimate space for at least the input-scale registered files plus masters, reports, and history.
- Preserve the original acquisition files read-only.
Checkpoint: every frame has an intended type/group, and every expected calibration relationship can be stated before opening the execution plan.
2. Import and validate in Image Integration¶
- Open Process > Preprocess > Image Integration or the Dashboard Image Integration card.
- On each Frame Sources tab, use Add Files... or Add Folder.... Verify that Bias, Darks, Flats, and Lights contain the intended files.
- Set Output Directory. Review grouping fields before changing them; filter, exposure, session, gain/ISO, offset, resolution, and custom tags can split or merge groups.
- On Workflow > Calibration, inspect Calibration Coverage, assignments, fallback indicators, and Issues. A warning is not an approval to ignore the missing master.
Recovery: if a light or flat matches the wrong master, correct its metadata, grouping, matching policy, or explicit override. Re-run validation before execution.
3. Build calibration masters and calibrate lights¶
Use each group's Stacking Settings... rather than assuming one rejection method fits all frame counts. A reproducible native starting profile used in the worked run was:
| Product | Combination | Rejection | Normalization | Other handoff |
|---|---|---|---|---|
| Bias/dark/dark-flat masters | Average | Sigma Clipping, low/high 3.0/3.0 |
None | Eight selected frames per group; no weighting |
| Flat masters | Average | Sigma Clipping, low/high 3.0/3.0 |
Global | OSC flat used its dark-flat; mono flats had no approved bias/dark and emitted four warnings |
| Light calibration | In-memory | — | Flat auto-level on | OSC: matched dark + flat; mono: per-filter flat only; cosmetic correction off |
These are reproduction settings, not universal prescriptions. With few frames, inspect whether rejection has enough support; with a large clean set, use the Image Stacking reference and Image Integration recommendations as starting guidance.
For OSC, keep raw CFA through calibration. Set the correct CFA pattern manually when Auto cannot establish it. In the worked run the metadata was RGGB and registration used RCD demosaic after calibration.
Checkpoint: generated masters exist; the report identifies their inputs; calibration coverage is intentional; calibrated previews or registered outputs show no newly introduced clipping, wrong CFA colors, dust mismatch, or strong residual amp glow.
4. Register, align, normalize, and stack¶
- On Registration, select a structurally good reference or accept automatic reference selection only after comparing its star count, FWHM, SNR, and eccentricity with the group.
- Start with native Star Matching, Homography, transform mode Auto, alignment Standard, and interpolation Auto for an ordinary fixed broadband field. Use a simpler transform when evidence supports it; use a polynomial only when enough reliable matches demonstrate real distortion.
- For compatible mono L/R/G/B geometry, use one shared registration reference so the channel masters land on one grid. The worked run used a luminance reference and registered all 32 selected mono lights in one group.
- For light stacks, the worked run used Average, Winsorized Sigma
Clipping
3.0/3.0, Global > Additive Scaling, IKSS scale estimator, no weighting, no drizzle, no rejection/quality maps, and no final solve. - Set the maximum cores to a value that leaves the system responsive; the
worked run used
8. - Open Execution Plan. Confirm expected calibration, registration, alignment, normalization, stacking, reuse/skip decisions, dependencies, and output names. Run only after the plan matches the branch.
- Monitor the timeline and output. Cancellation is cooperative; wait for the safe checkpoint and inspect partial/history state before resuming.
Checkpoint: the report completes, every required group succeeds, registered
stars align, stack edges are understood, expected masters exist, and every
warning has an explicit accept/fix decision. Do not equate success=true with a
finished-looking image.
5. Complete the OSC branch¶
- Open the integrated OSC master and leave its data linear. Viewer autostretch is an inspection aid only.
- Inspect at 100%, then use Image > Information > Statistics and Image > Information > Histogram to check endpoints and channel imbalance. Review the workflow report and preview.
- Crop registration borders with Process > Geometry > Crop before fitting a background model.
- Continue with the shared linear processing in step 8.
Worked-run checkpoint: eight OSC lights produced one 5544 x 3684,
three-channel FITS master after all native stages. The generated report preview
was a nonblank registered astronomical field. That observation is not a final
quality assessment.
6. Complete the RGB branch¶
- Confirm that R, G, and B integrated masters have the same geometry and are registered to the same grid.
- If Image Integration produced its RGB master, open it and retain the separate channel masters. Otherwise open Process > Color Spaces > Channel Composition, select RGB, assign R/G/B, and leave Linear Match off initially. Linear Match changes temporary channel scale/offset, not geometry; use it only after inspecting its sample support and result.
- Check stars at the center and edges and compare channel statistics. Correct alignment, crop, gradient, or scale problems upstream rather than hiding them with an aggressive stretch.
- Continue with the shared linear processing in step 8.
Worked-run checkpoint: four eight-light filter groups produced L/R/G/B
masters and a 3008 x 3004, three-channel RGB FITS master. Its preview contained
the target but also strong channel/background mismatch and stacking borders;
the correct decision was to route it to crop/background/color checkpoints, not
to present it as finished.
7. Complete the LRGB branch¶
- Prepare the RGB master through crop, background correction, native color calibration, and intended linear denoise. Prepare luminance on the same crop and geometry, without applying a conflicting permanent stretch.
- Verify equal width/height, matching stars and edges, compatible pixel type, and comparable background/tonal behavior. WCS equality alone is not enough.
- Activate the RGB image and open Process > Color Spaces > LRGB Combination. Choose the grayscale luminance image.
- Start with Lightness
1.0, R/G/B weights1.0, Lightness MTF0.5, and Saturation MTF0.5. If the luminance dominates or backgrounds do not join cleanly, fix upstream matching first; otherwise reduce Lightness toward0.5before changing MTF or RGB multipliers. - Keep Preview area off; its current crop behavior is incompatible with the full luminance input. Compare the full preview at 100%, then Apply.
Checkpoint: stars are single, edges/backgrounds join, color does not detach from structure, and gamut/endpoints remain acceptable. The operation replaces the target and marks the result nonlinear; keep the separate L and RGB masters.
Worked-run checkpoint: the native default LRGB core combined the verified
3008 x 3004 RGB and luminance masters at identity weights/MTF, saved the FITS
result, and reopened it with three channels and unchanged geometry. This proves
the recorded handoff, not visual optimality.
8. Crop, correct the background, and calibrate color while linear¶
For OSC/RGB, perform this step before stretching. For LRGB, perform it on RGB and luminance before step 7 whenever possible.
- Crop invalid stack borders.
- Open Process > Background Modelization > Background Extraction. A
conservative source-derived start is Samples per Line
20, Grid Tolerance2.0, RBF, Smoothing0.50, Subtraction, and Output Background Model on for diagnosis. Remove samples on the target, dust, halos, stars, or nebulosity before Preview. - Inspect the gradient model, not only the corrected view. If it contains target structure, fix samples before changing smoothing. Use Polynomial order 1, then 2 only when a simple surface is demonstrably sufficient.
- Open Process > Color Calibration > Color Calibration for the native-only
route. Choose a representative unsaturated white reference; start with white
limits
0.0..0.9. Choose a clean sky background ROI. Request diagnostic masks on the first trial and inspect them before accepting the gain result. - If background channel offsets remain, use Background Neutralization according to its process page, then recheck Color Calibration. Avoid repeated passes that clip endpoints.
Checkpoint: the background model contains background rather than target signal; diagnostic reference masks have useful support; gradients/casts improve without new black/white clipping.
Worked-run checkpoint: the reusable validation filter executed this sequence
on center 1024 x 1024 OSC, RGB, and luminance checkpoints. RBF models used
312/318/322 samples respectively and, after diagnostic normalization, showed
smooth low-frequency structure rather than recognizable target detail. OSC/RGB
automatic Color Calibration used a centered 512 x 512 white-reference ROI, a
clean upper-left 256 x 256 background ROI, and saved both masks. The masks
were neither empty nor full-frame; the OSC white mask nevertheless followed
substantial target structure, so this validates the diagnostic/rejection route,
not photometric truth or a reusable ROI.
9. Denoise, stretch, and finish¶
- Duplicate or save the linear master before destructive work.
- If linear denoise is needed, use a representative preview area. For Wavelet
Denoise, a conservative
source-derived start is Threshold
1.0..1.4, Scales4..6, Iterations10, and Amount1.0while diagnosing; reduce Amount toward0.5..0.8rather than erasing faint structure. Follow the complete page for padding, channels, masks, and cycle-spinning limits. - Stretch only after linear work is accepted. In Histogram
Transformation, start
linked RGB at Shadows
0, Midtones0.5, Highlights1. Locate the background before moving Shadows; make small Midtones changes and leave Highlights last. Auto-stretch derived values are hidden, so record the mode if applying it permanently. - Alternatively use Generalized Hyperbolic
Transformation: start at
strength
0,b=0,LP=0,HP=1, choose SP deliberately, then increase strength while checking endpoints and color. - Use a few well-spaced nodes in Curves Transformation for modest nonlinear contrast/color changes. Inspect at 100% after each step.
- For a native restrained-star branch, duplicate the stretched image and open
Process > Mask Generation > Star
Mask. Start with
StarProfilerV1, Detection Threshold
0.45, Roundness Tolerance2.00, Shaped Areas, Percent Increase0.50, Pixel Increase0, Min/Max Size2/25, and Truncated Bell. The normal0.10default selected background noise in this worked checkpoint; raise or lower the threshold from the actual mask rather than copying0.45blindly. - Activate the target and assign the generated mask through Image > Mask >
Select Mask. With the mask enabled and not inverted,
white areas receive the process. Open Process > Morphology >
Morphological Transformation,
choose Erosion, Circle
3, Iterations1, and Amount0.20. Preview at 100%; reduce Amount or remove the mask if cores flatten, dark rings appear, or target detail changes. Keep the pre-star duplicate. - Star separation remains optional. Use StarNet++ only after its executable/model checks pass, and verify any recombination for halos, clipping, missing stars, and color shifts.
Checkpoint: no important background/faint signal is clipped, star cores and color are controlled, noise/detail changes survive a 100% comparison, and Image History identifies the restart point.
Worked-run checkpoint: the same representative crops ran Wavelet Denoise at
Threshold 1.2, Scales 4, Iterations 10, Amount 0.65; MAD autostretch at
Shadows -2.8, target 0.25, RGB unlinked; and the masked morphology above.
All stages were finite/nonblank and numerically changed their inputs. The
0.45 masks isolated bright stars rather than background noise, and stretched
versus finished comparisons showed a restrained change without obvious dark
rings or target-structure loss. This is bounded acceptance of the checkpoint,
not a polished full-frame recommendation.
10. Save working and delivery outputs¶
- Before nonlinear work, save the OSC/RGB linear master and the separate mono masters as FITS or XISF. After LRGB combination, keep its FITS/XISF result as a separate branch; do not overwrite the RGB restart point.
- Use File > Save as... or Image > Actions > Save File.... There is no plain write-back Save. Choose a new path when source safety matters.
- Use lossless TIFF for interchange when needed. Save PNG/JPEG only from a deliberately stretched delivery copy; they are not substitutes for the linear float master.
- Reopen every important output. Verify dimensions, channels, visible content, precision, and the intended metadata/processing state. A successful dialog alone is not readback verification. PNG preserves delivery pixels here but not FITS processing metadata.
Worked-run checkpoint: the three working FITS files reopened as finite,
nonblank 32-bit-float, three-channel images at their original geometry. OSC/RGB
retained explicit linear processing state; LRGB retained nonlinear state; all
three retained the expected FITS HISTORY record. The three delivery PNG files
reopened as finite, nonblank unsigned 16-bit RGB with the same geometry. A save
to a deliberately missing parent failed; creating the parent and retrying then
passed content readback. The PNG transform used MAD autostretch with Shadows
-2.8, target background 0.25, and unlinked RGB, so these are validation
copies rather than recommended final color.
11. Archive a reproducible project¶
- Preserve the original lights and calibration frames read-only; never treat generated masters as replacements for source data.
- Copy the complete Image Integration output directory, including
.afternight/image_integration/,history/, reports, workflow logs, session notes, manifests, registration metrics, normalization/drizzle artifacts, and accepted masters. Built-in run history retains only the newest 20 runs and 5 GiB, so it is a working history rather than a backup. - Keep the separate linear OSC/RGB and L/R/G/B restart masters, the accepted nonlinear working branch, and delivery exports. Record the AfterNight revision/version plus critical downstream settings or Image History.
- Generate a checksum manifest for the archived sources, project state, masters, reports, and delivery files. Store it with the archive on separate media or storage governed by the project's backup policy.
- Test restoration: copy the archive to a new location, open the report and at least one linear master, verify checksums, and confirm that an archived run's manifest/settings can be inspected before deleting working data.
Checkpoint: the archive can be restored without its original absolute path, the source and accepted outputs match their checksums, and the preserved report, manifest, settings/history, and application revision identify how to resume.
Parameter handoff matrix¶
| From step | Output/checkpoint | Decision criterion | To step | Parameters/state carried forward | Recovery |
|---|---|---|---|---|---|
| Acquisition audit | Classified source inventory | Camera mode, geometry, filter/session, exposure, and CFA are coherent | Image Integration import | Original files and corrected metadata | Isolate or correct misclassified/incompatible frames |
| Calibration | Masters and calibrated-light decisions | Every assignment/fallback warning is intentional; no wrong CFA or calibration artifact | Registration | Raw-before-demosaic OSC; calibrated mono by filter | Fix master grouping/matching; rebuild affected dependencies |
| Registration/alignment | Registered lights and metrics | Stars align at center/edges; one accepted reference/grid | Normalization/stacking | Transform, reference, interpolation, included-frame set | Replace reference, filter weak frames, simplify/adjust transform, rerun |
| Stacking | Linear OSC or L/R/G/B masters and report | Required groups succeeded; warnings reviewed; edges/clipping understood | OSC inspection or RGB composition | Geometry, inclusion, normalization/rejection settings, report | Correct upstream stage and let manifest diff recompute affected work |
| RGB composition | Linear three-channel RGB master | R/G/B aligned and plausible; no hidden gradient/scale problem | Linear background/color work or LRGB preparation | R/G/B source mapping; Linear Match choice | Return to channel masters; correct alignment/normalization |
| Crop/background/color | Accepted linear RGB/OSC and prepared L | Model/reference masks contain the intended evidence; no new clipping | Linear denoise/stretch or LRGB | Crop rectangle, samples/model, reference ROIs, calibration result | Restore linear master and rebuild with corrected samples/references |
| LRGB preparation | Same-grid L and RGB | Matching stars, edges, type, crop, and background | LRGB Combination | L/RGB source identities; weights 1/1/1/1; MTF 0.5/0.5 start |
Fix upstream alignment/matching or reduce Lightness before tonal controls |
| Linear denoise | Accepted linear result | Faint structure retained at 100%; no mask seam/padding artifact | Stretch | Process parameters, channel/mask, linear restart file | Restore saved linear master; reduce strength/scales/Amount |
| Stretch/finish | Nonlinear working result | Endpoints, color, stars, noise/detail pass comparison | Export | Exact history/parameters and protected restart branch | Undo/history or reopen linear/nonlinear checkpoint |
| Save/export | Reopened FITS/XISF/TIFF/PNG/JPEG | Dimensions, channels, content, precision/metadata expectations verified | Archive/publish | Destination, format/options, checksum if required | Save to a new path with corrected format/options and reopen |
Algorithms and why the order matters¶
Calibration removes additive bias/dark signal before flat division. Applying a flat in the wrong camera mode or dividing before its offset is handled can turn calibration error into a spatial pattern. OSC therefore stays CFA through calibration and is demosaiced only for later registration/alignment/stacking.
Registration estimates a star-based transform to one reference; alignment resamples each light onto that grid. Resampling early or repeatedly compounds interpolation. Normalization then estimates compatible location/scale behavior on registered frames, and stacking combines pixels while rejection attempts to exclude outliers. The worked profile used additive global scaling and IKSS, then Winsorized sigma rejection; the complete estimator/rejection contracts and failure modes are in Image Stacking.
RGB composition assigns the registered grayscale masters to R, G, and B.
Optional Linear Match fits output = a * source + b for later selected channels
against the first; it does not register images and can fail on weak/degenerate
sample support. Background and color work follow composition because channel
relationships can then be inspected together.
LRGB Combination converts RGB to CIE L*c*h*, optionally maps luminance and
chroma with MTF controls, blends the selected luminance with the RGB L* plane,
reconstructs RGB, then applies per-channel reduction weights. At the identity
start, selected luminance replaces L* at Lightness 1, both MTF controls skip
at 0.5, and RGB weights remain 1. The result is marked nonlinear, so linear
measurement/denoise/background/color work belongs before this handoff.
A permanent histogram/GHT/curve maps linear intensities into a nonlinear display distribution and may clip endpoints. Viewer autostretch changes only presentation, but saving the underlying linear image does not capture that display. A delivery PNG must therefore come from an intentionally processed copy, while the linear FITS/XISF remains the reproducible processing master.
Performance and resource planning¶
The dominant cost drivers are full-resolution frame count, channel count, registration star work, resampling, normalization, stacking buffers, saved registered/calibrated intermediates, maps, drizzle scale, and report previews.
- Prototype grouping/settings with a deterministic subset, but rerun the final plan on the complete accepted acquisition set. Do not turn subset timings into production estimates.
- In-memory light calibration reduces intermediate I/O. Low available memory can force disk mode; explicit debug-calibrated frames also increase storage.
- Registered-light products can approach one full floating-point image per accepted light. OSC demosaic makes them three-channel and much larger than raw CFA inputs.
- Drizzle, rejection maps, quality maps, saved models, and history archives add products. Enable them only when their diagnostic/scientific value is needed.
- Use Execution Plan and the Summary resource estimate before Run. Keep the output on a volume with room for retries and history, not merely the final master.
- Cancellation is cooperative. Preserve the output/state tree and inspect the next plan's Reuse/Recompute/Skip decisions rather than deleting valid work.
- Background fits, denoise, LRGB conversion, and stretch allocate additional full-size buffers. Tune on a representative preview where the process safely supports it, then verify full-frame edges and gradients.
Recorded subset execution took about 39.5 seconds for OSC workflow stages, 25.3 seconds for mono workflow stages, and 10.4 seconds for downstream combination/save/reopen on the validation machine. These are evidence identifiers for that run only, not performance promises.
Verified worked run¶
- Sample-set provenance: the two project-owned data sets in the verification table. The owner approved use; the repository retains no absolute path, observer/site field, or device serial.
- Application platform and settings: Windows MSVC x64 Release; native only; maximum 8 cores; exact input/output/binary hashes and summaries are in the evidence JSON.
- OSC result: 8 each bias, dark, dark-flat, flat, and light. Seven stages
completed, zero warnings/errors, one
5544 x 3684RGB master, report written. - RGB/LRGB input result: 8 each L/R/G/B lights and flats. Five stages completed; L/R/G/B plus combined RGB masters written. Four warnings accurately reported that the approved mono set supplied no bias/dark calibration for its flats.
- Downstream result: representative OSC/RGB/luminance crops completed native background, color where applicable, wavelet-denoise, stretch, star-mask, and masked-morphology checkpoints. OSC/RGB working FITS masters and a native identity LRGB combination were written; all FITS/PNG files passed finite, nonblank, precision, geometry/channel, state/metadata-as-applicable readback. The missing-parent save failed and succeeded after the documented recovery.
- Visual checkpoint: OSC and RGB report previews were nonblank astronomical fields containing the intended target. The RGB preview also showed strong channel/background mismatch and borders, demonstrating why crop/background/ color checkpoints cannot be skipped.
- Known limits: only selected subsets and representative downstream crops were executed; no complete-set quality/timing inference, photometric color claim, polished full-frame result, external tool/catalog, Linux, printing, or human review.
Warnings and limitations¶
- Never treat a successful stack or a warning count of zero as proof that the acquisition or processing choices are scientifically/aesthetically correct.
- The mono worked set lacked bias/dark data. Its four uncalibrated-flat warnings are retained specifically so this limitation is visible.
- Wrong CFA pattern produces wrong OSC color/interpolation. Confirm metadata or set the pattern deliberately.
- Dimensions alone do not establish channel/LRGB alignment. Inspect stars and borders at 100%.
- Crop before background modeling. Samples on galaxy, nebulosity, dust, halos, or large stars make the model remove real signal.
- Manual Color Calibration depends on the chosen white/background evidence. The default whole image is not automatically representative.
- LRGB Apply is destructive to the RGB target and marks it nonlinear. Save RGB and L checkpoints first; keep Preview area off for this process.
- Permanent stretches, curves, channel multipliers, clipping, and lossy delivery formats are not reversible from the result. Work on copies.
- StarNet, DeepSNR, PCC/SPCC, and plate solving have independent executable, model, catalog, WCS, response, privacy/network, and validation requirements. They were not part of this native-only worked run.
- Generated outputs and reports can expose paths/metadata. Sanitize evidence before sharing it outside the approved project context.
Troubleshooting and recovery¶
| Stage/symptom | Verified cause or failed checkpoint | Recovery | Resume/restart consequence | Evidence |
|---|---|---|---|---|
| Frames enter the wrong group | Missing/wrong metadata or grouping fields | Correct metadata/grouping or isolate the frame; revalidate | Manifest diff should recompute affected masters/downstream groups | Image Integration model/grouping source |
| Light has no or wrong calibration match | No compatible master, fallback policy, ambiguity, or override | Fix camera/exposure/filter/session grouping or assign the intended master; do not hide the warning | Calibration and dependent registration/stacking become dirty | CalibrationMatcher.cpp; report warnings |
| Flat reports no bias/dark master | Approved calibration set is incomplete or no match exists | Supply compatible flat calibration and rebuild, or explicitly retain the limitation | Flat master and dependent lights/stacks must be recomputed | Worked mono run: four warnings |
| OSC has implausible color/checker artifacts | Wrong CFA pattern or demosaic before correct raw calibration | Return to raw frames, set verified CFA, rebuild calibration/registration | Recompute OSC downstream stages | OSC source settings and Image Integration contract |
| Registration fails or stars double | Weak/wrong reference, insufficient stars, incompatible field, or over-complex transform | Choose a better reference, filter weak frames, verify overlap, simplify/retune transform | Recompute registration/alignment and dependent stages | Registration stage/source tests |
| Stack has borders or color gradients | Resampling canvas plus field drift; gradients/channel levels remain | Crop common region, model background, then color-calibrate before stretch | Keep original linear master and create a corrected branch | RGB worked-run checkpoint |
| RGB composition is tinted/black | Wrong R/G/B mapping, channel mismatch, or inappropriate Linear Match | Reopen channel masters; verify assignments/geometry/statistics; retry with Linear Match off | Composition only; channel masters remain reusable | Channel Composition process contract |
| LRGB has doubled stars or harsh seams | L/RGB mismatch, mixed crop/type, or Lightness too strong | Fix alignment/crop/type/background upstream; then reduce Lightness if needed | Reopen RGB checkpoint and recombine | LRGB source/process page |
| Background model contains target structure | Samples cover real signal or fit is too flexible | Remove contaminated samples; start RBF 0.5 or low polynomial order; compare model | Restore linear checkpoint and reapply | Background Extraction source |
| Color calibration creates a cast | Nonrepresentative white/background ROI or sparse/contaminated pixels | Inspect output masks, choose clean ROIs, adjust limits one at a time | Restore pre-calibration linear image | Color Calibration validation paths |
| Stretch clips shadows/highlights | Endpoint or transfer change is too aggressive | Restore linear/pre-stretch copy; reset 0/0.5/1; adjust in small steps |
Redo nonlinear branch only | Histogram Transformation source |
| Saved image looks unstretched | Viewer autostretch is display-only | Apply an intentional stretch to a duplicate, then save the duplicate | Linear working master stays correct | File/save and viewer contracts |
| Save reports success but output is suspect | Standard still save does not prove readback/content | Reopen; verify geometry/channels/precision/metadata; resave to a new path | No upstream recomputation if working master is intact | Worked save/reopen evidence |
Related workflows and references¶
- Start with Image Integration and use Image Calibration, Image Registration, and Image Stacking for complete parameters and algorithms.
- OSC preparation: Debayer, Split CFA, and CFA Integer Resample.
- Mono composition: Channel Composition and LRGB Combination.
- Linear correction: Crop, Background Extraction, Color Calibration, and Background Neutralization.
- Linear/noise/stretch choices: Wavelet Denoise, Generalized Hyperbolic Transformation, Histogram Transformation, and Curves Transformation.
- Final output: Saving And Exporting, File Formats, and Troubleshooting And Diagnostics.
- The Narrowband Imaging, Planetary Imaging, and Mosaic Workflow pages have different acquisition and verification gates; do not substitute this broadband recipe for them.
AfterNight source and focused tests are authoritative for current behavior. The sanitized evidence JSON is authoritative for the bounded execution observations; recommendations are labeled as starting points and require project-specific inspection.