Hoe stacken echt werkt (en waarom meer frames niet altijd beter is)

Wat stacken met een astrofoto doet, waarom het meer is dan foto's middelen, hoeveel frames genoeg zijn en wanneer extra frames niet meer helpen.

Vraag waarom we astrofoto’s stacken en je krijgt meestal “om ruis te verminderen” te horen. Dat klopt, maar je hebt er weinig aan. Het vertelt je niet hoeveel frames je nodig hebt, waarom jouw stack van 200 er slechter uitziet dan andermans stack van 60, of waarom een extra uur soms niets verandert.

De eigenlijke redenering is kort, en de meeste stackbeslissingen volgen eruit.

Signaal telt op. Ruis niet.

Richt je telescoop op een nevel en maak een belichting. Elke pixel ontvangt een aantal fotonen. Dat aantal ligt niet vast: fotonen komen willekeurig aan, en het aantal varieert van belichting tot belichting met ruwweg zijn eigen vierkantswortel. Vang 100 fotonen en de variatie tussen frames is ongeveer 10. Vang er 10.000 en het is ongeveer 100.

Stack nu N frames. Het signaal, het echte aantal fotonen van het object, telt lineair op: N keer zoveel. De ruis is willekeurig en heft zichzelf deels op, dus die groeit alleen als de vierkantswortel van N.

De signaal-ruisverhouding verbetert dus met √N.

Die ene relatie verklaart het meeste van wat je ziet:

  • 4 frames is twee keer zo goed als 1.
  • 16 frames is twee keer zo goed als 4.
  • 64 frames is twee keer zo goed als 16.

Elke verdubbeling van kwaliteit kost vier keer zoveel frames. Daarom is het verschil tussen 10 en 40 frames groot en het verschil tussen 200 en 260 onzichtbaar. Valt dat tweede je tegen, dan heb je niets fout gedaan. Je voegde 30 % meer frames toe voor 14 % verbetering, en 14 % ligt onder wat het oog betrouwbaar opmerkt.

Voor een zichtbare stap omhoog vanaf een stack van 200 frames heb je er ongeveer 800 nodig.

Daarom bepaalt uitleesruis je sub-lengte

Een tweede ruisbron gedraagt zich niet zo. Elke keer dat de sensor wordt uitgelezen, voegt de elektronica een vaste straf toe. Die hangt niet af van de belichtingstijd; een frame van 5 seconden en een frame van 500 seconden betalen hem elk één keer.

Een gegeven totale integratietijd draagt dus uitleesruis in verhouding tot het aantal frames waarin je hem opdeelt. Negentig minuten als 540 subs van tien seconden betalen de straf 540 keer. Dezelfde negentig minuten als 18 subs van vijf minuten betalen hem 18 keer.

Dat is de hele redenering achter langere sub-belichtingen. Het verklaart ook waarom een gegidste opstelling op zwakke objecten uitloopt op een slimme telescoop bij dezelfde totale tijd. De gegidste opstelling verzamelt niet meer licht. Hij leest de sensor dertig keer minder vaak uit.

De keerzijde is dat lange subs goede volging nodig hebben, en een frame van 300 seconden met strepen is niets waard. De juiste sub-lengte is de langste die je montering betrouwbaar levert, en dat is een mechanische vraag, geen bewerkingsvraag.

Bij het uitlijnen gaan stacks verloren

Het √N-argument gaat ervan uit dat elk frame hetzelfde signaal aan dezelfde pixel bijdraagt. Daarvoor moeten de frames precies op elkaar liggen, en daar gaan de meeste teleurstellende stacks mis.

Frames bewegen tussen belichtingen: drift van de montering, refractie bij de horizon, doorbuiging en, op elke azimutale montering (dus ook elke slimme telescoop), veldrotatie. In een uur kunnen frames van het begin en het einde tientallen graden ten opzichte van elkaar gedraaid zijn.

Uitlijning die alleen verschuiving aankan, redt dat niet, en het gaat stil mis. Er komt geen foutmelding, alleen een stack waarin alles licht uitgesmeerd is. Het lijkt op slechte scherpstelling of slechte seeing, en mensen zoeken een seizoen lang naar het verkeerde probleem.

Goede registratie werkt vanuit de sterren zelf. Bouw driehoeken uit de helderste sterren in elk frame en beschrijf ze met zijdeverhoudingen, die verschuiving, rotatie en schaal overleven. Overeenkomende driehoeken stemmen over welke ster bij welke hoort, een robuuste fit gooit tegenstrijdige stemmen weg, en een verfijningsronde brengt het resultaat naar subpixel-nauwkeurigheid.

Die laatste stap doet ertoe. Een consistente fout van een halve pixel over de stack kost je hetzelfde detail als iets slechtere seeing.

Afkeuring: weghalen wat middelen niet kan

Middelen helpt tegen willekeurige ruis. Het helpt niet tegen wat niet willekeurig is: satellieten, vliegtuigen, kosmische straling, koplampen van een auto die door het veld zwaaien.

Middel 100 frames waarvan er één een satellietspoor heeft, en het spoor blijft op 1 % sterkte staan. Dat is zwak, maar zichtbaar tegen een donkere hemel, en het overleeft het strekken.

Afkeuring haalt het weg door per pixel over de stack te kijken en waarden weg te gooien die er niet thuishoren. De methoden verschillen in wat “niet thuishoren” betekent, en de keuze ertussen is niet willekeurig.

Sigma clipping neemt per pixel het gemiddelde en de standaardafwijking en laat waarden voorbij een drempel vallen. Het werkt goed en is terecht de standaard, maar het gaat ervan uit dat elk frame dezelfde verdeling bemonstert.

Gewinsoriseerde sigma clipping trekt uitschieters naar de kern toe in plaats van ze te verwijderen. Dat is veiliger bij ondiepe stacks, waar een standaardafwijking schatten uit acht monsters en dan waarden weggooien vaak echt signaal verwijdert.

Linear-fit clipping stelt een andere vraag. Het sorteert de waarden van elke pixel over de stack en trekt er een lijn doorheen. Een gelijkmatige spreiding, zoals die door veranderende transparantie in de loop van de nacht ontstaat, past in dat model en kost niets, terwijl een satellietspoor nog steeds één waarde ver van de lijn is.

Dat verschil weegt zwaarder dan het klinkt. Als er hoge bewolking binnenkomt, of het object naar de lichtkoepel zakt, verschillen de frames werkelijk. De spreiding is echte data, geen ruis. Sigma clipping ziet frames aan de uiteinden van het bereik als uitschieters en gooit ze weg, en die aan de donkere kant zijn meestal de helderste frames van de sessie. Je verliest je beste data aan een methode die aannam dat ze fout waren.

Let dus op hoeveel het hemelniveau per frame verloopt. Is het stabiel, dan is sigma clipping juist. Beweegt het meer dan een paar procent, dan werkt een lineaire fit beter. Akastroid meet de drift en schakelt boven ongeveer 8 % automatisch om.

Ondiepe stacks vragen een andere behandeling

Met acht frames kun je geen verdeling schatten. Elke afkeurmethode werkt met te weinig monsters, en agressieve clipping verwijdert echt signaal terwijl ze beweert uitschieters te verwijderen.

Onder ongeveer acht frames is gewoon middelen of een mediaan meestal de veiligste keuze. Tussen acht en vijftien: winsoriseren. Daarboven wordt echte clipping veilig.

Die fout zie je makkelijk over het hoofd. Agressieve afkeuring op een ondiepe stack levert een beeld op dat er schoon uitziet en stilletjes zwak detail mist. Het ziet er niet kapot uit, alleen een beetje leeg, en niets op het scherm vertelt je waarom.

Wanneer meer frames niet meer helpen

Er zijn drie gevallen waarin het volgende uur je niets oplevert.

Uitleesruis. Bij zeer korte subs wordt de ruisvloer bepaald door het uitlezen, niet door hemelfotonen. Stacken helpt nog, maar je vecht tegen een vaste kostenpost die meer frames niet weghalen. Langere subs wel.

De hemel, bij een zwak object. Onder een heldere hemel domineert de achtergrond, en de zwakke buitendelen van je object komen er misschien nooit bovenuit. De signaal-ruisverhouding verbetert nog steeds met √N, maar √N van nauwelijks detecteerbaar is nog steeds nauwelijks detecteerbaar. Een donkerdere hemel of smalbandfilters veranderen dat. Meer tijd niet.

Uitlijning. Als de registratie fouten van een halve pixel achterlaat, voeg je met meer frames meer licht verkeerd geregistreerde data toe. De stack wordt gladder en niet scherper. Controleer dit voordat je de hemel de schuld geeft.

Een werkbaar antwoord

  • Sub-lengte: de langste die je montering betrouwbaar volgt. Die bepaalt de uitleesruis, en uitleesruis domineert bij zwakke objecten.
  • Aantal frames: denk in factoren van vier. Voor een zichtbare verbetering plan je te verviervoudigen.
  • Registratie: moet rotatie aankunnen op elke azimutale montering.
  • Afkeuring: stem die af op de diepte van je stack en de stabiliteit van je nacht.
  • Ken je limiet: uitleesruis, hemelhelderheid of uitlijning. Meer frames helpen alleen bij de eerste twee, en dan langzaam.

Hiervoor heb je geen wiskunde nodig voorbij √N, maar het verklaart wel waarom een stack waar je niet blij mee bent zo is uitgevallen, en dat helpt meestal meer dan nog een schuifregelaar.

Lees het Engelse origineel · Ook in het Čeština · Dansk · Deutsch · Ελληνικά · Español · Suomi · Français · Hrvatski · Magyar · Italiano · 日本語 · Norsk bokmål · Português (Brasil) · Română · Slovenčina · Slovenščina · Srpski · Svenska · Українська · 繁體中文

Probeer het op je eigen data

Akastroid doet alles uit deze gids automatisch, en vertelt je wat het gedaan heeft.

Akastroid downloaden (gratis)