Använda viktning i Subframe Selector i PixInsight
Använda viktning i Subframe Selector i PixInsight
Jag fick några förfrågningar i en annan tråd om hur man kan vikta subs i PixInsight. Så här kommer en kort beskrivning.
Syftet med att tilldela vikt är att låta bra subs bidra mer till den slutgiltiga bilden än sämre subs. Det är klart att man ska sålla bort de exponeringarna som är undermåliga. Men efter man har gjort det, kommer det alltid finnas subs kvar som är bättre än andra. Och dessa subs vill man ska bidra mer än de sämre.
Om man vill ha maximal skärpa i den stackade bilden, är det främst stjärnornas profil, eller utbredning som är ett bra mått på hur bra en exponering är. Stjärnornas profil anges med en parameter som heter Full Width Half Maximum, eller FWHM. Parametern talar om hur bred stjärnprofilen är i pixlar eller bådsekunder, vid halva dess intensitet. Parametern bestäms av hur bra seeing det var, hur bra monteringen höll stjärnan på samma plats (guide kvalitet), fokus, osv.
Vidare vill man att de bilder som har bäst signal-brus förhållande (Signal Noise Ratio, SNR) ska få bidra mer till den stackade bilden. Här ska jag visa hur man kan kombinera dessa parametrar för att bestämma hur mycket varje sub får bidra till slutresultatet.
Börja med att kalibrera dina bilder som vanligt. Man vill ju inte mäta heta pixlar eller ha amp glow som ger missbedömningar.
Ladda de kalibrerade bilder i skriptet SubFrameSelector. Det finns under menyn Scripts | Batch Processing.
Här har jag laddat upp tio bilder Mät alla bilder. Då skapas det en tabell med olika bildparametrar. Vi är intresserade av FWHM och SNRWeight. Om du inte guidar, behöver du kanske ta med Eccentricity, som anger hur avlånga stjärnorna är i bilden. När det gäller FWHM, är det minsta värdet bäst. SNRWeight ska däremot vara så stor som möjligt. Sortera bilderna enligt FWHM och notera det minsta och det största värdet. Sortera sedan enligt SNRWeight, och notera återigen det minsta och det största värdet.
Nu ska du skapa viktformeln i rutan Weighting, under rubriken Expressions. Uttrycket är:
(5.005 - FWHM) / (5.005 - 4.334) + (SNRWeight - 2.55) / (4.211 - 2.55)
Uttrycket säkerställer att den bästa exponeringen får värdet 1, och den sämsta får värdet 0 för varje parameter.
Nu ska dessa värden sparas i varje bild också. Du ska då låta skriptet kopiera (copy, INTE flytta: move) alla subs till en ny katalog. Samtidigt ger du viktfaktorn ett namn. I detta fall blir namnet FWHM_SNR. Fyll i detta under rubriken Output Viktigt: notera också vilken sub som fick störst värde för viktfaktorn. Denna bild kommer att bli referens när du stackar sen. Tryck nu "Output Subframes"
Dina kalibrerade bilder har nu sparats med ett nytt FITS nyckelord.
Nu kan du registrera bilderna som vanligt. Använd gärna referensbilden (med störst värde för viktfaktorn) som referens även här.
Efter registreringen av dina bilder ska de stackas. Öppna Image Integration och ladda dina registrerade bilder.
Under rubriken "Image Integration" väljer du Weights: FITS Keyword, och som Weight keyword väljer du det FITS nyckelord som du gav viktfaktorn (här: FWHM_SNR). Välj nu även den bild som hade högst värde för viktfaktorn som referens (välj i listan och tryck på knappen "Set Reference". Bilden flyttas då upp till överst i listan. Nu kan du välja din favorita stackningsmetod, med eller utan pixel rejection.
Lycka till.
Syftet med att tilldela vikt är att låta bra subs bidra mer till den slutgiltiga bilden än sämre subs. Det är klart att man ska sålla bort de exponeringarna som är undermåliga. Men efter man har gjort det, kommer det alltid finnas subs kvar som är bättre än andra. Och dessa subs vill man ska bidra mer än de sämre.
Om man vill ha maximal skärpa i den stackade bilden, är det främst stjärnornas profil, eller utbredning som är ett bra mått på hur bra en exponering är. Stjärnornas profil anges med en parameter som heter Full Width Half Maximum, eller FWHM. Parametern talar om hur bred stjärnprofilen är i pixlar eller bådsekunder, vid halva dess intensitet. Parametern bestäms av hur bra seeing det var, hur bra monteringen höll stjärnan på samma plats (guide kvalitet), fokus, osv.
Vidare vill man att de bilder som har bäst signal-brus förhållande (Signal Noise Ratio, SNR) ska få bidra mer till den stackade bilden. Här ska jag visa hur man kan kombinera dessa parametrar för att bestämma hur mycket varje sub får bidra till slutresultatet.
Börja med att kalibrera dina bilder som vanligt. Man vill ju inte mäta heta pixlar eller ha amp glow som ger missbedömningar.
Ladda de kalibrerade bilder i skriptet SubFrameSelector. Det finns under menyn Scripts | Batch Processing.
Här har jag laddat upp tio bilder Mät alla bilder. Då skapas det en tabell med olika bildparametrar. Vi är intresserade av FWHM och SNRWeight. Om du inte guidar, behöver du kanske ta med Eccentricity, som anger hur avlånga stjärnorna är i bilden. När det gäller FWHM, är det minsta värdet bäst. SNRWeight ska däremot vara så stor som möjligt. Sortera bilderna enligt FWHM och notera det minsta och det största värdet. Sortera sedan enligt SNRWeight, och notera återigen det minsta och det största värdet.
Nu ska du skapa viktformeln i rutan Weighting, under rubriken Expressions. Uttrycket är:
(5.005 - FWHM) / (5.005 - 4.334) + (SNRWeight - 2.55) / (4.211 - 2.55)
Uttrycket säkerställer att den bästa exponeringen får värdet 1, och den sämsta får värdet 0 för varje parameter.
Nu ska dessa värden sparas i varje bild också. Du ska då låta skriptet kopiera (copy, INTE flytta: move) alla subs till en ny katalog. Samtidigt ger du viktfaktorn ett namn. I detta fall blir namnet FWHM_SNR. Fyll i detta under rubriken Output Viktigt: notera också vilken sub som fick störst värde för viktfaktorn. Denna bild kommer att bli referens när du stackar sen. Tryck nu "Output Subframes"
Dina kalibrerade bilder har nu sparats med ett nytt FITS nyckelord.
Nu kan du registrera bilderna som vanligt. Använd gärna referensbilden (med störst värde för viktfaktorn) som referens även här.
Efter registreringen av dina bilder ska de stackas. Öppna Image Integration och ladda dina registrerade bilder.
Under rubriken "Image Integration" väljer du Weights: FITS Keyword, och som Weight keyword väljer du det FITS nyckelord som du gav viktfaktorn (här: FWHM_SNR). Välj nu även den bild som hade högst värde för viktfaktorn som referens (välj i listan och tryck på knappen "Set Reference". Bilden flyttas då upp till överst i listan. Nu kan du välja din favorita stackningsmetod, med eller utan pixel rejection.
Lycka till.
Wim
Skywatcher 150PDS, BK MN190 DS, ST80, AZ-EQ6 GT + EQ3 PRO, ZWO ASI294MM-PRO, ZWO ASI174MM-Cool, ZWO ASI290MM, ZWO ASI120MM, Rock64, indi/kstars, PixInsight
Skywatcher 150PDS, BK MN190 DS, ST80, AZ-EQ6 GT + EQ3 PRO, ZWO ASI294MM-PRO, ZWO ASI174MM-Cool, ZWO ASI290MM, ZWO ASI120MM, Rock64, indi/kstars, PixInsight
Re: Använda viktning i Subframe Selector i PixInsight
Tack för denna utomordentligt tydliga lektion i Pixinsight!
Nu har jag sysselsättning ett bra tag för att se om det ger några förbättringar på gamla bilder. Jag lägger till "Eccentricity" också då värden över 0,5 i många fall tenderar att ge synbara effekter på stjärnor i mina bilder.
/SvenP
Nu har jag sysselsättning ett bra tag för att se om det ger några förbättringar på gamla bilder. Jag lägger till "Eccentricity" också då värden över 0,5 i många fall tenderar att ge synbara effekter på stjärnor i mina bilder.
/SvenP
Re: Använda viktning i Subframe Selector i PixInsight
Förvänta inga underverk. Det första verktyget att sålla bort dålig data med är blink. Men för de återstående bilderna kan detta skript ge lite bättre resultat.
Wim
Skywatcher 150PDS, BK MN190 DS, ST80, AZ-EQ6 GT + EQ3 PRO, ZWO ASI294MM-PRO, ZWO ASI174MM-Cool, ZWO ASI290MM, ZWO ASI120MM, Rock64, indi/kstars, PixInsight
Skywatcher 150PDS, BK MN190 DS, ST80, AZ-EQ6 GT + EQ3 PRO, ZWO ASI294MM-PRO, ZWO ASI174MM-Cool, ZWO ASI290MM, ZWO ASI120MM, Rock64, indi/kstars, PixInsight
Re: Använda viktning i Subframe Selector i PixInsight
Som nybörjare till detta komplexa paket så är alla tips mycket välkomna.
/Håkan
/Håkan
Re: Använda viktning i Subframe Selector i PixInsight
Detta måste testas! Tack för att du tog dig tiden att skriva en sådan ingående beskrivning.
/Martin
/Martin
Re: Använda viktning i Subframe Selector i PixInsight
Hej!
Jättebra beskrivning av en viktig funktion! En kommentar och en fråga:
Det du beskriver här är scriptet Subframeselector. Med senaste versionen finns detta också som Process. Den funkar likdant, men som process är den lite flexiblare i användandet, och gränssnittet är lite lite annorlunda. Men funktionen precis den samma.
Så en fråga: på tutorialen på:
https://www.lightvortexastronomy.com/tu ... l#Section5" onclick="window.open(this.href);return false;
anger de en "weighting expression" som är lite annorlunda än din. Jag har använt den från lightvortexastronomy och tycker den funkar bra. Så jag blir nyfiken på din. Finns det nåt skäl att välja den ena över en andra? Kanske finlir, men jag blir nyfiken på logiken i dem - kan du säga nåt mer om det?
Magnus
Jättebra beskrivning av en viktig funktion! En kommentar och en fråga:
Det du beskriver här är scriptet Subframeselector. Med senaste versionen finns detta också som Process. Den funkar likdant, men som process är den lite flexiblare i användandet, och gränssnittet är lite lite annorlunda. Men funktionen precis den samma.
Så en fråga: på tutorialen på:
https://www.lightvortexastronomy.com/tu ... l#Section5" onclick="window.open(this.href);return false;
anger de en "weighting expression" som är lite annorlunda än din. Jag har använt den från lightvortexastronomy och tycker den funkar bra. Så jag blir nyfiken på din. Finns det nåt skäl att välja den ena över en andra? Kanske finlir, men jag blir nyfiken på logiken i dem - kan du säga nåt mer om det?
Magnus
Re: Använda viktning i Subframe Selector i PixInsight
Jag har inte installerat den nyaste versionen av PixInsight än, så jag kan inte kommentera skillnaderna mellan pricessen och skriptet.
Formeln som Kayron använder är densamma som min, med den enda skillnaden att han multiplicerar med en procentfaktor, så att fwhm eller snr eller eccentricity kan ha mer eller mindre betydelse i den totala viktfaktorn. PixInsight räknar sedan ändå om vikterna vid stackningen så att normaliserat_bildvikt = bildvikt / referens_bildvikt. Det är därför att man bör använda bilden som har störst viktvärde som referens.
Rent matematiskt är
1- (x - min)/(max - min) = (max - x)/(max - min)
Det är bara att min variant använder ett räknesätt mindre.
Formeln som Kayron använder är densamma som min, med den enda skillnaden att han multiplicerar med en procentfaktor, så att fwhm eller snr eller eccentricity kan ha mer eller mindre betydelse i den totala viktfaktorn. PixInsight räknar sedan ändå om vikterna vid stackningen så att normaliserat_bildvikt = bildvikt / referens_bildvikt. Det är därför att man bör använda bilden som har störst viktvärde som referens.
Rent matematiskt är
1- (x - min)/(max - min) = (max - x)/(max - min)
Det är bara att min variant använder ett räknesätt mindre.
Wim
Skywatcher 150PDS, BK MN190 DS, ST80, AZ-EQ6 GT + EQ3 PRO, ZWO ASI294MM-PRO, ZWO ASI174MM-Cool, ZWO ASI290MM, ZWO ASI120MM, Rock64, indi/kstars, PixInsight
Skywatcher 150PDS, BK MN190 DS, ST80, AZ-EQ6 GT + EQ3 PRO, ZWO ASI294MM-PRO, ZWO ASI174MM-Cool, ZWO ASI290MM, ZWO ASI120MM, Rock64, indi/kstars, PixInsight
Re: Använda viktning i Subframe Selector i PixInsight
Hej!
Ah, där ser man. Jag såg inte igenom symbolerna i uttrycket. Det vore dock kul om det fanns olika perspektiv på hur viktning kunde göras.
Skillnaden mellan scriptet och processen Subframeselector är framförallt att processen öppnar tre fönster, som är lite smidigare att arbeta med, och att den inte som scriptet gör "låser" arbetsytan. Man kan smidigt gå från processen till en annan process utan att stänga ner den och därmed t ex förlora den mätning man gjort. Jag tenderar att ofta vilja backa, ändra, kolla på nån subframe t ex, och det tillåter processen smidigt. Det man ska komma ihåg med Processen är att skifta mellan "measure" och "output subframes" högst upp i "huvudfönstret" när man vill ha ut godkända subs. Jag missade det först och svor när jag klickade på "execute"-ikonen men det enda som kom var en ny mätning...![glad :)](./images/smilies/icon_e_smile.gif)
Magnus
Ah, där ser man. Jag såg inte igenom symbolerna i uttrycket. Det vore dock kul om det fanns olika perspektiv på hur viktning kunde göras.
Skillnaden mellan scriptet och processen Subframeselector är framförallt att processen öppnar tre fönster, som är lite smidigare att arbeta med, och att den inte som scriptet gör "låser" arbetsytan. Man kan smidigt gå från processen till en annan process utan att stänga ner den och därmed t ex förlora den mätning man gjort. Jag tenderar att ofta vilja backa, ändra, kolla på nån subframe t ex, och det tillåter processen smidigt. Det man ska komma ihåg med Processen är att skifta mellan "measure" och "output subframes" högst upp i "huvudfönstret" när man vill ha ut godkända subs. Jag missade det först och svor när jag klickade på "execute"-ikonen men det enda som kom var en ny mätning...
![glad :)](./images/smilies/icon_e_smile.gif)
Magnus
Re: Använda viktning i Subframe Selector i PixInsight
Om man vill prata finlir. Lägger man in en kvadrat: ((max-x)/(max-min))^2, så blir viktningen starkare mot den bästa bilden. Å andra sidan gör all viktning att brusreduceringen också blir mindre. Den "bästa" bilden bidrar ju lika mycket med brus som med signal. Ärligt talat tror jag inte att man skulle se en förbättring i den slutliga bilden om man använder nära men olika varianter av viktfaktorer.
All form av viktning kommer att leda till sämre signal-brus förhållande än ingen viktning. Viktningens syfte är att förbättra andra egenskaper i bilden, på bekostnad av ökad brus. "There ain't no such thing as a free lunch." Smakar det, så kostar det.
All form av viktning kommer att leda till sämre signal-brus förhållande än ingen viktning. Viktningens syfte är att förbättra andra egenskaper i bilden, på bekostnad av ökad brus. "There ain't no such thing as a free lunch." Smakar det, så kostar det.
Wim
Skywatcher 150PDS, BK MN190 DS, ST80, AZ-EQ6 GT + EQ3 PRO, ZWO ASI294MM-PRO, ZWO ASI174MM-Cool, ZWO ASI290MM, ZWO ASI120MM, Rock64, indi/kstars, PixInsight
Skywatcher 150PDS, BK MN190 DS, ST80, AZ-EQ6 GT + EQ3 PRO, ZWO ASI294MM-PRO, ZWO ASI174MM-Cool, ZWO ASI290MM, ZWO ASI120MM, Rock64, indi/kstars, PixInsight
Re: Använda viktning i Subframe Selector i PixInsight
Hej och tack för ett mycket intressant inlägg!
Bilder med tydliga satellitspår får ju ett helt felaktigt, högt SNR. Ett sådant fel kommer ju reflekteras i viktningen och bilden kommer få ett oförtjänt gott index.
- Sorterar du bort alla sådana bilder redan i Blink-processen eller spelar det mindre roll för slutresultatet?
Pixel rejection brukar ju vara mycket effektivt på att ta bort spåren och tidigare har jag låtit de bilderna vara med, jag har bara inte använt dom som referens för Integrationen. Vad de förövrigt bidrar med, positivt eller negativt, har jag ingen aning om...
/anders
Bilder med tydliga satellitspår får ju ett helt felaktigt, högt SNR. Ett sådant fel kommer ju reflekteras i viktningen och bilden kommer få ett oförtjänt gott index.
- Sorterar du bort alla sådana bilder redan i Blink-processen eller spelar det mindre roll för slutresultatet?
Pixel rejection brukar ju vara mycket effektivt på att ta bort spåren och tidigare har jag låtit de bilderna vara med, jag har bara inte använt dom som referens för Integrationen. Vad de förövrigt bidrar med, positivt eller negativt, har jag ingen aning om...
/anders
Anders Gengård, Partille
Re: Använda viktning i Subframe Selector i PixInsight
Om det gäller bara en eller ett fåtal bilder med spår, utelämnar jag den/dem. Men jag tar minst 50 eller upp till 100 L exponeringar med min cmos, så några få färre spelar ingen roll. RGB exponeringarna är färre, men då använder jag inte SF, så klart.
I SFS viktrutinen kan du ju vikta utan SNR i formeln. Man måste alltid ha ett syfte med SFS viktning, annars är det lika bra att använda vanlig stackning utan SFS.
Om du använder ccd, tar färre exponeringar och inte vill slänga ut subs, bör du använda large scale pixel rejection.
I SFS viktrutinen kan du ju vikta utan SNR i formeln. Man måste alltid ha ett syfte med SFS viktning, annars är det lika bra att använda vanlig stackning utan SFS.
Om du använder ccd, tar färre exponeringar och inte vill slänga ut subs, bör du använda large scale pixel rejection.
Wim
Skywatcher 150PDS, BK MN190 DS, ST80, AZ-EQ6 GT + EQ3 PRO, ZWO ASI294MM-PRO, ZWO ASI174MM-Cool, ZWO ASI290MM, ZWO ASI120MM, Rock64, indi/kstars, PixInsight
Skywatcher 150PDS, BK MN190 DS, ST80, AZ-EQ6 GT + EQ3 PRO, ZWO ASI294MM-PRO, ZWO ASI174MM-Cool, ZWO ASI290MM, ZWO ASI120MM, Rock64, indi/kstars, PixInsight