HaloStackPanu Lahtinen (pnuu a iki fi) Tämä sivu on vanhentunut! Ks. Avaruus-foorumin ketju uudesta versiosta!English versio coming soon!(?) Sisältö:HaloStack on yksinkertainen, käyttöjärjestelmäriippumaton Python-ohjelma kuvien pinoamista varten. Ohjelma on suunnattu lähinnä halokuvien pinoamiseen. Toistaiseksi itse komento suoritetaan komentoriviltä, mutta kohdistamista varten on tehty yksinkertainen käyttöliittymä. Varsinainen graafinen käyttöliittymä on tulossa, joskus. Ehkä. Totta puhuen, todennäköisesti ei ole... Ohjelmaan on toteutettu yksinkertainen kohdistusmenetelmä, joka toimii parhaiten jos halokuvat on otettu käyttäen tummaa peittäjää, jonka läpi Aurinko vielä kuitenkin näkyy. Kuvia esimerkkipeittäjästä löytyy täältä. Pinoaminen toimii myös muiden jalustalta otettujen kanssa suhteellisen hyvin, mutta laskenta hidastuu kohdistusalueen suuremman koon takia. Ohjelma tallentaa kuvat PNG-muodossa. Keskiarvopinot tallennetaan 16-bittiä/kanava sisältävinä riippumatta siitä ovatko lähtökuvat olleet 8-bittisiä (kuten JPG), tai suuremman bittisyvyyden omaavia (kameroiden raakaformaatin kuvat, 16-bittiset TIFF-kuvat, jne.). Muut pinot tallennetaan samalla bittisyvyydellä kuin alkuperäiset kuvat. Jos käytät Windowsia, paina tästä. Perusominaisuuksien käyttämiseksi Linuxissa tarvitaan Python-ohjelmointikielen tulkki, johon on asennettu Numpy-, matplotlib- ja PythonMagick-kirjastot. Tiettyjen lisäominaisuuksien käyttämiseksi tarvitaan lisäksi (nämä ovat siis vapaaehtoisia):
AsennusWindowsLataa HaloStack 0.2.1 Windowsille: 64-bit Paketista purkautuu yksi varsinaisesti tarvittava tiedosto, halostack.exe. Tämän lisäksi mukana on python-lähdekoodit sekä lähdekoodin lisenssiehdot sekä versiohistoria. Vanhemman version kättöohjesivu ja latauslinkit: versio 0.1.x. Jos haluat käyttää HaloStack-ohjelmaa suoraan Python-asennuksen kanssa, tai muokata ohjelmaa, alla on listattu tarvittavat riippuvuudet latauslinkkeineen:
UbuntuAsennus tapahtuu purkamalla skriptit alla olevasta paketista sopivaan hakemistoon. Skriptin voi ajaa suoraan ilman python -komentoa skriptin edessä, kunhan tiedosto löytyy ohjelmapolusta (esim. kotihakemostossa oleva ~/bin -hakemisto). Molemmat .py-päätteiset tiedostot tulee olla samassa hakemistossa. Katso käyttöesimerkkejä alempaa.Lataa HaloStack v0.2.1 Python-skriptit tästä .tar.gz tai .zip. Avaa terminaali, ja kopioi alla oleva komento asentaaksesi tarvittavat paketit: sudo apt-get install python python-numpy python-pythonmagick ufraw python-h5py python-scipy python-matplotlib Vanhemman version kättöohjesivu ja latauslinkit: versio 0.1.x. KäyttöesimerkkejäAlla olevat esimerkkikomennot ovat windows-käyttäjiä silmälläpitäen kirjoitettu. Linuxissa komento on "halostack.py". Listaus komentoriviparametreista löytyy sivun lopusta, tai komennolla "halostack -h".
TestimateriaaliaTässä tarjolla esimerkkikuvia, joilla pinoamista voi kokeilla. Marko Riikosen 20.4.2012 kuvaama sarja pyramidihaloista Auringon ympärillä.
Marko Riikosen 9.4.2012 kuvaama pintahalonäytelmä.
Panu Lahtisen kuvasarja ilman peittäjää kuvattu sarja 23.4.2012 olleesta kirkkaasta ylläsivuavanäytelmästä.
Komentoriviparametrit-a FILE, --average-stack FILE
Laskee keskiarvopinonen ja tallentaa tuloskuvan 16-bit/kanava
PNG-kuvana tiedostoon FILE (esim. keskiarvo.png).
-m FILE, --max-intensity-stack FILE
Jokaiseen pikseliin valitaan pinosta ko. kohdassa oleva pikseli,
jossa värikanavien yhteiskirkkaus on suurin (R+G+B saa
suurimman arvon). Kuva tallennetaan tiedostonimellä FILE
(esim. maksimi.png) samalla värisyvyydellä (8- tai
16-bit/kanava) kuin lähtökuvat.
-M FILE, --max-deviation-stack FILE
Jokaiseen pikseliin valitaan pinosta ko. kohdassa oleva pikseli,
jossa värikanavien keskihajonta on suurin. Kuva tallennetaan
tiedostonimellä FILE (esim. suurin_varihajonta.png) samalla
värisyvyydellä (8- tai 16-bit/kanava) kuin
lähtökuvat.
-c FILE, --max-color-diff FILE
Jokaiseen pikseliin valitaan ko. kohdassa oleva pikseli, jossa
kirkkaimman ja himmeimmän värikanavan erotus on
mahdollisimman suuri, eli max(R,G,B) - min(R,G,B) saa suurimman
arvon. Kuva tallennetaan tiedostonimellä FILE
(esim. suurin_variero.png) samalla värisyvyydellä (8-
tai 16-bit/kanava) kuin lähtökuvat.
-e FILE, --median FILE
Jokaiseen pikseliin lasketaan ko. kohdassa olevien pikselien
mediaani. Suurella kuvamäärällä tämä
operaatio on hyvin hidas, ja vaatii todella paljon kiintolevyn
käyttöä. Kuva tallennetaan tiedostonimellä
FILE (esim. mediaani.png) samalla värisyvyydellä (8- tai
16-bit/kanava) kuin lähtökuvat.
Toimii suoraan vain Linux-versiossa!
-u R,A[,S[,T]], --pre-usm R,A[,S[,T]]
Ennen pinoamista kuvia terävöitetään
epäterävällä maskilla (USM, Unsharp Mask).
R - maskin säde pikseleinä, esim. 40
A - terävöityksen määrä, esim. 2.5
(Photoshopissa 250 %)
S - sigma, maskin säteen suuntainen painotuskerroin, esim. 20.
Valinnainen. Jos arvoa ei anneta, käytetään arvoa R/2.
T - kynnysarvo, Vain pikselit joiden kirkkaus on suurempi kuin annettu
luku huomioidaan terävöityksessä. Valinnainen.
-U R,A[,S[,T]], --post-usm R,A[,S[,T]]
Ennen tallennusta valmiit pinot terävöitetään
epäterävällä maskilla (USM, Unsharp
Mask). Katso parametrien määrittelyt yltä.
-b FILE, --base-image FILE
Kuvaa FILE käytetään pinon vertailukohtana
kohdistettaessa ja kuvienvälisen kirkkauden
yhtenäistämisessä. Jos tiedostoa ei anneta,
kuvasarjan ensimmäinen kuva toimii vertailukohtana.
-r x,y,s, --align-reference x,y,s
Tämä funktio on mukana vain taaksepäinyhteensopivuutta varten,
eikä sitä tarvita v0.2 tai uudempien versioiden kanssa.
Kohdista kuvat etsimällä jokaisesta kuvasta annettua
vertailukohtaa parhaiten vastaava piste. Vertailualue
määritellään antamalla paikan keskipiste (x,y)
sekä alueen määrittävän neliön sivu,
jonka sivunpituus on annetusta luvusta laskettuna
2s+1. Pikselikoordinaattien nollakohta (0,0) on kuvan vasemmassa
ylänurkassa. Vertailudatana käytetään (ilman
lisämäärittelyjä) kuvasarjan
ensimmäisestä kuvasta ko. alueelta saatuja
pikseleitä. Paras sovitus määritetään
etsimällä pienin arvo pikselien erotuksen
neliölle. Vertailukuvan voi määrittää
vapaasti -b -valinnalla.
-s x1,y1,x2,y2, --align-search-area x1,y1,x2,y2
Tämä funktio on mukana vain taaksepäinyhteensopivuutta varten,
eikä sitä tarvita v0.2 tai uudempien kanssa versioiden.
Kuvien kohdistamista voi nopeuttaa
määrittelemällä alueen, jolla kohdistuspiste
sijaitsee kaikissa kuvissa. Alueen määrittämiseksi
syötetään alueen vasen ylänurkka (x1,y1)
sekä oikea alanurkka (x2,y2). Pikselikoordinaattien
nollakohta (0,0) on kuvan vasemmassa ylänurkassa.
-n NUM, --normalize NUM
Yhtenäistetään kuvien keskinäinen kirkkaus
ennen pinoamista. Luku NUM määrittää tason
johon kuvien keskimääräinen kirkkaus
säädetään. Jos NUM on nolla,
käytetään ensimmäisen kuvan (tai -b
-valinnalla osoitetun kuvan) keskimääräistä
kirkkautta vertailukohtana.
-N x1,y1,x2,y2, --normalize-area x1,y1,x2,y2
Määritä kuvien välisen normalisaation
laskemiseen käytettävä alue. Alue rajataan
antamalla alueen vasemman ylänurkan (x1,y1) ja oikean
alanurkan (x2,y2) pikselikoordinaatit. Koordinaattien nollakohta
(0,0) on kuvan vasemmassa ylänurkassa.
-t NUM, --correlation-threshold NUM
Tällä vivulla voit määrittää
pienimmän korrelaatiokertoimen (R^2), jolla kohdistetut kuvat
vielä hyväksytään mukaan
pinottaviksi. Korrelaatiokertoimen arvo on välillä 0.0 -
1.0, jossa 1.0 on täydellinen yhteneväisyys. Oletuksena
kaikki kuvat hyväksytään mukaan pinottavaksi (eli
-t 0.0).
-R, --rotate
Jos kuvat ovat kiertyneitä toistensa suhteen, voidaan tämän vivun
avulla valita kaksi aluetta joidenka mukaan horisontti oikaistaan.
Alueet määritetään klikkaamalla alueiden ristikkäiset
nurkkapisteet (esim. vasen alanurkka + oikea ylänurkka).
-O STR, --output-images STR
Tallenna yksittäiset kuvasarjan kuvat PNG-kuvina. Kuvien
nimien loppuun lisätään STR (esim. -O kohdistettu
-> IMG_1234_kohdistettu.png). Näiden kuvien avulla
uudelleenpinoaminen on paljon nopeampaa kuin raakakuvista pinojen
laskeminen. Koska kuvat tallennetaan kohdistamisen jälkeen,
näistä kuvista voi tarkistaa kohdistuksen onnistuminen,
ja tarvittaessa hienosäätää erillisellä
kuvankäsittelyohjelmalla.
-v, --version
Tulostaa käytössä olevan HaloStack-ohjelman versionumeron.
-d, --no-alignment
Pinoaa kuvat ilman kohdistamista. Kättökelpoinen
esim. jo valmiiksi kohdistettujen kuvien pinoamiseen, tai
ns. tähtiviirukuvien (star trails) tekemiseen.
|