this is a long post, but it’s needed to provide proper context. Thanks in advance to anyone willing to read through it and help me figure things out!
I’ve been struggling for days with what seems to be a calibration issue (or possibly a registration, or yet a dithering one) that I just can’t figure out.
Context:
I captured data over six consecutive nights from the Antares region — a difficult area to shoot from my location: it always stays below 18° in altitude, deep into the light pollution band (I’m shooting from a Bortle 7 zone), and I can only frame it for a couple of hours each night. That said, the images were taken under ideal conditions, though: perfectly clear skies and new moon. Only a couple of degrees higher, I successfully captured the Lagoon Nebula with just a couple of hours of data under much worse conditions, and I even got IC4592.
The sessions were shot with a modded Canon 90D, Askar FMA135, and L-PRO filter. I went with short 60s subs to avoid blowing out the background due to light pollution, which resulted in a very large dataset, collecting around 12 hours of total exposure. Standard ASIAIR dithering (2px every two frames, I believe — I’ve never changed it, though I’ve also never worked with such a wide FOV and I’m not sure how that factors in).
For each night, I took a specific flat frames set, while bias and darks were only captured during the first session.
However, unlike usual, for a variety of reasons, this time I only have the light and dark frames saved as FITS by the ASIAIR, while flats and biases are in Canon CR3 raw format. (Yes, I messed up and accidentally deleted the original CR3 light and dark frames.)
My usual processing workflow is in PixInsight. I don’t use WBPP — I go step by step: generate masters, calibrate lights, run SubframeSelector, then CC, debayering, alignment, integration, etc.
This time I’m losing my mind and can’t figure out what’s causing the issue I'm fighting with— or which dataset is to blame.
The first three below attached images show the result of the latest of dozens of attempts I’ve made over the past days: it’s one of many integrations, after a quick DynamicBackgroundExtraction and BackgroundNormalization pass. Every result, regardless of calibration strategy, ends up showing the same issue. This particular result used ~75% of the best subs selected via SubframeSelector, to ensure a clean and consistent dataset in terms of SNR, FWHM, altitude, etc. Around 9hrs integration with data as homogeneous as possible — yet the final outcome didn’t change. And it's terrible: I’ve never had a result like this — not even under a full Moon or with passing haze.
What I’m seeing:
- A kind of walking noise, drifting diagonally, along with dust-mote patterns that seem to follow the same motion, and some vertical banding typical of sensor noise.
- Some kind of mirrored artifacts in the dust-mote patterns: for instance, the large smudge I’ve cropped out appears mirrored and symmetrical — dark at the top, light at the bottom — as if it’s a classic flat frame artifact that’s drifting diagonally.
To me — unless I’m wrong? — this looks like a calibration issue, or possibly registration (but the stars look fine; the problem is only in the background).
Every attempt I’ve made results in only slight differences.
What I’ve already tested and verified:
- I tried generating master flats and biases directly from CR3 files, and also converting them to FITS via Siril before feeding them to PixInsight to generate XISF masters — just to rule out any orientation mismatch between flat/bias and the FITS dark/light data. I wanted to make sure all datasets had matching FIT headers and formats.
- I checked all flat frames and master flats from each session: the main dust mote — the one that matches the large artifact in the final integration — is consistently in the same position in all flats, regardless of framing shifts or meridian flips. As expected, it does not drift, and of course, flats themselves don’t rotate with a meridian flip.
- In the final image, the original mote location corresponds to the dark pattern in the top-left, not the light one in the bottom-left.
- Assuming the mirrored pattern was caused by incorrect flat orientation, I tried flipping the flats — the issue persisted. The mirrored smudges were still there.
- I also tested the possibility of bias frame orientation being the culprit for the walking noise: flipping the bias caused strong vertical banding, confirming the original bias orientation was correct.
- I tried running a session without flats or bias, calibrating only with darks — the result is in the fourth image I attached. The dust motes were clearly visible, but the mirrored pattern was gone. So yes, the problem does appear related to flats, but flipping them doesn’t solve it. Also, the walking noise turned into a sort of rain-like noise.
- For good measure, I even ran the whole thing in Siril — obviously, no difference.
(I didn’t convert CR3 to FITS directly in PixInsight, because PI doesn’t preserve Bayer pattern info in FIT headers — Siril does, and matches ASIAIR’s Darks and Lights FIT headers.) This way, I gave PI 4 datasets, all in FITS format from the start, so there’d be no mismatches during conversion to XISF.
That awful blotchy gray haze still remained, even though skies were clean — and if it were light pollution, I’d expect it to be uniform, and removable via background modeling in PI (as in other cases).
Any ideas? To me this still screams a calibration issue, especially with the flats (and/or bias). I’ve never had anything like this happen, neither with Canon sessions fully acquired in CR3, nor with ZWO sessions fully in FITS.
Could it be a problem with mixing CR3-based masters with FITS-acquired lights/darks?
Thanks to anyone who’s made it to the end of this!
Carlo



