Espanjalaisen Pleiades Astrophoton PixInsight on saavuttanut viime aikoina paljon suosiota tähtikuvaajien keskuudessa kuvienkäsittelyohjelmistona. Hieman yli vuosi sitten pääsin kokeilemaan ohjelmaa ja vakuuttuneena päädyin ostamaan ohjelman lisenssin. Ohjelma tarjoaa hyvin monipuoliset ja ilmaisuvoimaiset työkalut, mutta asian kääntöpuolena ohjelman oppimiskäyrä on hyvin jyrkkä. PixInsightin lähestymistapa kuvienkäsittelyyn on varsin teknillis-matemaattinen, mikä voi osalle kuvaajista olla kauhistus. Kynnystä voi nostaa myös PixInsightin hinta. Tätä kirjoittaessa ohjelman lisenssi maksaa veroineen noin 207 euroa. Toisaalta esimerkiksi Photoshop CS6 maksaa Verkkokaupassa yli 900 euroa, ja siitä puuttuu monia tähtikuvaajalle äärimmäisen tärkeitä työkaluja, jotka PixInsightista löytyvät. PixInsightista on myös saatavilla kokeilulisenssi, jolla ohjelman saa käyttöönsä 45 päivän ajaksi ilmaiseksi. Omien kokemusteni perusteella voin sanoa, että ohjelma on hintansa arvoinen, enkä kadu hetkeäkään siihen sijoittamista. Tämä kirjoitus toivottavasti helpottaa pääsyä PixInsightin maailmaan ja kohti paremmin käsiteltyjä tähtikuvia.

Mainittakoon vielä erityisesti se, että PixInsight on ainoa ohjelma jonka tarvitset kuvien käsittelyyn. Sillä onnistuu kuvien niin kalibrointi, pinoaminen kuin loppukäsittelykin. Mitään muuta ei tarvita!

Kirjoitushetkellä PixInsightin uusin vakaa versio on 1.8 RC7. Kuvakaappaukset ja ohjeet pätevät tähän versioon, mutta toiminevat myös vähän myöhemmissä versioissa. Kuvankäsittely vaatii tietokoneelta paljon raskaita laskutoimituksia ja työmuistia, ja PixInsight onkin vähän aikaa sitten pudottanut virallisen tuen 32-bittisiltä käyttöjärjestelmiltä, joilla käytettävissä olevan muistin määrä on rajattu vain muutamaan gigatavuun. Ohjelma vaatii siis 64-bittisen käyttöjärjestelmän. PixInsight toimii niin Windowsilla, Linuxilla, OSX:llä kuin FreeBSD:lläkin.

Jos haluaa harjoitella PixInsightin käyttöä mutta hyvästä kuvadasta on puutetta, Jim Mistin sivuilla on jaossa erittäin hyvälaatuista CCD-raakadataa harjoittelua varten. Data on ehkä liiankin hyvää, sen kanssa ei pääse juurikaan kohinanpoistoa opettelemaan. Kuvat ovat myös valmiiksi kalibroituja, joten kalibrointia ei voi näillä kuvilla harjoitella.

PixInsight ja sen filosofia

PixInsightin kuvankäsittely-ympäristö on oliopohjainen, mikä tarkoittaa jotakuinkin sitä, että sekä kuvat että työkalut (PixInsightin termistössä prosessit) ovat olemassa ohjelmassa itsenäisinä olioina. Prosessit eivät ole tietoisia kuvaolioista eivätkä kuvaoliot prosesseista. Ote PixInsightin Frequently Asked Questions -sivulta selittää asian seuraavasti:

In PixInsight, you define an arbitrary set of process instances independently of images. If necessary, a process can acquire some properties from one or more existing images—or even from theoretical, virtual images—as a pattern to define its parameters, just for convenience. However, the process itself does not depend on any particular image. You define a set of process instances that you can store, organize, modify and reuse arbitrarily as self-sufficient, live objects. Eventually, one or more of these process instances can be executed on one or more objects such as images, disk files, elements of the graphical interface, or special control objects that can change the behavior of the whole PixInsight platform globally—processes are not necessarily tied to images in PixInsight. This is a nonlinear workflow and an object-oriented environment.

Tämä saattaa kuulostaa tutulta olio-ohjelmointiin tutustuneille. Muille lähestymistapa voi vaikuttaa hyvin teoreettiselta ja epämääräiseltä, mutta on lähemmin tarkasteltuna hyvin käytännöllinen ja voimakas.

Yleisin kuvankäsittelytapaus PixInsightissa on sellainen, että ohjelmaan avataan uusi kuvaolio sekä haluttu prosessiolio (esim. terävöitysprosessi). Prosessin ominaisuuksia (terävöityksen voimakkuus ja laajuus) muokataan halutuiksi, minkä jälkeen prosessi suoritetaan kohdekuvalle. Lähes kaikki PixInsightin prosessit vaativat kohdekuvan, jolle prosessi suoritetaan. Muutamia prosesseja voi suorittaa myös globaalisti, ilman kohdekuvaa. On myös muutamia niin sanottuja dynaamisia prosesseja, jotka eivät ole täysin itsenäisiä olioita, vaan ovat riippuvaisia jostakin tietystä kuvaoliosta. Näistä kerron lisää vähän myöhemmin. Prosessin suorittamisen jälkeen prosessiolio voidaan hävittää.

PixInsightin voima piilee siinä, että olioita voi myös tallentaa myöhemmäksi! Jos tahdot tehdä esimerkiksi samanlaisen terävöityksen kaikille kuvillesi, voit tallentaa terävöitysprosessin halutuilla asetuksilla ja avata sen taas myöhemmin jotakin toista kuvaa varten. Sama pätee kaikkiin prosesseihin. Palaan myöhemmin kirjoituksessa siihen, miten näitä asioita sovelletaan käytännössä.

PixInsightilla ja sen tekijöillä on hyvin dokumentaarinen filosofia kuvankäsittelyyn, mikä poikkeaa paljon perinteisestä Photoshop-mentaliteetista. Kaikesta käsittelystä pyritään tekemään toistettavaa, ja kaikki pohjautuu olemassaolevaan kuvadataan. Kuvia ei manuaalisesti “kaunistella” esimerkiksi maalaamalla kuvaan elementtejä joita siinä ei alunperin ole tai kloonaamalla epätäydellisyyksiä piiloon. Jos lähtödatassa on vikaa, tulee tuottaa parempaa lähtödataa. On totta kai lopulta kuvaajasta ja käsittelijästä itsestään kiinni mihin rajan vetää. Useimpien tavoitteena taitaa kuitenkin yksinkertaisesti olla kauniiden kuvien tuottaminen.

PixInsight tukee myös kaikenlaisten operaatioiden skriptaamista, mutta en ole itse perehtynyt asiaan kovin syvällisesti, joten en käsittele asiaa tarkemmin tässä kirjoituksessa. PixInsightin mukana tulee iso liuta valmiita hyödyllisiä skriptejä, jotka löytyvät Script-valikosta. Lisää skriptejä löytyy myös PixInsightin keskustelufoorumilta.

Prosessien perusteet

PixInsightissa kaikki kuvankäsittelyoperaatiot tehdään prosesseilla. Kaikki ohjelman prosessit löytyvät Process-valikosta. Jokaisen prosessin dokumentaatiota voi selata avaamalla ikkunan vasemmasta laidasta Process Explorer -välilehden. Jokaisen prosessi-ikkunan oikeassa alalaidassa on myös nappi, joka avaa dokumentaation. Napissa on ikoni, joka näyttää paperiarkilta, jonka nurkka on taitettu. Valitettavan monesta prosessista puuttuu vielä dokumentaatio. Ne dokumentit, jotka on olemassa, ovat kuitenkin äärimmäisen kattavia ja syvällisiä. Jokaisesta prosessista saa paljon tietoa myös viemällä hiiren kursorin minkä tahansa asetuksen päälle. Kursorin viereen aukeaa paljon lisätietoa asetuksesta ja sen käytöstä.

Normaali prosessi

Jokaisen prosessi-ikkunan ehkä tärkein nappi on Apply-nappi, jonka ikoni on sininen neliö. Apply suorittaa prosessin sillä hetkellä valittuna olevalle kuvalle. Valittu kuva on siis prosessin kohdekuva.

Apply-napin vasemmalla puolella on myös kolmiomaisella ikonilla kuvitettu nappi, jonka voi raahata haluamansa kuvan päälle, jolloin prosessi suoritetaan osoitetulle kuvalle. Kolmio on siis eräänlainen tähtäin, jolla voi valita kohdekuvan. Jos kolmio raahataan ohjelman harmaan taustan päälle, prosessin asetukset tallentuvat ohjelman työpöydälle niin sanotuksi prosessi-ikoniksi. Tuplaklikkaamalla tätä ikonia prosessin saa auki uudestaan samoilla asetuksilla milloin vain. Ikonin voi myös nimetä uudestaan klikkaamalla ikonia oikealla hiirennapilla ja valitsemalla Rename Process Icon.

Kuten aiemmin kirjoitin, prosesseja on kolmenlaisia:

  • Normaaleja prosesseja

  • Globaaleja prosesseja

  • Dynaamisia prosesseja

Globaali prosessi

Normaalit prosessit olen jo käsitellyt, mutta globaalit ja dynaamiset prosessit vaatinevat lisäselvitystä. Globaaleilla prosesseilla ei ole kohdekuvaa lainkaan. Hyvä esimerkki globaalista prosessista on kuvien pinoamiseen käytetty ImageIntegration-prosessi. Prosessille annetaan lista kuvatiedostoista, jotka halutaan pinota yhteen. Kun prosessi suoritetaan, se luo uuden kuvaolion, jonka sisältönä on annettujen kuvatiedostojen pino. Prosessi ei siis kohdistu mihinkään olemassaolevaan kuvaolioon kuten normaalit prosessit. Globaalien prosessien ikkunoiden alalaidassa on neliskanttisen Apply-napin sijaan pyöreä Apply Global -nappi, joka suorittaa prosessin.

Dynaaminen prosessi

Dynaamiset prosessit puolestaan ovat vahvasti sidoksissa tiettyyn kuvaolioon. Dynaamisen prosessin tunnistaa jo nimestä. Nimi alkaa aina sanalla “Dynamic”. DynamicPSF on hyvä esimerkki dynaamisesta prosessista. DynamicPSF:n avulla voidaan tutkia tietystä kuvasta löytyvien tähtien keskimääräisiä ominaisuuksia, kuten muotoa. Näiden ominaisuuksien perusteella prosessi luo keskimääräistä tähteä vastaavan mallikuvan, jota voi hyödyntää kuvankäsittelyssä. Dynaamisen tästä prosessista tekee se, että jo ennen prosessin suorittamista prosessille täytyy osoittaa kuvasta halutut mittatähdet, ja tätä ei voisi tehdä jos prosessi olisi itsenäinen eikä olisi  tietoinen muista olioista.

Huomioita järjestelmäkameroista

PixInsight saattaa avata järjestelmäkameroiden raakakuvat automaattisesti värillisinä. Kuvien kalibrointia varten täytyy kuitenkin päästä käsiksi varsinaiseen mustavalkoiseen raakadataan. PixInsightin pääikkunan vasemmassa laidassa on Format Explorer -välilehti, josta voi muutella kaikkia PixInsightin tiedostoformaatteja koskevia asetuksia. Jos välilehteä ei näy, sen saa esiin valikosta View -> Explorer Windows.

Raakakuva-asetukset järjestelmäkamerakuville

Raakakuvien asetukset saa avattua tuplaklikkaamalla DSLR_RAW-riviä tiedostoformaattilistassa. Olen merkinnyt oheiseen kuvaan asetukset, joita järjestelmäkuvien kanssa tulisi käyttää. Näillä asetuksilla raakakuvat saa PixInsightissa auki ilman automaattista muunnosta mustavalkoisesta raakadatasta värikuvaksi. Muidenkin tiedostoformaattien asetuksia voi halutessaan muokata Format Explorerissa.

Kuvien kalibrointi

Oletan lukijan ymmärtävän kuvien kalibroinnin ja pinoamisen perusteet, joten en lähde niitä avaamaan tässä kirjoituksessa kovin syvällisesti. Jos kalibroinnin merkitys on vielä hämärän peitossa, kannattaa lukea esimerkiksi Lauri Kankaan kirjoittama teksti tähtikuvien kalibroinnin perusteista.

Kuvien kalibrointi tehdään yleensä PixInsightin mukana tulevalla valmiilla BatchPreprocessing-skriptillä, joka löytyy valikosta Script -> Batch processing. Sama skripti kykenee hoitamaan myös kuvien kohdistamisen eli rekisteröinnin, sekä kuvien pinoamisen. Kuvien pinoaminen on yleensä kuitenkin syytä tehdä erikseen PixInsightin ImageIntegration-prosessilla, jotta pinoamisasetukset voi hioa tapauskohtaisesti mahdollisimman hyviksi. Jos rekisteröintiä ei jostain syystä halua tehdä BatchPreprocessingilla, sen voi tehdä myös StarAlignment-prosessilla.

BatchPreprocessing-ikkuna

BatchPreprocessing-ikkunan alalaidassa on useita Add-nappuloita, joilla mukaan voi lisätä bias-, dark-, flat- ja light-kuvia. Tähtikuvausohjelmat kirjoittavat yleensä CCD-kameroiden FITS-raakakuvien otsakkeisiin tiedon kuvan tyypistä, jolloin kaikki kuvat voi suoraan lisätä Add Files -nappulalla, ja ohjelma lajittelee ne automaattisesti.

Ikkunan vasemmassa ylälaidassa on useita välilehtiä eri kuvatyypeille, ja näitä välilehtiä avaamalla saa esiin listan kyseisen tyypin kuvista sekä niiden asetuksista. Skriptin oletusasetukset toimivat useimmissa tapauksissa vallan mainiosti, joten niihin ei yleensä tarvitse koskea. Lights-välilehden Image Integration -kohdasta voi valita pinotaanko kalibroidut kuvat vai ei. Myös rekisteröinnin voi estää valitsemalla samalta välilehdeltä asetuksen Calibrate only.

Ikkunan oikeassa laidassa on muutamia erityisen tärkeitä asetuksia, kuten CFA ImagesUp-bottom FITS sekä Use master bias/dark/flat.

CFA images tulee valita jos kalibroitavat ja kohdistettavat kuvat ovat värikameralla otettuja. CFA on lyhenne sanoista Color Filter Array ja tarkoittaa värifiltterimatriisia, joka värikameran kennolla on. Matriisia kutsutaan myös Bayer-matriisiksi. Jokaisen pikselin edessä on vain yhtä väriä lävitseen päästävä värifiltteri, ja yhdistämällä tietoa useasta vierekkäisestä “eri värisestä” pikselistä voidaan jokaiselle pikselille arvata kokonaisväri. PixInsight ei voi tietää missä järjestyksessä värifiltterit ovat kennolla, joten tieto täytyy antaa ohjelmalle Lights-välilehden kohtaan DeBayer. Yleisin käytössä oleva järjestys on RGGB, jota voi turvallisin mielin käyttää ainakin yleisimmillä järjestelmäkameroilla. RGGB tarkoittaa, että kennon pikselit on jaettu neljän pikselin ryhmiin, joissa ryhmän vasemmassa ylänurkassa olevan pikselin päällä on punainen (Red) filtteri, yläoikealla vihreä (Green), alavasemmalla vihreä (Green) ja alaoikealla sininen (Blue).

Up-bottom FITS on oudosta nimestään huolimatta hyvin yksinkertainen asetus. Kamerasta saatavat kuvat ovat vain neliskanttisia numerotaulukoita, ja jokaisella pikselillä on koordinaatit tässä taulukossa. Osa tähtikuvausohjelmista tallentaa kuvat niin, että koordinaatiston nollakohta on kuvien vasemmassa yläkulmassa, ja osa niin, että koordinaatiston nollakohta on kuvien vasemmassa alakulmassa. Jos Up-bottom FITS on päällä, nollakohdan oletetaan olevan vasemmassa ylänurkassa. Jos asetus on pois päältä, nollakohdan oletetaan olevan vasemmassa alanurkassa. Jos asetus on väärin, aukeaa kuva pystysuunnassa peilautuneena. Mustavalkoisella CCD-kameralla otettujen kuvien kanssa tällä ei ole juurikaan väliä, sillä kuvat voi peilata oikein päin myöhemmin. Kalibrointi toimii oikein peilikuvillakin, koska myös kalibrointiruudut aukeavat peilikuvina. Värikamerakuvien kanssa asetus on kuitenkin hyvin tärkeä, sillä kennolla olevien värifiltterien järjestys ei ole symmetrinen, joten peilaus sotkee järjestyksen. Tämä aiheuttaa sen, että muunnos mustavalkoisesta raakakuvasta värikuvaksi menee pieleen. Oikea asetus löytyy yleensä kokeilemalla. Ainakin MaximDL tallentaa kuvat siten, että Up-bottom FITS tulee olla päällä, jos haluaa kuvien aukeavan oikein päin.

Use master bias/dark/flat -asetuksia voidaan käyttää, jos kalibrointikuvat on jo valmiiksi pinottu niin sanotuiksi masterikuviksi. Huomioi kuitenkin, että masterikuvien tulee olla PixInsightilla tehtyjä. Muissa ohjelmissa pinotut kalibrointimasterikuvat eivät yleensä toimi suoraan oikein PixInsightissa.

Registration Reference Image -kohtaan valitaan kuva, johon kaikki muut kuvat kohdistetaan. Output Directory -kohtaan valitaan hakemisto johon kalibroidut kuvat halutaan tallentaa. Kun asetukset ovat kohdallaan, kalibrointi voidaan aloittaa klikkaamalla Run-nappia.

Kuvien pinoaminen

ImageIntegration-prosessi

PixInsight tarjoaa erittäin monipuoliset työkalut kuvien pinoamiseen. Jos pinoamisen tarkoitus ja perusperiaatteet ovat päässet unohtumaan, kannattaa lukea  Antti Kuntsin laatima kirjoitus aiheesta. PixInsightissa kuvien pinoaminen tehdään ImageIntegration-prosessilla. Ohessa on kuva prosessi-ikkunasta siten, että kaikkein tärkeimmät osiot ovat näkyvillä.

Add Files -nappulalla voidaan valita edellisessä kohdassa kalibroidut ja kohdistetut raakakuvat pinottaviksi. Mustavalkokameralla kuvattujen kuvien tapauksessa joka värisuotimen kuvat pinotaan erikseen. Luminanssisuotimella kuvatut kuvat pinotaan siis keskenään yhteen, punaisella suotimella kuvatut kuvat keskenään yhteen ja niin edelleen. Eri värisuotimilla otettuja kuvia ei pinota yhteen.

Alempana samassa ikkunassa on Image Integration -osio, jossa voi määritellä millaisen pinon haluaa tehdä. Useimpiin tarkoituksiin oletusasetusten mukainen keskiarvopino on sopiva.

Seuraava osio on Pixel Rejection (1). Tässä osiossa määritellään halutaanko pinosta karsia poikkeavia kirkkausarvoja, ja miten karsinta tehdään. Karsimalla päästään yleensä eroon kuumista pikseleistä, kosmisista säteistä sekä lentokone- ja satelliittiviiruista. Tilanteeseen sopivin karsintamenetelmä riippuu kaikkein eniten pinottavien kuvien määrästä. Viemällä hiiren valintalaatikon päälle aukeaa hyvin kattavasti kirjoitettu selostus eri karsintamenetelmistä.

Seuraava osio on Pixel Rejection (2). Tässä osiossa määritellään rajat, joiden mukaan poikkeavat kirkkausarvot karsitaan pois. Optimaaliset arvot riippuvat täysin kuvadatasta ja ne täytyy yleensä etsiä kokeilemalla. Osiossa Pixel Rejection (1) on oletuksena päällä Generate rejection maps -asetus, mikä aiheuttaa sen, että prosessin suorittaminen tuottaa pinokuvan lisäksi kaksi karsintakarttaa, jotka näyttävät kuinka paljon poikkeavia kirkkausarvoja on mistäkin kohtaa kuvaa karsittu. Toinen kartta vastaa liian tummia arvoja, toinen liian kirkkaita. Nämä kartat ovat erittäin hyödyllisiä kun etsitään kuvajoukolle parhaita karsintarajoja. Jos molemmat kartat ovat täysin mustia, yhtäkään pikseliä ei ole pinotessa karsittu, ja tällöin kannattaa yrittää kiristää karsintarajoja.

Koko homman päämääränä on kuumista pikseleistä ja satelliittiviiruista eroon pääseminen ilman, että aletaan karsia myös ihan validia dataa. Jos rajat asetetaan liian tiukoiksi, heitetään käytännössä valoa hukkaan ja kuvista tulee kohinaisempia. Pinoamisoperaatiota siis toistetaan karsintarajoja vaihdellen kunnes ollaan päästy eroon kuumista pikseleistä ja satelliittiviiruista.

Pinokuvien käsittely

Nyt kun kuvat on kalibroitu ja pinottu, voidaan aloittaa varsinainen kuvankäsittely. Käsittelyprosessi voidaan jakaa karkeasti kahteen osuuteen: lineaariseen datan käsittelyyn ja epälineaariseen datan käsittelyyn. Lineaarisuus tarkoittaa tässä yhteydessä sitä, että käsiteltävän kuvan jokaisen pikselin kirkkaus on suoraan verrannollinen pikseliin osuneen valon määrään. Jos pikseliin osuu tuplamäärä valoa, myös pikselin kirkkaus tuplaantuu kuvassa. Kamerasta tulevat raakakuvat ovat yleensä tällaisia, samoin edellisessä kohdassa näistä raakakuvista tehdyt kuvapinot. Syvän taivaan valokuvista halutaan kuitenkin yleensä kaivaa himmeitä yksityiskohtia näkyviin, ja tämä tehdään kirkkausdataa epälineaarisesti “venyttämällä”. Tästä monille tuttu esimerkki on esimerkiksi Photoshopin Curves-työkalun vääntely tai histogrammin harmaapisteen säätö. Kun kuvadatalle tehdään tällainen operaatio, se muuttuu epälineaariseksi. Pikselien kirkkausarvot eivät enää vastaa suoraan pikseleihin osuneen valon määrää.

Tällainen jaottelu on tarpeellinen, koska osa kuvankäsittelyoperaatioista toimii vain lineaariselle datalle, ja osa vain epälineaariselle datalle. Esimerkiksi värikuvan valkotasapainoa ei voi säätää oikein, jos kuvadata on epälineaarista.

Seuraavaksi kuvailemani työnkulku on suunniteltu mustavalkoisella CCD-kameralla kuvattujen LRGB-kuvien käsittelyyn, mutta koska käsittelen luminanssin ja RGB-värit erikseen, voi RGB-työvaiheita soveltaa myös värikameralla (esim. järjestelmäkameralla) otettujen kuvien käsittelyyn. Käytän tekstissä esimerkkikuvina vastikään Komakalliolta kuvaamaani Iris-sumua NGC7023.

Käsittelen yleensä aivan ensimmäiseksi luminanssikuvan, eli L-kanavan. Usein LRGB-kuvien luminanssina käytetään pelkkää luminanssisuotimella kuvattua dataa, mutta olen itse yleensä yhdistänyt luminanssidatan ja värikanavadatat toisiinsa eräänlaiseksi keinotekoiseksi luminanssiksi. Tällä tavalla luminanssikanavaan käytetään kaikki saatavilla oleva data. Yhdistäminen on hyvä tehdä ImageIntegration-prosessilla, jolloin eri kanavat voidaan painottaa kohinatasojen mukaan optimaalisesti. Näin tapahtuu automaattisesti ImageIntegrationin oletusasetuksilla. Mitään poikkeavien arvojen karsintaa ei haluta tässä vaiheessa tehdä, joten Rejection algorithm -asetuksen tulee olla No rejection.

Kun ImageIntegration-prosessi suoritetaan, keinotekoinen luminanssikuva aukeaa ruudulle. Kuvalle voi antaa haluamansa nimekkeen valitsemalla valikosta Image -> Identifier. Nimeke helpottaa myöhempiä operaatioita. Käytän tässä ohjeessa kuvalle nimekettä pseudoluminance. Pseudoluminanssi kannattaa myös tallentaa kovalevylle varmuudeksi.

Koska kuva on lineaarisessa muodossa, näytöllä näkyy luultavimmin vain tähtiä ja hyvin tumma tausta. Kuvaa voi tarkastella venytetyssä muodossa ScreenTransfer__Function-prosessin avulla ilman, että kuvadataan kajotaan mitenkään. Prosessi löytyy valikosta Process -> IntensityTransformations.

Luminanssikuva ilman näyttövenytystä

ScreenTransferFunction eli STF ei siis vaikuta itse kuvadataan laisinkaan, ainoastaan siihen miten kuvadata piirretään näytölle. Prosessissa voi säätää kuvan mustaa ja valkoista pistettä, sekä näiden välissä olevaa harmaapistettä. Säädöt ovat siis samat kuin useimpien kuvankäsittelytyökalujen histogrammisäädöissä. Prosessin voi suorittaa kuvalle raahaamalla vasemmassa alakulmassa olevan nuolen kuvan päälle tai painamalla sen vieressä olevaa neliömäistä Apply-nappia kun kuva on valittuna. Tällainen iteratiivinen säätö on kuitenkin työlästä, joten PixInsightin kehittäjät ovat kaikessa viisaudessaan lisänneet prosessiin myös *Track view *-nappulan, jota klikkaamalla kaikki säädöt alkavat päivittyä reaaliajassa valittuun kuvaan, eikä prosessia tarvitse käsipelillä suorittaa joka kerta. Nappi löytyy prosessin oikeasta alakulmasta, ja sen ikonissa on hieman toispuolista V-kirjainta muistuttava symboli.

Luminanssikuva näyttövenytyksen kanssa

STF-prosessissa on myös erittäin toimiva automaattinen näyttövenytys, eli säätöjen kanssa ei tarvitse itse nysvätä välttämättä laisinkaan. Automaattivenytyksen saa päälle painamalla STF-ikkunan vasemmassa laidassa olevaa säteilyvaroitus-ikonilla varustettua nappia, tai painamalla näppäimistöltä Ctrl+A. Näyttövenytyksen asetukset voi pyyhkiä pois painamalla STF-ikkunan oikeassa alanurkassa olevaa Reset-nappia. Mustan, harmaan ja valkoisen pisteen säätö on yleensä varsin tarkkaa hommaa, joten joskus prosessi-ikkunan pienen säätöalueen tarkkuus ei riitä. Viemällä hiiren osoittimen säädön päälle ja pyörittämällä hiiren rullaa voi säätöalueeseen zoomata sisään, jolloin voi tehdä hienovaraisempia säätöjä.

Kuva on näyttövenytyksestä huolimatta edelleen lineaarisessa muodossa, joten kuvalle voi tehdä lineaarista dataa vaativia operaatioita, kuten dekonvoluutiota. Aihe on kuitenkin sen verran syvällinen ja kokonaisuuden kannalta vain hifistelyä, etten perehdy siihen tarkemmin tässä kirjoituksessa. Voimme siirtyä suoraan kuvan epälineaariseen venyttämiseen ja jatkokäsittelyyn.

Kuten aiemmin mainitsin, näyttövenytyksen säädöt ovat samat kuin histogrammityökalussa. Voimme siirtää näyttövenytyksen säädöt suoraan PixInsightin histogrammiprosessiin. Histogrammiprosessin HistogramTransformation saa auki valikosta Process -> IntensityTransformations. Prosessissa kannattaa painaa samaa *Track View *-nappia, joka löytyy STF-prosessistakin. Näin valitun kuvan histogrammin saa näkymään prosessi-ikkunaan. Venytysasetukset saa siirettyä STF-prosessista HistogramTransformation-prosessiin raahaamalla STF-ikkunan vasemman alanurkan nuoli-ikoni histogrammiprosessin ikkunan alareunan päälle. Hiiren osoittimen viereen ilmestyy pieni neliö kun hiiri on viety oikeaan kohtaan.

Nyt histogrammityökalun säätöjä voi vielä hioa tai suorittaa prosessin kuvalle saman tien. Näyttövenytys täytyy kuitenkin resetoida, muuten kuva näkyy ruudulla kahteen kertaan venytettynä. Histogrammityökaluun saa myös reaaliaikaisen esikatseluikkunan painamalla ympyrän kuvalla varustettua ikonia ikkunan vasemmassa alalaidassa. Näyttövenytysasetukset vaikuttavat myös tähän esikatseluun. Histogrammin säätöihin voi zoomata hiiren rullalla samalla tavalla kuin STF-prosessin säätöihin.

Histogrammisäädöt

Nyt kun kuvadata on muutettu epälineaariseksi, alkaa kuva jo näyttää joltakin. Luminanssikuvaa voi nyt käyttää sellaisenaan, tai sitä voi vielä lähteä hienosäätämään. Yleensä säädän luminanssikuvan yleisilmettä vielä CurvesTransformation-prosessilla, sekä teen lievää kohinasuodatusta kuvan tummimmille alueille.

CurvesTransformation-prosessi löytyy jälleen valikosta Process -> IntensityTransformations. Työkalulla voi hyvin joustavasti säätää kuvan eri kirkkausalueiden keskinäisiä suhteita. Vasemmassa alanurkassa ovat kuvan tummimmat alueet, keskellä keskiharmaat ja oikeassa ylänurkassa kirkkaat alueet. Ikkunassa menevälle janalle voi lisätä kontrollipisteitä klikkaamalla hiirellä. Näitä kontrollipisteitä liikuttamalla ylös ja alas voi säätää ko. alueen uutta kirkkautta. Oheisessa kuvassa olevilla säädöillä olen hieman tummentanut taustataivasta, kirkastanut keskiharmaita ja tummentanut kuvan kirkkaimpia osia. Näin olen saanut pimeät sumut erottumaan taustataivaasta paremmin ja Iris-sumun kirkkaimmasta osasta näkymään hieman enemmän yksityiskohtia. Säätöjen kanssa kannattaa olla hienovarainen!

CurvesTransformation-prosessi

Kohinasuodatuksen teen yleensä ACDNR-prosessilla (lyhenne sanoista Adaptive Contrast-Driven Noise Reduction). PixInsightiin on vastikään tullut uusi kohinanpoistoprosessi TVGDenoise, mutta en ole ehtinyt perehtyä sen sielunelämään vielä kovin tarkasti. ACDNR:n säätöjä ei ole kovin helppo selittää sanallisesti, mutta ne aukeavat kokeilemalla varsin nopeasti.

Koska kohinasuodatus on raskas operaatio, sen suorittaminen koko kuvalle on hidasta. Tässä voidaankin nyt hyödyntää PixInsightin loistavaa ominaisuutta, Preview- eli esikatselulaatikoita. Näitä laatikoita voi piirtää kuvaan ja suorittaa pelkästään laatikon sisällölle toimenpiteitä ilman, että alkuperäinen kuva muuttuu. Koska laatikoiden koko on pienempi kuin kokonaisen kuvan, on laskentakin nopeampaa. Esikatseluikkunat ovat siis loistava tapa kokeilla erilaisia käsittelyasetuksia nopeasti. Kannattaa muistaa, että esikatseluikkunoille ei voi suorittaa peräkkäisiä prosesseja. Jos siis esikatseluikkunalle suoritetaan useita eri prosesseja, jokainen prosessi kohdistuu kuvan alkuperäiseen versioon, ja lopputulos on sama kuin jos alkuperäiselle kuvalle olisi suoritettu vain viimeinen näistä useista prosessista. Tämä on kuitenkin yleensä etu eikä haitta. Esimerkiksi sopivien kohinasuodatusasetuksien hakuun tämä sopii mainiosti, sillä prosessin voi suorittaa esikatselulaatikon kuvalle, säätää jälleen asetuksia ja suorittaa prosessin uudelleen ilman että edellistä suorituskertaa pitää millään tavalla perua.

Esikatselulaatikko

Kuviin voi piirtää hiirellä näitä esikatselulaatikoita valitsemalla valikosta Image -> Mode -> New Preview tai painamalla Alt+N. Esikatselulaatikolle ilmestyy oma välilehti käsiteltävän kuvan vasempaan laitaan. Esikatselu aukeaa ruutuun klikkaamalla välilehteä. Nyt esikatselulaatikolle voi suorittaa prosesseja ilman huolta alkuperäisen kuvan turmeltumisesta. Esikatselukuvaa ennen ja jälkeen prosessin voi vertailla valitsemalla Preview -> Undo tai Ctrl+Shift+Z. Esikatselulaatikon voi poistaa valikosta Preview -> Delete.

Esikatselulaatikoiden avulla sopivien kohinasuodatusasetusten etsiminen nopeutuu huomattavasti. ACDNR-ikkunassa on kaksi eri välilehteä: Lightness ja Chrominance, joista löytyy erilliset säädöt kirkkaus- ja värikohinalle. Koska kyseessä on harmaasävykuva, Chrominance-välilehdeltä voi ottaa kohinasuodatuksen pois päältä poistamalla rastin kohdasta Apply. Kohinaa halutaan yleensä poistaa eniten kuvan tummilta alueilta, kuten taustataivaasta. ACDNR-ikkunassa voi luoda maskin, joka säätää kohinasuodatuksen voimakkuutta kuva-alueen kirkkauden mukaan. Maski otetaan käyttöön laittamalla rasti kohtaan Lightness mask. Maskin asetuksia voi säätää ikkunan alalaidasta. Maskin saa reaaliaikaisesti näkyviin rastimalla kohdan asetuksen Preview ja klikkaamalla ikkunan vasemmasta alakulmasta pyöreää Real-Time Preview -nappia. Maski toimii siten, että mustille alueille ei tehdä kohinasuodatusta lainkaan, ja valkoisille alueille täydellä teholla. Harmaasävyt ovat jotakin tältä väliltä. Maskin asetukset ovat jälleen samat kuin histogrammityökalun säädöt, eli maskin mustaa, harmaata ja valkoista pistettä voi säätää. Maskia voi myös pehmentää kasvattamalla Removed wavelet layers -asetuksen arvoa.

ACDNR-prosessin kohinasuodatusmaski

Nyt Lightness Mask -osion Preview-rasti voidaan poistaa, jolloin reaaliaikaiseen esikatseluikkunaan ilmestyy kohinasuodatettu versio kuvasta. Pienellekin kuvalle kohinasuodatus on yleensä sen verran hidasta, että mieluummin säädän asetuksia ja suoritan kohinasuodatuksen aiemmin luodulle esikatselulaatikolle sen sijaan, että käyttäisin reaaliaikaista esikatseluikkunaa, joten ikkunan voi sulkea.

StdDev-asetus säätää kohinasuodatuksen “pehmeyttä” ja Amount voimakkuutta. Bright Sides Edge Protection -kohdan Treshold- ja Star Treshold -asetuksilla voi säätää kuinka paljon prosessi yrittää suojella tähtiä ja muita merkittäviä rakenteita kohinasuodatukselta. Oheisessa kuvassa on omalle kuvalleni sopivimmat suodatusasetukset sekä kuvat ennen ja jälkeen suodatuksen.

ACDNR-asetukset

Nyt kun sopivat asetukset ovat löytyneet, voidaan kuvan vasemmasta reunasta valita taas ylin välilehti, jolla päästään esikatselulaatikosta takaisin pääkuvaan. Prosessi voidaan nyt suorittaa koko kuvalle. Luminanssikuva alkaa olla valmiissa muodossa ja voidaan siirtyä värikanavien käsittelyyn.

Valmis luminanssikuva

Värikanavien käsittely aloitetaan avaamalla värikanavapinot PixInsightiin, ja nimeämällä kuvaoliot uudestaan valitsemalla Image -> Identifier. Käytän tässä esimerkissä nimiä redgreen ja blue. Värikanavien yhdistämisen voi tehdä monella tavalla, mutta käytän itse yleensä LRGBCombination-prosessia, joka löytyy valikosta Process -> ColorSpaces. Prosessin asetuksissa L (eli luminanssi) jätetään vielä toistaiseksi valitsematta, ja värikanavien kohdalle valitaan vastaavat värikanavat. Prosessi voidaan tämän jälkeen suorittaa painamalla pyöreää Apply Global -nappia.

Värikanavien yhdistäminen

Prosessi luo uuden värikuvan, joka kannattaa nimetä uudestaan myöhempää varten. Tässä esimerkissä värikuvalle on annettu nimeksi rgb. Yksittäiset värikanavakuvat voi nyt sulkea. Jos kuvalle tehdään nyt automaattinen näyttövenytys (Ctrl+A), kuva on todennäköisesti aivan väärän värinen. Taustataivas pitää tasapainottaa neutraalin väriseksi BackgroundNeutralization-prosessilla. Prosessi toimii siten, että Reference image -asetuksella osoitetaan kuva tai alue jonka mukaan tasapainotus tehdään. Alue voidaan osoittaa tekemällä esikatselulaatikko, kuten aiemmin ohjeistettiin. Esikatselulaatikko piirretään kuvassa sellaiseen kohtaan, jossa on mahdollisimman tyhjää taustataivasta. Tämän jälkeen esikatselulaatikko voidaan valita prosessin valikosta. Ohessa on kuva ennen ja jälkeen taustan tasapainotuksen. Kuville on tehty näyttövenytys, jotta ero näkyisi paremmin.

Taustavärin tasapainotus

Taustataivaan neutralisoinnin jälkeen kuvan valkotasapaino täytyy saada kuntoon. Esimerkkikuvassa tasapaino on jo valmiiksi aika lähellä totuutta, mutta täytyy silti säätää huolellisesti kuntoon. Esimerkkikuvassa on kuitenkin havaittavissa pientä värigradienttia, joka täytyy poistaa ennen valkotasapainon säätöä.

Tausta voidaan tasoittaa DynamicBackgroundExtraction-prosessilla, joka löytyy valikosta Process -> BackgroundModelization. Kuten nimestä näkyy, prosessi on dynaaminen, eli se on riippuvainen tietystä kuvaoliosta. Käsiteltävä kuva valitaan klikkaamalla sitä kerran. Kuvan taustataivaasta tehdään malli klikkailemalla hiirellä kuvaan kohtia, joissa näkyy mahdollisimman paljasta taustataivasta. Mittapisteitä ei saa olla liikaa, mutta ei myöskään liian vähän. Omaan esimerkkikuvaani klikkailin pisteitä noin 30, vähempikin olisi varmaan riittänyt.

Jos mittapisteet värjäytyvät punaiseksi, niiden sisältö poikkeaa liikaa kuvan keskiarvosta, eikä niitä käytetä. Joskus on tarpeen nostaa prosessin Model Parameters (1) -osiossa olevaa Tolerance-asetusta, jotta poikkeavatkin pisteet tulevat hyväksytyiksi. Välillä kuvaikkunaa täytyy myös jostakin syystä liikutella asetuksen päivittämisen jälkeen ennen kuin mittapisteiden väri päivittyy.

Target Image Correction -osiosta pitää Correction-asetukseksi valita Subtraction, jotta prosessi nimenomaan vähentää taivasgradientin kuvasta pois. Normalize-asetus pyrkii tekemään korjatusta kuvasta yleisväriltään mahdollisimman samanlaisen kuin alkuperäinen kuva. Joissakin tapauksissa tämä on hyviä asia, joissakin taas ei. Omassa esimerkkikuvassani olen jättänyt asetuksen käyttämättä, jotta taustataivaasta tulisi mahdollisimman neutraali. Paras asetus selviää kokeilemalla. Jos Discard background model -asetusta ei käytetä, prosessi tuottaa erillisen kuvan taustataivasmallista. Taivasmallikuvalle on kuitenkaan harvoin tarvetta, joten jätän asetuksen yleensä päälle. Replace target image -asetus korvaa alkuperäisen kuvan korjatulla kuvalla, muutoin prosessi tuottaa kokonaan uuden kuvan.

Taivasgradientin poisto DynamicBackgroundExtraction-prosessilla

Nyt kuva on valmis valkotasapainotukseen. Tasapainotus tehdään Process -> ColorCalibration -valikosta löytyvällä ColorCalibration-prosessilla. Prosessi toimii etsimällä kuvasta tähdet ja olettamalla, että tähdet ovat keskimäärin neutraalin värisiä. Tämä toimii useimmissa tapauksissa hyvin. Tasapainoa voi säätää myös käsin poistamalla rastin Structure Detection -kohdasta ja valitsemalla Manual White Balance. Prosessille täytyy myös osoittaa taustataivaan väri kuvasta, mikä tehdään samalla tavalla kuin BackgroundNeutralization-prosessissa, eli valitsemalla sopiva alue esikatselulaatikon avulla. Kyseinen esikatselulaatikko valitaan Background Reference -osion Reference Image -kohtaan.

Valkotasapainon säätö

Nyt lineaarisuutta vaativat operaatiot on tehty, ja kuva voidaan venyttää epälineaariseksi. Tämä tehdään aivan samalla tavalla kuin luminanssikuvankin kohdalla, eli käytetään HistogramTransformation-prosessia. Tähtikuvissa vihreä kohina korostuu usein hieman enemmän kuin punainen tai sininen kohina, mikä tuottaa kuviin vihertävän yleissävyn. Tästä yleissävystä pääsee eroon SCNR-prosessilla (lyhenne sanoista Subtractive Chromatic Noise Reduction), joka vaimentaa vihreitä sävyjä kohdista, joissa ei ole selvästi myös muita värejä läsnä. Tämä toimii, koska avaruudessa ei ole (muutamia poikkeuksia lukuunottamatta) kohteita, jotka olisivat pelkästään vihreitä. Siksi pelkästään vihreät pikselit ovat vihreitä yleensä pelkästään kohinan takia. Oheisessa kuvassa on esikatselulaatikko ennen ja jälkeen SCNR-prosessin. Amount-asetusta tarvitsee yleensä säätä, jotta kuvasta ei poistu liikaa vihreää. Liiallinen vihreän poistaminen tekee kuvasta purppuraisen.

Vihreän yleissävyn poisto SCNR-prosessilla

Kuvasta voi SCNR-prosessin jälkeen suodattaa kohinaa pois samalla ACDNR-prosessilla, jota käytettiin myös luminanssikuvan kanssa. Tällä kertää käytetään kuitenkin Chrominance-välilehteä Lightness-välilehden sijaan. Koska luminanssi otetaan erillisestä kuvasta, on tällä kertaa oleellista päästä eroon vain värikohinasta kirkkauskohinan sijaan. Oheisessa kuvassa on jälleen käyttämäni asetukset sekä kuva ennen ja jälkeen operaation.

Värikanavien kohinasuodatus

Kuva on vielä kokonaisväreiltään hieman haalea, ja värikylläisyyttä voi hieman nostaa CurvesTransformation-prosessin avulla. Prosessi-ikkunasta voi säätää käyriä niin kirkkaudelle, eri värikanaville kuin esimerkiksi värikylläisyydellekin. Värikylläisyyskäyrä löytyy ikkunassa olevan nappulan S (niin kuin Saturation eli kylläisyys) takaa.

Värikylläisyyden lisääminen CurvesTransformation-prosessilla

Seuraava vaihe onkin luminanssikuvan yhdistäminen väridataan. Tämä tapahtuu LRGBCombination-prosessilla, jota käytettiinkin jo värikanavien yhdistämisessä keskenään. Prosessi-ikkunassa L-kohtaan valitaan aiemmin tehty pseudoluminance-kuva, ja muut kanavat jätetään kokonaan valitsematta. Niiden kohdalla ei saa olla valintarastiakaan. Kun prosessi suoritetaan värikuvalle raahaamalla prosessi-ikkunan nurkasta nuolisymboli värikuvan päälle, prosessi osaa poimia värit suoraan kuvasta. Transfer Functions -osuuden asetuksia täytyy usein säätää, ennen kuin kuvasta tulee halutunlainen. LRGB-yhdistäminen kannattaakin ensin tehdä värikuvaan piirretylle esikatselulaatikolle, jotta asetukset saa sopiviksi. Lightness__- ja Saturation-asetukset toimivat käytännössä kuten luminanssi- ja värikuvien harmaapisteen säätö. Lightness-asetuksen säätäminen alle puolivälin kirkastaa kuvaa ja säätäminen yli puolen välin tummentaa kuvaa. Saturation-asetuksen säätämisen vaikutus riippuu kuvasisällöstä. Vaikutus selviää parhaiten kokeilemalla. Prosessissa oleva asetus Chrominance Noise Reduction vähentää värikohinaa tehokkaasti, mutta usein myös syö tähdistä värejä pois. Tämän takia teen kohinasuodatuksen yleensä erikseen. Kuvassa on prosessin tuottama LRGB-kuva sekä asetukset joita käytin.

Luminanssin yhdistäminen värikuvaan

Kuva alkaa olla viimeistelyä vaille valmis. Olen ottanut tavaksi pienentää kuvan tähtiä hieman, jotta kuva ei olisi niin “ruuhkainen”. Pienentäminen tehdään tähtimaskin ja MorphologicalTransformation-prosessin avulla. Maskilla voi suojata osan kuvaa siten, että kaikki prosessit koskevat vain suojaamattomiin osiin. Kuvan maskiksi kelpaa mikä tahansa harmaasävykuva, joka on saman kokoinen kuin maskattava kuva. PixInsightissa on valmiina Process -> MaskGeneration -valikosta löytyvä StarMask-prosessi, jolla voi tehdä kuvan tähtiä mukailevan maskin. Noise Treshold -asetuksella voi säätää herkkyyskynnystä, jolla prosessi tunnistaa tähtiä kuvasta. Mitä suurempi asetus on, sitä vähemmän tähtiä se löytää kuvasta. Scale-asetus määrää kuinka suuret rakenteet prosessi suostuu tunnistamaan tähdiksi. Kuvassani on muutamia suuria, kirkkaita tähtiä, joten nostin asetusta pykälällä. Structure Growth -osion asetuksilla voi säätää minkä kokoisia palleroita tähdet tuottavat maskiin. Binarize-asetuksella saadaan himmeätkin tähdet maskissa kokonaan valkoisiksi. Ilman tätä asetusta himmeät tähdet ovat maskissa harmaita, eli ei kokonaan suojattuja. Maski otetaan käyttöön klikkaamalla maskattava kuva aktiiviseksi ja valitsemalla valikosta Mask -> Select Mask. Suojatut alueet näkyvät kuvassa nyt punaisina. Maskin punaisen värin saa piiloon klikkaamalla Mask -> Show Mask. Maskin saa takaisin näkyviin samalla tavalla. Maskin saa myös kokonaan pois käytöstä valitsemalla Mask -> Remove Mask. Jos maski on käytössä, kuvan vasemmassa laidassa oleva välilehti näkyy oranssina harmaan sijaan. Maski on helppo unohtaa vahingossa päälle, joten tähän kannattaa kiinnittää huomiota.

Tähtimaski

Nyt kun maski on päällä, voidaan tähtiä pienentää MorphologicalTransformation-prosessilla. Operator-asetukseen tulee valita Morphological Selection. Tällöin Selection-asetuksella säädellään halutaanko tähtiä pienentää vai kasvattaa. Alle puolikkaan arvot pienentävät tähtiä, ja puolikasta suuremmat arvot kasvattavat tähtiä. Amount-asetus säätää pienennyksen voimakkuutta. Structuring Eleme__nt -osioissa Size-asetuksen tulee olla suurin piirtein saman kokoinen kuin kuvan tähdet pikseleissä. Prosessi-ikkunassa on pieni ruudukko, jossa oleva kuvio määrittää millä tavalla taustalla pyörivä matematiikka pienentää tähtiä. Näkyvän kuvion pitäisi ymmärtääkseni olla jotakuinkin pyöreä, sillä kuvan tähdetkin ovat (toivottavasti) pyöreitä. Kuvion saa pyöreäksi keskimmäisellä nappirivillä olevasta nappulasta, jolla on pyöreä ikoni. Pitämällä hiiren osoitinta napin päällä napin viereen pitäisi ilmestyä laatikko, jossa lukee Circular Structure. Tähtien pienennys himmentää tähtiä voimakkaasti, joten säädön kanssa kannattaa olla hyvin hienovarainen ja konservatiivinen. Kuvassa on jälleen prosessin asetukset sekä kuva ennen ja jälkeen prosessin suorittamisen.

Tähtien pienennys MorphologicalTransformation-prosessilla

Tähtien pienennyksen jälkeen kuvalle voi tehdä vielä kaikenlaista pientä säätöä, kuten kirkkaimpien osien hyvin lievää terävöitystä ynnä muuta, mutta tällaisen hifistelyn jätän lukijan omaksi opeteltavaksi, ainakin toistaiseksi!  Ohessa on vielä lopullinen LRGB-kuva. Toivottavasti oppaasta on ollut hyötyä alkuun pääsemisessä PixInsightin kanssa. Palaan asiaan mahdollisesti tulevien ohjetekstien muodossa.

Lopullinen LRGB-kuva