Oldalságok

2017/12/31

Bias frame - kiolvasási zajok

Azt már tárgyaltuk, hogy a foton-zajt nem tudjuk megjeleníteni,  viszont a sötét zajt (a foton-zajt kizárva) részben feltérképeztük hosszú exponálással. Most zárjuk ki a sötét zajt is amennyire csak lehet, lássuk mi marad.
Persze ehhez olyan képet kellene készíteni, ami záridő nélküli, vagyis úgy kellene kiolvasni a CMOS-t, hogy nem is fotóztunk rá semmit (nulla foton-zaj), főleg semennyi ideig (nulla sötét-zaj). Ilyet mondjuk nem tudunk a gyári firmware miatt, viszont megpróbáljuk 1/4000 másodperccel exponálni a tesztképeket, természetesen hidegben, szigorúan fényszigetelt körülmények között. No, ha már a múltkor kiokosodtunk hisztogramból, akkor most annak segítségével elemezzük a képeket:
Általában a bias frame kevésbé zajos, mint a dark frame, de azért a standard deviation mutat némi deviációt. A legalsó párost egy durva curves réteggel tettük szemléletesebbé.
Azért azt mi sem gondoljuk, hogy az 1/4000 másodperces exponálásra nem került sötét zaj. De biztosan, viszont itthoni körülmények között ennyire vagyunk képesek. A csillagászati bias frame amúgy sem ilyen egyszerűen készül, hanem 30+ kép az, amit összedolgoznak és ezt a kombót lehet később felhasználni különféle zajszűrésekre. Természetesen ezeket a cuccokat meg a demozaik előtt készítik, mert úgy az igazi. 

2017/12/27

Hisztogram újratöltve

Öt éve belefulladtunk egy csöppet, de most teljesen tisztába tesszük a dolgokat, mert a zaj elemzéséhez fontos lehet érteni, pontosan mit is mutat a Photoshop. A Mean és Median elmagyarázásával most senkit se sértenék meg. A mateket abban a bejegyzésben érdemes megérteni, most egy online kalkulátort használunk, mert így tudjuk a legkönnyebben megfejteni, milyen pixelértékekből dolgozik a hisztogram, s különben is az számolgasson fölöslegesen, akinek két anyja van. 

Szóval öt esztendeje a színes pixelek számítása nem jött ki pontosan, lássuk egy újabb nekifutással 3*3 pixel esetén:
Balra a kalkulátor, jobbra meg a PS kifogott képernyőképe
RGB hisztogram esetén minden csatorna értékét bele kell számítani, tehát 3*9 érték játszik, RGB sorrendben.

A Colors ugyanazokból az értékekből dolgozik, mint az RGB. Még nem tudjuk mi a bánattól különbözik az RGB-től, amiért külön is kiválasztható, azt leszámítva, hogy színesben mutatja a pixel-diagramot, amitől a Level, Count és Percentile értékeket elég komolyan követhetetlenné teszi. Na mindegy, van egy igazi önkényuralmi jelképpel díszített, Lázár által Tiltott Heinekenje annak, aki olyan élethelyzetet mutat, amit csakis a Colors hisztogrammal lehet megoldani.


Az egyes csatornák értelemszerűen a 9 pixel megfelelő csatorna-értékéből dolgoznak. Nem nagy durranás.

Na, de a luminosity egy irtó trükkös dolog, rengeteg képlet hányódik az interneten, amiket mind végigpróbálgattunk, de csak azt az egyet mutatjuk meg, amelyik végül működni látszik. Lényege, hogy egy RGB 0/255/0 pixelt sokkal fényesebbnek érzékelünk, mint egy 0/0/255 értékű pixelt, annak ellenére, hogy az értékek ugyanazok, csak az egyik zöld, a másik meg kék színű. Innen inspirálódtunk bájdövéj, mélyebben ebbe most nem megyünk bele.

Ezt már csak két pixellel csináltuk meg, mert így is jó sokat kellett számolni, amíg megtaláltuk az egyetlen jó képletet. A pixel1 RGB értékei: 29/55/70, a pixel2 értékei: 81/116/137. Hogy jött ki a 49, illetve a 108 mint a két pixel luminancia értéke? Hát így:
Luma=R*0,3 + G*0,59 + B*0,11 - ami pixel1 esetén 48,85 a pixel2 esetén pedig 107,81. A PS meg felkerekít. Amúgy ha a hisztogramon ráügyeskeded a kurzort a két pixel fényességét jelképező vonalakra, akkor Level mutatja, hogy 49 és 108 a két keresett érték, csak ezt már utólag vettük észre. Tádám. 

2017/12/23

A sötét-zaj és megjeleníthetőségének körülményes volta

foton-zaj akkor is létezik, ha nem fényképezzük (csak akkor meg ugye kit érdekel). Gyenge fényben tágabb rekesszel és hosszabb záridővel védekezhetünk ellene. Illetve nagyobb szenzorral, ha az is opció.

Persze a megnövelt exponálási időnek, bár javítja a foton zajt, sajnos van hatása (a megnövelt exponálási idővel arányosan) egy másik zajtípusra, a dark current noise-ra (thermal noise, Johnson–Nyquist noise), ami szintén Poisson eloszlású, független a jeltől, megjelenésében hasonlít a foton-zajhoz, viszont nem független a szenzortól. Gyakorlatilag úgy keletkeznek elektron-luk párok az elektronikában, hogy nem a bejövő foton kelti azokat.
Na itt azért már játszik a mérnökök képessége, illetve, hogy kilopták e a szilíciumot a szenzorból. A fotós szerepe viszont itt csak annyi, hogy milyen szenzort választ és azt tudatosan használja, vagy leszaromra. Nem is nagyon lehet megkülönböztetni a foton-zajtól, hasonlatosan a viccbéli babot falatozó cigánynéhoz, akitől megkérdezték kié a gyerek. Viszont valamennyire megfogható, ha készítünk pár dark frame-et. A mindennapi hobbifotográfiában sok vizet nem zavar, másodperc alatti felvételek esetén nem tényező. Hosszú expozíció esetén már a belépő gépek is tudnak Long Exposure zajszűrést, ami a foton zajt egyáltalán nem szűri, de a sötét zajt (és másokat) annál inkább ígéri.

Na, akkor csináljunk pár dark-frame tesztet. Figyelem, a következő tesztképek csupán a foton-zajt kapcsolják ki a képletből, a kiolvasási és egyéb zajokkal sajnos itthoni körülmények között nincs mit kezdenünk, viszont reméljük, hogy a sötét-zaj nagyságrendekkel jelentősebb ezek közül. A zajos tesztképeket hidegben készítettük, ahol indokolt volt, levett objektívvel vártunk egy kicsit a felvételek között, hogy visszahűlhessen a szenzor. Objektívsapka fent, rekesz tövig szűkítve, relatíve sötétben készültek a fotók, és a kukkantót is befedtük a gyári gumilapkával. Ebben a posztban, demozaikolt képeket elemzünk, tehát a zaj tényleges megjelenését nem fogjuk látni, csak annak hatását ACR-ben demozaikolva és megnyitva. 

Az alábbi rolloveren az látható, ahogyan rögtön egymásután elkészített két 30 másodperces (ISO200) dark-frame fotón hogyan módosul a termál zaj. Vagyis azt firtatjuk, hogy egy hosszú expó után kimelegedett szenzor mennyivel teljesít rosszabbul dark noise terén, érdemes e várni két hosszú expó között (már ha lehetséges). Alább tehát az első fotó egy részlete látszik, onmousover pedig a második képé. Gépben minden zajszűrés kikapcsolva, ACR-ben alap zajszűrés maradt a szemléletesebb kép miatt (hanem túl nagy lenne a színes káosz a képen). Egy durva curves réteg teszi jobban láthatóvá a zajt. Ennyire nem béna a Nikon. Mindenesetre azt várnánk, hogy a második kép láthatóan zajosabb legyen.
Jól látszik, hogy a bal alsó hotpixelsor, minden hosszú exponálású képemen rajta van, a második képen talán gyengébb a túlcsordulás (vajon mitől), eltűnnek egyes világos pixelek, viszont más helyen megjelennek újak. Összességében nem tűnik a második kép értékelhetően zajosabbnak, ugyanakkor az is látszik, hogy a zaj zöme teljesen véletlenszerű, csak a durvább hotpixelek egy része állandó, ezért a Dark Frame Substraction technika nem tűnik a legtökéletesebb megoldásnak.

Az alábbi rollover a HI ISO6400 30 másodperces expóját mutatja mindenféle zajszűrés nélkül, illetve onmousover a Long Exposure Noise Reduction bekapcsolásával. Ezen nincs curves, ezek a képek tényleg ennyire ramatyul néznek ki. Nem tudjuk biztosan, de nagyon valószínű, hogy egy Dark Frame Substractiont használ ez a módszer, gép legalábbis elkészített egy ugyancsak 30 másodperces valamit a tükör csapódása után. A D5000 nem teszi lehetővé manuális DarkFrame létrehozását. 
Elég jól elboldogult a legdurvább hotpixelekkel. Kipróbáltuk azt is, hogy a Long Exposure Noise Reductionnal készült képet kivontuk a sima képből (hogy lássuk, hogyan nézhet ki egy Nikon darkframe), érdekes, hogy egy kevésbé zajos valamit kaptunk, de persze a durva hotpixelek azért rajta voltak ezért tudta sikeresen kivonni azokat. ISO200-on ugyanez a helyzet, a kezelt képet kivonva a kezeletlenből, egy hangyányival jobb képet kapunk. Mintha a Dark Frame, amit készít, picivel kevésbé lenne zajos. (?) Ezt most nem mutatjuk meg, mert uncsi a rollovert html módban tweakelni. De elhihetitek, vagy ami még jobb, ki lehet próbálni, hiszen úgyis minden gép más. Mindenesetre nem tudjuk mit csinál a kasztni alatt a Nikon, ez csak spekuláció. 
Konklúzió: a Nikon D5000 Long Exposure Noise Reduction módszere soha nem gyárt két egyforma Dark Framet, ami állandó rajtuk, csak a legdurvább hotpixelek. A hot pixelnek kinéző valamik sem mind azok (nem mindegyik állandó vendég), vajon ezek a látványosabb sötét zaj szélsőértékek? A hotpixel lehet a sötét-zaj egy minősített esete? Felvetődik, akkor miért nem gyárilag szűrik az állandó hot pixeleket, sajnos lehet, hogy szűrik. Azt, ami 2009-ben rajta volt. De idővel újak keletkezhetnek. Régi tesztképeim meg nincsenek. Szóval csak ésszel használni a módszert, mert szerintünk leginkább állandó hot pixelekre jó (stuck pixel), egyébre nemigen. Mondjuk csillaggyilkosnak asztrofotókon tökéletes.

A High ISO Noise reduction zajszűréssel most nem kívánunk foglalkozni, mivel egyrészt az a foton-zajjal is terhelt dolog, ráadásul egy komolytalan eszköz, RAWra nem értelmezett, csak JPEGben látszik a hatása. Azt olvastuk valahol, hogy ez leginkább a vörös és a kék csatornák blúrolásával dolgozik, ez a D5000-re egyáltalán nem igaz, a zöldön is ugyanúgy látszik, hogy monyol valamit. 

2017/12/21

A modell a hibás a zajért a képeiden?

A bejegyzés apropóját egy petapixeles cikk adta, amiben azt állítják, hogy a rekesz és az idő csinálja a zajt a képeken. Ha te is olyan vagy, aki azt hitte, hogy az ISO növelése okozza a zajt, akkor könnyen úgy járhatsz, mint a galaxis útikalauzban. Ott volt a neten évek óta (az Utazásokon is volt róla szó), ha nem érdekelt, akkor magadra vess. De azért bőséges aratásra se nagyon számíts. Na persze, azért az se lepjen meg, ha végül kiderül, hogy egy kicsit mégis növeli, de legalább nem azért és nem úgy, ahogy azelőtt hitted. 

Forrás
Ha még nem tetted, olvasd el ezt. Be is linkelem a táblázatot, ami kell belőle, mert úgyse fogod megkeccinteni a linket:
A szcenárió legyen mondjuk a következő.
Ha lusta vagy követni a gondolatmenetet, leegyszerűsít-ve: gyenge fényviszonyok között állvány nélkül fotózol, és ugorj a köv. kék szövegrészhez.  Ugye alkonyat van, és vámpírt akarsz fotózni. Állvány eszedbe se jut, rekesz már tövig nyitva, idő meg ugye a gyújtótáv (pl. 30mm) reciproka, ahogy megtanultad még Szevcsiktől. Tehát mondjuk feketében van a Drakulád, legyen a róla visszavert fény 7LV, f/2,8 rekesz és 1/30s. Azt rögtön vágod, hogy 7LV ISO100-on 7EV, tehát 1/15s időt kérne (táblázat), de akkor berázod, mert eléggé be is vagy szarva. Mit tudsz tehát csinálni? Növeled az ISO-t mert az a rekesz/idő/ISO szentháromságnak a Szentlelke. S csudálkozol otthon kiszívott nyakkal, nagy vérszegényen (ha ugrottál az olvasásban, akkor ez most WTF), hogy bizony zajosak a képeid. Pedig nem az ISO miatt. Akkor is zajosak lennének, hogyha alap ISO-n hagyod és otthon korrigálod fel. Hanem azért zajosak, mert feleannyi ideig exponáltál, mint kelletett volna! Vagy mert nem tudtad f/2-re nyitni a rekeszt, mert olcsójános vagy kit-obival! Tehát a zajt nem az ISO okozta, hanem a kevesebb összegyűjtött fény (szűkebb lencse, rövidebb idő). Végső soron a modell okozta a zajt, mert miatta nem tudtál állványt használni. Na legalább progresszív vagyok, ejsze ilyet se írt le még senki, hogy a téma miatt zajos a kép. Valójában nem is értem miért az ISO az exponálási Szentháromság harmadik pillére és nem például a nagyobb szenzor. Mi már akkor utáltuk az ISO-t, amikor a cégek szabványosítására bevezették ezt a gazdasági szemfényvesztést, az ISO ellenőröket meg kifejezetten megélhetési szélhámosoknak tartjuk.

Na, szóval a petapixel. Szerintünk az a czikk csúsztat, érdemes elolvasni, de persze kivonatolom azt a részt ahol megpróbálja bizonyítani, hogy az idő és a rekesz okozza a zajt, nem az ISO:
1. Alulexponál időből (-EV), majd utólagos korrekcióval visszahozza a képet (+EV) - eredmény láthatóbb zaj.
2. Alulexponál rekeszből (-EV), majd utólagos korrekcióval visszahozza a képet (+EV) - eredmény ugyancsak látható zaj.
3. És itt jön a trükk: felülexponál ISO-ból (+EV), majd utólag visszahozza a képet (-EV). Na persze, hogy nincs zaj. Hamar le is vonja a következtetést, hogy ugyeugye, a rekesz és idő csinálják a zajt.

Kíváncsi lennék a véleményetekre (na persze, mert szoktatok is hozzászólni), hogy ez miről mit mond el. És mi lenne, ha a harmadik lépésben inkább alulexponálná ISO-ból (-EV), majd visszahozná utólag (+EV), mint az első két esetben is. Nem kell elvégezni, megmondom én, zajos lenne mint az állat (amennyiben nem ISO invariáns a gép azon a tartományon). Ezt a hozzászólásokban, fel is veti egy kolléga, próbálják lebeszélni, de engem sem bírtak meggyőzni. 

Szóval ez a kísérlet mit árul el? Spekuláció következik:

Tételezzük fel, hogy a well capacityt félig kell exponáljuk (ez gyakorlatilag a kiégés előtti EV, az utolsó  előtti zóna vagy dinamikatartomány, egy igencsak világos kép - mondjuk jegesmedvét fotózunk tejszínhabban - highkeyben). Az első két esetben a fenti beállításnak alálövünk rekeszből, vagy időből, tehát negyed töltés megy az ADC-be (analóg/digitális konverterbe), majd a digitális jelet növeljük vissza. A harmadik lépésben, az ISO tesztjében, ugyancsak fél WC lesz töltés, de az ISO növelésével szaturáltra emeli, onnan ADC, majd digitálisan megfelezi a jelet. Amennyiben ISO-ból is inkább alulexponálnánk, akkor is fél WC lenne a töltés, amit megfelezne ADC előtt, negyed töltés menne az ADC-be, majd digitálisan visszanövelné. Szerintünk ez a tesztsorozat, nem ismerve a szenzor zajszintjét (adott ISO tartományon), semmit sem tudva az analóg gainről (ezen még dolgozunk), illetve nem tudva mennyi zaj kerül (upstream és downstream) rá, amíg digitális jel lesz, semmit nem árul el. Maximum az derül ki, hogy van egy ISO invariáns tartományunk. Vagy nincs. De erről már volt szó.

Szóval egyszerű dolgokat el lehet bonyolítani rendesen. De azért a czikk jó sok dologra rávilágít. És az is lehet, hogy igaza van. Lehet hozzászólni.

Összefoglalva:
Elég durva dolgokat látunk itt, majd visszatérünk arra,
hogy valóban az ISO200 lenne az alap ISO ezen a gépen.
1. Mindig maximálni kell az ISO-t, hogy minél jobban szaturáljuk az AD bemenet teljes terjedelmét (persze csak a túlcsordulás előttig egy hangyafasznyival). Például a képünk legfényesebb pixele esetén, ha csak annyi fényünk van, ami félig tölti fel az electron wellt, akkor az ISO-t megduplázva akkora feszültség fog az AD-ba bemenni, mintha teljesen szaturálva lett volna a pixelünk.
Az ISO variáns kamerák esetén, nagyjából mindenki egyetért abban, hogy a megemelt ISO (analóg jelerősítés) sokkal kevesebb zajt és dinamikavesztést okoz, mint alap ISO-n lőni a képet, majd digitálisan erősíteni fel a helyes exponálásra. Ezt mi is így gondoljuk.

2. Az előző pontot szem előtt tartva mindig a lehető legalacsonyabb ISO-t kell választani. Nem, nem azért, mert alacsony ISO alacsonyabb zajt jelent. Sőt az adatlap szerint egyáltalán nem így van, legalábbis a kiolvasási zajra vonatkoztatva (lásd jobbra a read noise oszlopot). De például a jel/foton-zaj arány itt a legjobb, mert alacsony ISO-n sokkal több elektron szaturálja a pixelt.

3. Más megközelítésben: exponálj jobbra. Akármilyen áron, akár magas ISO-val is, ha másképp nem megy, csak így spórolhatsz zajt.  Itt is pont erről van szó. Természetesen a fenti szabályokat minden téma esetén rugalmasan érdemes kezelni. 

Remélem sikerült egy relatíve egyszerű témából jó bonyi cikket csinálni :)

2017/12/14

A zaj nem is a fényképezőgépben van. A foton-zaj - 1.

Fotográfiában a zaj nem jó, vagy rossz, hanem olyan amilyen. De legalább lehet vele számolni. Közhely, hogy a digitális fotográfiában többnyire környezetéből kiugró fényességértékű (sötétebb vagy világosabb) pixelként jelentkezik ott, ahol homogén felületet várnánk. Persze ez leginkább (vannak kivételek, pl. hot pixel) a sötétebb zónákban fordul elő és a hasznos jel értelmezhetőségét rontja le, vagyis a sötét részletek belebukhatnak a zajba. A DXOMark egyik megfogalmazása szerint a dinamika pont a szaturáltsági megvilágítás és az a megvilágítás aránya, amelyiken a jel/zaj arány  belebukik a zajba,  lehet, hogy csak rosszul fordítottam. A kész JPEG kép már annyi feldolgozáson esett át, hogy az egyes zajforrásokat nehéz rajta egymástól elkülöníteni. Ez a domain a demozaikolatlan nyers képeken elemezhető, és ott sem egy sétagalopp. Nem is fogunk túl mélyen belemenni, mert a mindennapi fotográfiában nincs akkora nagy jelentősége, mint az egyes alkalmazott fotográfiai ágazatokban (leginkább asztrofotó, mikrofotó, meg ilyenek). A sokféle lehetséges zajforrásokból ma kifejezetten a foton zajt próbáljuk megérteni.

Forrás
A photon noise, shot noise (a fotonágyú miatt), Poisson noise (az eloszlás miatt), Schottky noise (a felfedezőjéről), jelfüggő, kevés fényben hangsúlyosabb a hatása. Ha speciel nem kutatsz utána, nem fogsz kezdő fotós anyagokban belefutni. De azért magyar bloggerek is írtak már róla. Kifejezetten asztrofotósok játéka, de nem a star-trail divat-timelapseseké, akik inkább művészek, mint tudósok, hanem az igazi csillagászoknak, akik alacsony megvilágítás mellett, sokszor pixel-nagyságrendű objektumokkal kell dolgozniuk, ahol a zaj nem pusztán esztétikai tényező, hanem mondjuk egy egész galaxist takarhat. Pattern nélküli fehér zaj, kifejezetten random eloszlású, ami szerencsére nem idegesít annyira, mint a textúrázott pattern zajok. A wiki szerint nem függ a hullámhossztól sem. 
Na mit szóltok, gyakorlatilag egy kvantumszámlálónk van fényképezőgép kasztniban. Persze aki nem a fizika csecsén nevelkedett azt hiheti, hogy a fényképen a zaj a töketlen mérnökök, olcsó anyagok, esetleg béna fotós miatt keletkeznek. Pedig egyik (leg)jelentős(ebb) zajforrás nem is a kamerából jön. A fény, bár nem látszik, attól még kvantumosan viselkedik. Mármint a fény az látszik - érted - a kvantumosság nem látszik.* Na mindegy, a fotonok érkezése/nem érkezése egymástól független esemény,  egy valószínűségi eloszlás mentén történik. Erre a pénzfeldobást szokták példaként emlegetni, pár dobás esetén még durva aránytalanság lehetséges, pl. 7 fej/3 írás, de a dobások számával egyre kevesebb a fej/írás különbsége (átlaghoz közelít).  A képlet szerint a jel/zaj arány SNR=N/sqrt(N), ahol N az egyes események száma (pl. fotonbecsapódás). A SignNoiseRatio azt mutatja meg tehát, mennyire jól mértünk meg valamit. Minél jobb az arány, annál tutibb a mérés, ezért törekszünk magasan tartani ezt a számot.

A D5000 Sensorgen adatai 
A NikonD5000 pixele kb. 28284 elektront képes összegyűjteni (FWC). Ha majdnem szaturáltra exponálunk egy ilyen pixelt, akkor az SNR=28000/sqrt(28000)=167.33, egy világos homogén képrészletben (jegesmedve tejszínhabbal) az egyes pixelekben 27833-28167 között bármennyi elektron lehet, nyilván szélső értékek ritkábban fordulnak elő, haranggörbe eloszlás szerint. Ha csak tizedéig exponáljuk (kb. -3EV), mondjuk középszürkének, akkor 2800/sqrt(2800)=52,9. 2748-2852 között bármennyi elektronunk lehet egy pixelben. Az előző esetben, bár számszerűen több a zaj, a jel is jobban dominál, tehát jobb a jel/zaj arány. Míg -6EV esetén az SNR=400/sqrt(400)=20, ami teljesen kiexponált pixel SNR-jének csak 10 százaléka. 

Forrás Na jó itt hatvanezres a FWC, mi csórók vagyunk a D5000-el.
Annak a 2-3 olvasónak nem rajzolok sajátot :)
Gyakorlatilag minél világosabbra exponáljuk a pixelünket, a shot noisenak annál kevésbé van hatása a képre. Emiatt észleljük ezt a zajt a sötétebb zónákban. Szóval ez az a zajtényező, amelyiket nem lehet "jobb" géppel kicselezni.
Valójában lehet, pl. APSC helyett fullframe, úgyhogy megint nem a jók, szépek és okosok, hanem a  gazdagok járnak jól, mert a kvantumfizika is az ők pártjukat fogja. Egy fullframe lapka illetve egy APSC lapka is ugyanazt a fényességű képet kell létrehozza, ugyanannyi idő alatt, ugyanakkora átmérőjű rekeszen át. Viszont a fullframe sokkal nagyobb felületen kapja az ehhez való fényt, akár 100000 elektronos is lehet a szaturációs szintje. Ugyanakkor a lapkák paraméterei ennél komplexebbek azért, arányaiban ezt a különbséget még sok minden árnyalja a képeinken.

Magyarul: jobbra exponálással lehet küzdeni ellene, tágabb rekesszel vagy hosszabb idővel. Az ISO gain egyértelműen rossz hatással van rá, tehát egyes kollégák véleményével, hogy az ISO növelése nem okoz zajosodást, nem értünk teljesen egyet, inkább egy klikkvadász kijelentésnek tartjuk. Ugyanis az ISO gain, bár a jel/zaj arányt nem változtatja, de mivel kisebb full well capacityből erősít (kisebb dinamika - lásd DXOMark megfogalmazás), ezért jobban érvényesül ez a típusú zaj (persze vannak más zajtípusok is, amire jó az ISO növelése).

Pl. amíg a D5000 ISO 100-n 28000 elektronnál szaturálódik, addig ISO800-on ez már 6500 elektron körül megtörténik (lásd a táblázatban), és ezt fogja felerősíteni annyira, mintha ISO100-on hosszabb idővel, tágabb rekesszel, vakuval szaturáltattuk volna a pixelt. Csak ebben az esetben a zaj is felszorzódik. Így a teljesen szaturált pixel SNR-je ISO800-on olyan lesz, mint egy -3EV-vel alulexponált pixelé ISO100-on. 

* Házi módszerekkel elég nehéz megfogni ezt a témát, ugyanis a digitális kamera rengeteg más zajtípussal is terhelt. Egyes fotonok szelektív detektálására nem is nagyon tudnék példát, talán a Geiger-mérő gamma mérése, ha jó példa. 28 dollárért már vásárolható geiger-számláló-készlet, de nem olvastunk mélyebben utána, hogy gamma fotonokat detektál e. Ha valakinek van valami jó házi kísérlet-ötlete, mondjuk lézerrel, szívesen kipróbáljuk.

A szabadszemes észlelésről is társalkodtak már kollégák, például itt, ahol látással kapcsolatos érdekes kísérleteket is meghivatkoznak, mennyi fotonból mennyi az, ami valójában a pálcikákban elnyelődik, stb. Ugyanakkor, a kísérletek szerint igen kevés foton/ingerelt pálcikasejt képes már észlelést kelteni. Sajnos (szerencsére) a látás is igen komplex folyamat, eleve lassú (mozgásérzékelés), van benne kiolvasási zaj, deadpixel retus (vakfolt) és mindenféle intelligens zajszűrés, a content aware fillingről nem is beszélve, amit leginkább hullafáradtan sötétben észlelhetünk, pl. éjszakai autózás közben az elalvás határán. A megismerési vágytól hajtott kollégák azt is firtatták, talán valami pszichedelikus anyag segítene a szem RAW állományához hozzáférni, ebben tényleg van potenciál, de mi nem igazán hisszük, hogy objektív eredményre számíthatunk ezektől, viszont nem vagyunk neurobiológusok, sem szemészek.

2017/12/13

ISO invariáns

A digit-korszak évtizedei alatt csak kikophattak volna már az olyan ökörségek, hogy a megnövelt ISO a szenzor érzékenységét növelné. Napasztmek! Anyám borogass!
Ezekben a könyvekben nem írnak ekkora baromságokat.

Engem nem zavar a szólásszabadság, meg, hogy többet írunk már, mint olvasunk, de azt a jó kutyafáját még a drága mamájának is, annak aki leírja, hogy az ISO növeli a zajt, s nem tesz utána szmájlit, hogy hullna ki a billentyűzetéből  a kopipészt. S az még semmi, hogy a wannabe fotósok mit írnak. De pont a D5000 hivatalos kézikönyve (!) írja, hogy “ISO sensitivity” is the digital equivalent of film speed. Há' nooormális? Én állítmányt tettem volna légnyuszik közé: "megfelel". Az ilyeneket kellene kiherélni, nem a nők után füttyögtető suttyókat. 
ISO6400-ra optimizált felvétel. ISO100-6400 között Balról jobbra ISO100+5EV ... ISO3200+0EV, ISO6400-1EV
Az ISO100-200 invariáns, ISO800 fölött szintén.

Volt már ilyesmiről szó az Utazásokban, pl. ebben a czikkben azt firtatjuk, hogy az ISO beállítás a digit gépen egyáltalán  nem analóg a kisebb-nagyobb érzékenységű film cserélgetésével, hanem inkább egy adott film pull, vagy push hívásához hasonlítható. De találsz olyan cikkeket is, ahol ezt is tagadják, egyelőre mégis ez a legjobb hasonlat. A hasonlatok amúgy is legalább annyira ködösítenek, amennyire megvilágítanak. Aztán volt szó az ISO sweet spotról is (ami már majdnem az invariáns témaköre), amiről akkoriban alig, de most már bőven vannak leírások a neten, sőt nagyjából ugyanolyan kísérletek is, mint amit mi végeztünk régebb. 

Ezt a bejegyzést se vegyétek tehát készpénznek. Szóval esmeg ISO invariánst keresünk a D5000-en. Meg azt is, hogy az ISO invariáns téma egyáltalán legitim e. Az internet tele van tesztképekkel való zsonglőrködéssel. Kezdjük a zaj értelmezésével. A fotózás során keletkező zajoknak (foton-zaj, dark-current, thermal stb.) majd még utánajárunk, most egy táblázat elég lesz:
Forrás.
Ez az ábra azt világítja meg, hogy a különféle forrásból származó zajok a jelfeldolgozás során hol keletkeznek. A foton- és front end noise (más forrásokban upstream noise) az analóg jel erősítése során szintén növekszik, de a back end noise (más forrásokban downstream noise) csak akkor növekszik, hogyha utólag, a digitális jelhez piszkálunk. Amennyiben tehát az ISO értékének növelésével az analóg jelet helyes exponálásra erősítjük, már a fotózás pillanatában (front end), kevesebb zajt kapunk, mintha a digitális jelet (amit már downstream noise is terhel) növelnénk a képfeldolgozáskor (back end). 

Számomra ennek csak akkor van értelme, hogyha a back-end noise arányában nagyobb, mint a front end. Amennyiben nagyjából egyformák, elvileg tökmindegy lenne, hogy analóg fázisban, vagy digitális fázisban adódik hozzá a jelhez, viszont a photographylife cikke erre nem tér ki, de majd utánajárunk.

Továbbá a cikk a downstream-noise negatív hatását csupán a szimulált ISO értékeken sejti, vagyis a Hi ISO értékeken. Viszont mi nem látunk ugrásszerű zajnövekedést ISO3200 és ISO Hi6400 között (1FÉ korrekció). Ha jól értem, ez a gondolatsor arra épül, hogy az ISO6400 digitális jelerősítést is kap, míg ISO3200 alatt csak akkor, ha AdobeCameraRaw-ban korrekciót alkalmazunk. Mindenesetre leellenőriztük, hogy egy ISO3200 és ISO6400 között van egy valós EV különbség, tehát azt még valahol a D5000 teszi bele a fileba (vagy metában utasítja a konvertert és még azelőtt rákerül, hogy megnyílna - de ez is csak spekuláció).
Forrás.
Az ábrához tartozó petapixeles cikk azt állítja, hogyha a downstream noise annyira alacsony (egy ISO résztartományon belül, vagy akár a teljes ISO tartományon), hogy már nem erősödik számottevően egy durvább digitális erősítés során sem (ez bármit is jelentsen), akkor az a szenzor ISO invariáns. Tekintsük tehát ezt definíciónak. (Bájdövéj a petapixeles cikk végén is azon szomorkodnak a kollégák, hogy tele van hülyeséggel az internet.) 
Forrás - amúgy egy csudajó oldal, mindenféle gépek mindenféle mérhető adataival, fogjuk még használni
Szóval a photonstophoto oldalon meghivatkozott DxOMark adat szerint a mi gépünk ISO662-nél invariáns (piros oszlop). Ez már önmagában miazmár, mert valami invariáns egyetlen értéken hogyan lehetne? Attól invariáns, hogy egy tartományon keresztül állandó. Na, tehát akkor két elméletünk van, ISO662 alatt invariáns, vagy ISO662 fölött invariáns. Lássuk (kecc a 400% nézetért). Nem ennyire ócska a D5000 képe, de a teszt miánn minden szoftveres zajszűrést kikapcsoltunk:

Az teljesen világos, hogy sem ISO200-3200, sem ISO200-6400 tartományon nem invariáns.

ISO100-200 között úgy látszik, hogy igen, de ezt valahogy sejtettük, ugyanis a LoISO zaj szempontjából nem is szabadna rosszabbul teljesítsen mint a 200-as (amennyiben azt tekintjük alap ISO-nak, de erről majd máskor). Az ISO200-640 tartomány már érdekesebb, alig látható a különbség, én mégis hajlok arra, hogy ez azért még nem invariáns. Tehát ISO662 alatt semmiképpen sem invariáns a D5000.

Lássuk felfelé. Az ISO662 érték utáni első kiválasztható ISO a 800-as (a D5000 1/3 értékeket enged).

Úgy tűnik ISO800-3200 között invariáns, sőt, bár az ISO6400 kiterjesztett, ott sincs számottevő különbség. Akkor lehet ha erre értette a DXO, hogy ISO662 fölött a D5000 invariáns?
Forrás
A DxOMark-on azonban egy másik adatot is találtunk, a Low-Light ISO szerintünk rokon dolog lehet az invarianciával, csak más a megközelítés. Bár nem ISO662, de azért közel van.

Jelenleg az tehát a narratíva, hogy közel a kánaán, lassan minden gép invariáns lesz, el lehet felejteni az ISO-t meg ilyenek. Csakhogy attól még a kétszer akkora ISO (vagy kétszeres gain) csak feláldoz egy FÉ dinamikatartományt, nem? Hiszen jelenleg pont ez az elv, hogy a fél well-kapacitást fogja kinevezni teljes well-kapacitásnak, tehát lineárisan gondolkozva egy teljes EV elszállt, ráadásul pont az össz-képinformáció fele. Akkor meg szerintünk pont lófaszt alig invariáns egy szenzor, már bocsánattal legyen mondva. Zaj szempontjából lehet az, de dinamika szempontjából egyáltalán. 

Ugyanakkor a dolognak semmiféle gyakorlati hasznát nem látjuk de ezt majd a következő posztokban kifejtjük.

Az ISO tényleges leírását most nem olvassuk el, ugyanis pénzbe kerül és hülyeségre nem költünk.

2017/11/29

Élesítsünk életlenítéssel - the Gaussian Blur sharpening case - Photoshop matematika

Mert mi mással ugye? Ez nem homeopátia, hogy azonost az azonossal kezeljünk, ez tudomány. Nem ez volt a kutatási cél, de egy jó kis Photoshop matematika következik. Kivonást, összeadást vágod? Elsős anyag. Akkor mehet is. Lazán kapcsolódik az előző bejegyzéshez is, ahol azt tagadtuk, hogy az Unsharp Mask ugyanúgy dolgozna, mint a régi filmes maszkolási eljárás. 

Az alapvetés az, hogy az Unsharp Mask hatását tökéletesen reprodukáljuk, de csakis Gaussian Blur segítségével. Persze nem mi találtuk ki, ez a video itt pont ezt csinálja, viszont fórumozgatás közben vannak akik kételkednek a módszerben. Na, mi pont alátámasztjuk. Igenis, nem mondod meg, melyik kép volt élesítve Unsharppal és melyik Gaussian Blurral. Sőt a két kép Differencies összehasonlítása is semmit mutat. Lehet, hogy a PS is csak Gaussiannal élesít a motorháztető alatt (a wiki alátámasztani látszik ezt)?

Szóval legyen a kiindulási kép neve O, mint original (a tátrai hegyivezetők pillednek rajta a Gerlachon). Ebből duplázunk egy UnsharpMask nevű réteget, amire rádobjuk az Usharp Mask filtert 2 pixellel. Ez lesz az összehasonlítási alap. Ezt ki is kapcsoljuk egy időre. 

1 lépés. Az O rétegből duplázunk egy GB nevű réteget, amire Gaussian Blurt eresztünk 2 pixellel
2. lépés. Az O rétegből duplázunk egy O-GB nevű réteget. Kivonjuk az O-ból a GB réteget. Ezt az Apply Image... parancs segítségével, GB réteg/Substract blending móddal, hajtjuk végre. 
3. lépés. Az O rétegből duplázunk egy O+invGB réteget. Vagyis az eredetihez most hozzáadjuk a GB réteg inverzét. 

4. lépés. Újabb eredeti réteg létrehozása O+(O-GB)-inv(O+invGB) névvel. Ezt két lépésből fogjuk végrehajtani. 
    4.1. először a 2. lépésben létrehozott réteget adjuk hozzá az eredetihez, 

  4.2. majd a 3. pontban létrehozott réteg inverzét (inverz inverze) fogjuk kivonni a 4.1 lépés eredményéből. 

Naaa, nem annyira bonyi ez. A kapott réteget aztán összevissza hasonlítgathatjuk az Unsharp Mask réteggel, de hogy különbség nem lesz (ha pontosan követted a képletet), az fix. 
200% nagyításban a kép felét UM, a másikat GB élesíti. De a Differencies sem mutat eltérést.
A képlet tehát (fórumok is ezt igazolják):  USM = O + (O - GB) - inv(O + invGB) lehetne, ahol USM px = GB px, vagyis ugyanolyan értékű Unsharp és Gaussian esetére igaz ez. Azért csak óvatosan, ugyanis a photoshop matematikájában O+(O-GB) nem egyenlő O+O-GB-vel. Gyakorlatilag egy Gaussian Blurral valahogyan terhelt Szolarizálást kapunk:

Namost, más fórumokon ezt próbálják egyszerűsíteni (programozhatóság miatt), és az derül ki, hogy az inv LAYER = WHITE - LAYER
Ezt hamar ellenőriztük is. Az eredeti rétegen végrehajtott Image/Adjust/Invert tök ugyanaz, mint az Apply Image.../ Invert pipával és Normal Blendinggel, vagy egy teljesen WHITE rétegből kivonni az eredeti rétegünket
A preview bekapcsolása miatt a White layer már mutatja a hatást, de egy sima fehér rétegről van szó.












Tehát ezek mind negatív képet okoznak. Ha inverz nélkül akarnánk felírni a képletet akkor így is nézhetne ki:
USM = O + (O - GB) - {Wh-[O + (W-GB)]} ahol a műveleti sorrendet a zárójelek mondják. Ezért kapnak a kollégák rossz eredményt, ha (nem is tudom hogyan) 3*O-2GB-re egyszerűsítik a dolgot. 

Na, és akkor jöhet a reverse engineering: lehet e Unsharppal életleníteni? Megoldások jöhetnek kommentben, vagy posztban, vlogban, vagy ahogy jólesik :)

2017/11/24

Unsharp mask - életlen maszk - fotótörténeti hátranyilazás

Végtelenül elszomorított az a felismerés, hogy ugyanúgy felidegesítheti a nálamnál képzettebb embereket, ha az Utazásokra tévednek, mint ahogyan engem bosszantott, amikor az Unsharp Mask témakörben kezdtem el keresgélni. Ugye, leginkább a PS szűrőjét dobja ki a gugli, aztán ahogyan finomítottuk a keresést, úgy vált a dolog egyre visszataszítóbbá. Ugyanis sokan meghivatkozzák, hogy ez bizony egy régi sötétkamra eljárás digitális reinkarnációja, viszont annak elmagyarázását csak addig viszik el, ahonnan már kiderülne, hogy bizony lövésük sincs az egészről.

Mi is azt hittük ez egy igazi trivialitás. Konkrétan sosem használtuk, először a PS-ben találkoztunk vele a kilencvenes évek második felében, nagyjából egyidőben a sötétkamránk felszámolásával. De különben sem használtunk akkoriban nagyformátumot, kisfilmmel meg elég nagy kihívás lenne ezt megcsinálni. Végül a Way beyond monochrome (Lambrecht - Woodhouse, Focal Press kiadó) című könyvből sikerült megérteni a dolgot. Letölthető, ebből fogunk képernyőképeket használni illusztráció gyanánt.

Egyike tehát azoknak a technikáknak, amelyeknek a gyökerei bekúsznak a régi, vegyszerrel telibevert sötétkamrába. Hasonló hatást kelt(het)ett a High acutance developer nevű cucc is (állítólag), de persze ezért nem fogunk bekeverni semmilyen hívót, papírunk is csak egyfajta (bazi kemény) van. Csak szimuláljuk a dolgot. És nem célunk egy jó, vagy legjobb élesítést kikutatni. Pusztán az életlen maszk használatát járjuk körbe.

Nézzük először PhotoShopban, miről is van szó.
Na, itt az élesíteni kívánt eredeti 400%-ban. Egyszerű, mint a faék, a könnyebb mérhetőségért. 87-28% szürkék. 
Először adunk neki PS-ből Unsharp Maskot, lássuk mit szeretnénk szimulálni:
A legsötétebb pixel 97%, a legvilágosabb 21% lett, de csak a peremek mentén (rádiusz 2px), a kép többi része ugyanolyan maradt. Gyakorlatilag egy optikai illúzióját kapjuk az élességnek (acutance) azáltal, hogy a bluros átmenetben a sötét tónus sötétebb, a világos egy csöppet világosabbá válik néhány pixelen. A hatás térbeli növelésével már nem az élesség-érzet fog növekedni, hanem a HDR témakörből ismerős lokális kontrasztnövekedést kapjuk. Na, nagyjából ezt a hatást érték el a régi kollégák, természetesen a sötétkamrában, akkor, amikor a számítógép még sci-fi volt.

A lényege az, hogy egy relatíve kontrasztos negatívból kontaktoltak egy alacsony kontrasztú (ezt fontos) pozitívot. A szendvicselésnél a két emulziós réteg közé került a film hordozója, ezáltal rést képezve, amiben a fény szóródva, az éles szegélyeket blúrolva adta vissza. Ezt a rést szükség szerint növelhették is plusz üveglapok beiktatásával, a rés nagyságrendje tized-milliméternyi 4x5 collos negatívoknál. 
Way beyond monochrome - 257. old.
A kontaktolási rés okozza tehát, hogy a maszk enyhén életlen. Innen a neve. Egyértelmű, hogy a negatív-pozitív szendvics-kombó már nem annyira kontrasztos, mint az eredeti negatív volt, tehát emiatt jóval kontrasztosabb papírra kell világítani, mint az eredeti negatívot (+2-3 gradációt is kívánhat). A kontrasztosabb leképezés már önmagában élesebbnek tűnhet, de a lényeg a papírra levilágításnál (nagyításnál) következik:
Way beyond monochrome - 259. old.
Az 1-es pontnál a pozitív maszk éledő denzitása miatt nőni kezd a kombó denzitása, egészen a 2-es pontig. Innentől hirtelen megszűnik a negatív denzitása, de a pozitív (mivel életlen) még nem érte el a maximális denzitását, ami a 3-as pontban fog bekövetkezni. Innentől aztán a pozitív denzitása fog érvényesülni a 4-es pontig, ahonnan fordítva megismétlődik a történet. A kék vonal tehát azt mutatja, hogy az eredeti negatív sötét-világos átmeneténél, a maszk életlenségének kiterjedésében, néhány tized milliméteren, megugrik, illetve lecsökken a denzitás. Ugyanaz a hatás tehát, mint amit PS-ben láttunk fennebb. Az életlen maszk filmkarakterisztikája, a levilágítási idő, megfelelő kontrasztú papír megválasztása mind fontos kulcstényező a végeredményhez. precíz pászításról nem is beszélve. Nem egy kezdő technika, annyi szent. Nem árt egy denzitométer se hozzá.

A PS a képeinken ezt sokkal egyszerűbben és kontrollálhatóbban végzi el. Nem igaz, hogy úgy dolgozik, mint az analog technológia. Széleket detektál, a felületek ugyanolyanok maradnak, nincs szükség új kontrasztgörbére, hogy visszaállítsa a globális kontrasztot. Ha valaki szimulálni szeretné a fentieket PS-ben, akkor több lépésre lesz szüksége.

Az eredeti réteget leduplázzuk, a fölsőt inverzbe tesszük (pozitív), elblúroljuk kicsit (unsharp) és durván lecsökkentjük a kontrasztját. Ez a réteg lesz tehát a maszk. Az összhatás módot pedig Muliply-re állítjuk,

Na ugye, az eredmény nem teljesen az, mintha Unnharp Maskot adtunk volna. A sötét tónusok megmaradtak (4-es mintavételi pont), a világosak azonban besötétedtek, ami várható volt (1-es mintavételi pont). A szegély lokális kontrasztja természetesen megtörtént. Tehát hátra van még egy lépés, egy olyan kontrasztgörbe alkalmazása, ami megőrzi a háttér tónusát, viszont a világos szövegtónust visszahozza 28%-ra. Ezzel szimuláljuk a negatív-unsharpmask kombó kontrasztosabb papírra nagyítását.

Valahogy így. Na tehát, ha azt olvassátok, hogy az Unsharp Mask pont azt csinálja PS-ben, mint a régi filmes technika, akkor csak fenntartással higgyétek el.

De a könyv leírása alapján, a régi fotósok közül aki egyszer belekóstolt, az már mind így dolgozta ki a fontosabb képeit. Érthető, nekünk is mindennapos dolog élességet finomhangolni a képeinken, csak nekünk összehasonlíthatatlanul könnyebb.

2017/11/22

#metoo? Grimpix farokráciája

- Cilú, cicc, cicc - csalogattam a kurva macskát, mert nem volt hajlandó előbújni a kagyló alól, ahol általában jól érezte magát.
- Azt azért vágod, hogy a catcalling durva zaklatás ugye? - jegyezte meg Grimpix. Mint ahogy a wolfwhistle is. Az erőszakkultúra része, az antropokrata gőg megnyilvánulása - tudod.

Grimpix ekkor már nagyon témában volt, napok óta az internetet böngészte. Aztán ezen az estén csak kibökte:
- Végülis én milyen nemű vagyok?
- Khm... hát tudod, izé... Pont mint a Micimackó! - mert hirtelen nem jutott más az eszembe.
- Kösz! - mondta Grimpix epésen. Már aggódtam, hogy esetleg LMBTQXYZ, vagy mi vagyok.
- Engem az se zavarna - válaszoltam. - De külön budit  nem kapsz a plüsspöcsödért, az fix.
- Plüssállatokat is ki lehet kiherélni? - kérdezte később.
- Nem tudom. - feleltem - szeretnéd? - reméltem ettől abbahagyja a zaklatásomat. De Grimpix elengedte a füle mellett.
- És hallodé, van olyan, aki plüssállatokból is csak nőstényt választ, mert a hímek bunkóbbak?
Erre most mit mondjak? Azt se tudom végülis Grimpix micsoda. Sokáig csendben üldögéltünk, de éreztem, hogy még nincs vége.
- Látod itt arról beszél egy néni, hogy  a férfihormon az oka mindennek. És a herélés a végső megoldás a világ bajaira.
- Honnan olvasod ezeket? Nem megegyeztünk, hogy nincs több subba, legalja, meg napiszar? És mi van ha csak trollkodás az egész?
- Neeeemis, megírta az újság.
- A férfihang - mi? - kérdeztem. 
- Az is... - vallotta be. - Na jól van nagyokos, akkor azt meséld el, mi ez a hesstegmitú? - folytatta Grimpix 
- Nem tudom, hagyjál békén - mondtam, mert emlékeztem, a múltkori beszélgetésünkre a buzikkal kapcsolatban, és tüntetőleg visszatettem a fejhallgatót, hátha abbahagyja. Pont Björk kamionplatós száma ment, a Big time sensuality.
- De itt azt írja, hogy egy néni fiatal korában traumítú lett. Né, megtaláltam a youtubon - mutatta felém a tabletet - ő az.
Mit mondjak, edzett vagyok, de amit ott láttam azon egy csöppet megütköztem. 
- Nyugi, ez csak kultúra - védekezett - nem a a kink.com. - Tudod, semmi baj, ez a színészet!
Döbbent csend következett. Még Björk is elhallgatott. Grimpix néha nagyon meg tud lepni. Szerencsére átkapcsolt a facebookra.
- Itt azt mondják, hogy a zaklatók általában nem is értik mi ezzel a probléma. Te érted?
- Nem, én sem értem.
- Na, akkor te is egy bunkó zaklató vagy. Na hallám szerinted, ha egy bácsit elfenekelnek s ez kiderül, akkor az borzasztó, vagy borzasztóan vicces,?
Most már biztosan tudtam, hogy csapdába akar csalni.
- A beszólogatást sem ítéled el? A füttyögtetést?
- Az is ugyanonnan ered, ahonnan a szerelmi líra. Csak nem mindenki József Attila.
- Persze, őt is  odataszította a muszáj. Ő se volt más csak egy dacos hormonborz. - kacagott Grimpix
- Az egész szexualitás egy sötét lefojtott állati misztérium. És a kultúra, tudod, úgy hullik le rólunk mint ruha, ha az állat enni kér. Ezt lehet törvényekkel, gondolatrendőrséggel üldözni, csak nem érdemes. Már az egyház is próbálkozott vele. Az emberi lét állatesszenciáját tagadnánk meg vele.
- A nőknek nincs ilyen állatizéjük, állat-minisztériumuk?
- De, nekik is van. Mindenkinek. Csak nem mindenki vette a fáradtságot, hogy megismerje az állatát. Van aki nem is tud róla. És van olyan is, aki nem bírta megszelídíteni. Ezért egyesek felkészületlenek másokkal szemben.
- A nők felkészületlenebbek?
- Dehogy. Sőt. Általában a mi állatunk erősebb. Az övék meg furfangosabb.
- Akkor a nőket ez miért idegesíti?
- Nem tudom, kérdezd meg őket. Őket az is idegesíti, hogyha nem bókolsz, amikor kellene. A nőkkel sohasem lehet tudni.
- Szerinted akkor versekkel is lehet zaklatni nőket?
- Persze, bármivel. De ha jó vagy nála, akkor a nem zaklatással tudod a legjobban zaklatni. Ez egy ilyen érdekesség.
- Akkor nincs is zaklatás?
- De van. Az első próbálkozás visszautasítása után, ha nem hagyod abba. Addig nem az. És mindenkinek joga van egyszer felmérni, hátha pont neki szól a dekoltázs-meghívó.
- Hú, te nagyon beteg vagy. - jegyezte meg Grimpix.  - S úgy érted, a hesstegéknek nem is igazi a traumájuk?
- Nem tudom. Mindenkivel megesik, hogy nem úgy történnek a dolgok, ahogyan elképzelték. Vannak kínos és kellemetlen helyzetek is. Szerinted a visszautasítottság nem trauma?
- Jól van, te is egy mocskos áldozathibáztató vagy. - fakadt ki Grimpix. - Látod, erről példát vehetnél, ez a tökös ember minden férfitársa helyett szégyenkezik. - mutatott egy cikket.
- Felőlem, ha nincs saját szégyellnivalója
- Mert mindegyik potenciális zaklató és erőszaktevő. - folytatta - A férfiak miatt rettegnek a nők este a kihalt utcákon is. 
- Ahogyan mi is félünk belemenni egy lelkizésbe. A nők használhatnak sokkolót a kihalt utcákon, jól elférne a retikülben a sok szirszar között. De egy lelkiztetés alatt számunkra nem elfogadott lefújni gázzal a nőt. 
- Tagadod, hogy van olyan, hogy férfibűnözés?
- Ez pont olyan, mint a cigánybűnözés. Tényszerűen igaz, de végtelenül leegyszerűsíti a problémát. Csak az vegye magára, akinek inge. Én nem veszem magamra. Tudod, hogy klasszikust idézzünk: minden jó, csak sok köcsög van, kevés a biztonság, a rosszakat el kell ítélni. Ennyike.
- Te sem foglalkozol sportkérdésekkel - mi? - vetette oda megvetően.
- És a női kvóta? Támogatnád?
- Ha versenyt futnánk és neked elő lenne írva száz méter előny, azt szeretnéd?
Grimpix hallgatott. Szerintem szeretné.
- Akkor szerinted egyenlőség van?
- Persze, sőt. Nálunk a nőknek vannak kulturális előjogaik is. Például többet ér az életük, bár ennek ritkán veszik hasznát. Más kultúrákban viszont valóban elnyomják őket. Érdekes, az itteni feministák nem azokon a férfiakon kérik számon az elnyomást. Az itteni férfiakat könnyebb a sarkukhoz verni.
- Akkor végülis mi bajuk van ezeknek? 
- Hát úgy tartják, hogy fallokrácia van. És ezért tart itt ez a világ...
- Farokrácia? - probálta értelmezni. - Az mi?
Gondoltam jobb, ha nem mondok semmit.
- Megvan! Faszaság van!? - derült fel az arca. - És hallod, tényleg az van?
- Dehogy, szerintem nincs fallokrácia. Faszaság pláne nincs.
- De a múltkor nem azt mondtad a miniszterelnöki interjú után, hogy Istenem, ez is mekkora egy fasz?
- Hát igen, de nem pont így értettem...
Ezután sokáig hallgattunk.
Lehet, hogy holnap mégis elviszem Grimpixszet a szabóhoz. Herélni. Vagy miskárolni. Majd kiderül.

2017/11/21

Demozaik házilag - Bayertelenítünk

Szia urak. Bayertelenítünk.
Nem az 5. párttagkönyvet tépjük szét mérgünkben. De nem is szenzort fogjuk lecsutakolni, bár az is egy izgalmas témakör és nem kizárt, hogy egyszer majd megcselekedjük. Igaz is, ha valaki ilyen célra feldobná a kameráját, (természetesen az eredmény abszolúte nem garantált), akkor szívesen legyaluljuk róla a bayer szűrőt. 
Szóval van a Nikon D5000 szenzora, ami névlegesen 4288*2848 pixeles, ami nagyjából 12 megapixel. Persze nem pont ennyi, inkább 4310*2868 pixel, de ehhez már DCRAW kell (mi a GUI-t használjuk), ugyanis még a CameraRaw is visszavágva mutatja meg. Amúgy bevett szokás visszavágni a szegélyeket (több gépemnél is ez van), mert azokat nincs miből interpolálni. Persze nem most szálltunk le a falvédőről, tehát tisztában vagyunk vele, hogy ez a szenzor nagyjából csak 4 megapixeles és az is jóindulattal, 6Mpx a zöld csatornán és 3-3Mpx a vörös-kék csatornákon. Ilyen rendszert főzött nekünk Bayer úr a Kodaknál. Ez persze nem ilyen egyszerű, mert a bayer pigmentek nem tökéletesen szűrnek komplementert, és ismerve a pontos karakterisztikát, okos algoritmusokba a szomszédos szűrők alá beszivárgott információt is be lehet építeni. Ezt találtam a bayer színáteresztésére, jobb nincs, ezt szeretjük:
Forrás
Piros felvételi szűrővel készült JPEG,
 illetve a demozaikolás előtti  NEF Bayer-képe.
Gyakorlatilag az látszik, hogy elég tökéletlenek a szűrők, főleg a vörös. Na mindegy is, az internet tele van Bayer-szűrők rajzaival, de mi konkrétan a saját gépünkét szeretnénk megismerni, tehát tesztképek következnek. A DCRAW tud nyers pixelkimenetet produkálni  (-D paraméter, *.pgm output, amit megnyit a PS - grayscale 8 bit), bár nem tudjuk, ezek az adatok mennyire nyersek konkrétan, hiszen a 12 bites adatból valahogyan 8 bites lesz. És az sem igaz, hogy a RAW valóban eredeti, módosítatlan nyers lenne, pl a Nikont érte olyan vád, hogy zajszűrést alkalmaz a NEF-ben, amitől az amatőr csillagászok kicsit idegesek lettek. Nem lep meg tehát, hogy több különböző RAW dekóderrel nem egyforma eredményt kapunk, tehát van ott valami titkos izé még. Na de, hogyha készítünk vörös, zöld és kék képeket, azt legalább ki lehet találni, melyik pixel pontosan milyen bayerszűrővel van megpatkolva. A kép közepéből vágunk ki 8*8 pixelt, mert a szélét bizony sújtja a peremsötétedés, a közepe sokkal homogénebb. A jobboldali ábrán jól látszik, hogy a piros pixelek a legvilágosabbak (0-2% között szór az érték).
A D5000 szenzorának kellős közepe
A 64 pixelből tehát 16 Red pixelt kapunk. Az is látszik, hogy a felvételi szűrőn (valami kínai Cokin utánzat), illetve a Bayer-szűrőn keresztül átszivárog a zöld és a kék csatornákba is némi fény.  A világosszürke pozíciók a Bayer zöld pixelei (32 pixel, értéke 61-64% között szór), a sötétebb szürkék pedig a Bayer kékjei (16 pixel, 79-82% között).
A megfelelő pixeleket a nekik megfelelő csatornára másolva, megkapjuk a bayerszűrő elrendezését ezen a területen. Hogy valójában ez a négy elrendezés közül melyik, nem tudjuk, mert ugye melyik 4 pixelt nevezzük ki kezdőpixelnek? A kép széle sem árul el erről sokat, amúgy sem megbízható, látjuk, hogy különféle szoftverek különböző számú pixelt csalnak el a szélekről. A kép legközepe tehát RGGB. Ennyi legyen elég egyelőre.
Ebben az esetben a demozaikolás egy sima kiátlagolás lesz, a vörös csatornán 1%, a zöldön 62%, a kéken 81%.
A kapott szín pedig: R254 G119 B67. Elég mosott, fakó, de ne felejtsük el, hogy nem tudjuk a DCRAW hogyan csinál a 12 bites RAW-ból (amin mellesleg nincs se profil, se görbék, se korrekció - vagy pont de) 8 bites szürkeskálást.


A fenti cuccot megismételtük a RawTherapy segítségével. Ez tud szenzor-mintázatot is mutatni, színesben. A kék pixeleket default még nem tudjuk mi okból feketének jeleníti meg, de hogyha a Therapee munka profilját kiütjük (none), vagy a kék csatorna blackpointját bizgetjük, akkor kikékíthetőek. A szürkeskálás 8 bites pixelértékek köszönő viszonyban sincsenek a DCRAW által generáltakkal. Itt valamilyen profilt használ, a DCRAW esetén meg a jóisten se tudja mi történik.

De ennyiért nem fogjuk megtanulni a RawTherapy használatát. Amúgy kismillió demozaikoló beállítás van benne, egyszer majd sort kerítünk arra is, mert jó mókának tűnik. Hátha addig sikerül választ találni arra a kérdésre is, hogyan lehet hozzáférni a tényleges, módosítatlan RAW adatokhoz.

A Sony F828 RGBE filtert használ. A színek visszaadását állítólag javítja, de ennek további felbontáscsökkenés az ára. Azért valamit elárul az is, hogy nem uralta el a piacot ez a szűrőfajta. A miénk ráadásul egy házilag infrásított szenzor. Meg sem kíséreljük szimulálni a mozaikolását. Mellesleg van már olyan technológia a piacon, hogy egyetlen exponálás hatására 4 kép készül 1 pixelnyi shiftelésekkel. Így gyakorlatilag a vörös-kék csatornák teljes felbontásúak lesznek, a zöld csatorna meg kétszeres felbontású. Még keressük a módszert, hogyan tudnánk ehhez kapcsolódni házi módszerrel. Update: módszer 1, módszer2.
Persze egy igazi képnél a demozaikolás, nem sima átlagolás, egy bonyolult algoritmust igényel, de még így is keletkezhet hiba, például akkor, hogyha a finom részletek méretei egy nagyságrendbe esnek a pixelméretekkel. Így fest demozaik előtt, jól látható, hogy a fölső vonalak közötti rések 3-4 pixelesek.
És ilyen lesz a demozaik után. Az alsó vonalak rései (6-7pixel) már elegendőek a helyesen interpolációhoz.
D5000 demosaic chroma error.
A színeket eltúloztuk (vibrance+saturation), a felső rácson jól látszik, miről van szó. Ez bár sok esetben összetéveszthető az objektívek kroma-hibáival, abszolúte nem lencsehiba, kifejezetten a demozaikolás az oka. 

DCRAW linkek: 1, 2, 3