Rychlý FITS prohlížeč

Povídání o astronomické literatuře, počítačových planetáriích, hvězdných mapách, atd.
Odpovědět
Uživatelský avatar
Psion
Příspěvky: 11502
Registrován: 02. 01. 2001, 05:03
Bydliště: Praha
Věk: 61
Kontaktovat uživatele:

Re: Rychlý FITS prohlížeč - nezná někdo ?

#226

Příspěvek od Psion »

Já měl namysli import a debayering RAW do Adobe. Pamatuji, že i import RAW ze Sigma foťáků byl velmi pomalý.
Uživatelský avatar
Tomáš Grygarčík
Příspěvky: 1675
Registrován: 18. 07. 2010, 23:35
Bydliště: Malé Hoštice
Věk: 35
Kontaktovat uživatele:

Re: Rychlý FITS prohlížeč - nezná někdo ?

#227

Příspěvek od Tomáš Grygarčík »

Měl jsem obrovskou nechuť programovat. Velice pomalu jsem se prokousával implementací zobrazení náhledů a už lze v dialogovém okně určit, jestli se chcete podívat na surová data či uložený náhled. Jedinou vadou na kráse je striktní zobrazení náhledu na šířku, tak doufám, že na astro to nikomu nebude vadit. Dialogové okno se zobrazí jen při zobrazení RAW souboru, u FITu zase zmizí. Umístěné je nahoře vedle histogramu.

Načtení náhledu je rychlejší, jenže někteří výrobci ukládají náhled v plném rozlišení, takže s tou rychlostí to při 20+ MPix snímku není zas tak super.

Linux x86_64 http://grytom.g6.cz/fits/raw/fits_prohlizec.tar.gz
Windows x86_64 http://grytom.g6.cz/fits/raw/fits_prohlizec.zip
SW 200/1000, SW 200/800, TS Photoline 72mm f/5.5 APO, LUNT Ha 60/500 B1200, Bresser MS 127/1900
ZWO ASI1600MM Pro, 2×QHY-5 mono, OM-D E-M1 mark III, OM-D E-M1 mark II mod
SW EQ6-R, SW HEQ-5 SS, TS AZGP, vlastní dobsonova montáž

FITS prohlížeč
Uživatelský avatar
Cztwerec
Příspěvky: 8293
Registrován: 03. 02. 2007, 17:58
Bydliště: Břežany II.
Kontaktovat uživatele:

Re: Rychlý FITS prohlížeč - nezná někdo ?

#228

Příspěvek od Cztwerec »

Ahoj Tomáši, děkuju moc za prohlížeč, pomohl mi vybrat špatné snímky! Je to díky tobě opravdu rychlé. Debayeroval jsem fity pomocí matice RGB v Maximu na barevné fity. Nemohu je ve tvém prohlížeči otevřít. Znamená to, že musím nechat v původním surovém formátu bez debayerizace? Asi jsem to přehlídnul, nebo to tak prostě je? Prostě jsem to tak potřeboval udělat...
Lectorem iustus...
Uživatelský avatar
Tomáš Grygarčík
Příspěvky: 1675
Registrován: 18. 07. 2010, 23:35
Bydliště: Malé Hoštice
Věk: 35
Kontaktovat uživatele:

Re: Rychlý FITS prohlížeč - nezná někdo ?

#229

Příspěvek od Tomáš Grygarčík »

Barevné (vícevrstvé) FITy nejsou podporovány tou komponentou, kterou k jejich načítání používám. Už jsem uvažoval, že ten debayer nějak spáchám, ale poslední měsíc opravdu není chuť cokoliv programovat. :oops:
SW 200/1000, SW 200/800, TS Photoline 72mm f/5.5 APO, LUNT Ha 60/500 B1200, Bresser MS 127/1900
ZWO ASI1600MM Pro, 2×QHY-5 mono, OM-D E-M1 mark III, OM-D E-M1 mark II mod
SW EQ6-R, SW HEQ-5 SS, TS AZGP, vlastní dobsonova montáž

FITS prohlížeč
Uživatelský avatar
Cztwerec
Příspěvky: 8293
Registrován: 03. 02. 2007, 17:58
Bydliště: Břežany II.
Kontaktovat uživatele:

Re: Rychlý FITS prohlížeč - nezná někdo ?

#230

Příspěvek od Cztwerec »

Úplně v pohodě Tomáši a opravdu děkuji!
Lectorem iustus...
Uživatelský avatar
Tomáš Grygarčík
Příspěvky: 1675
Registrován: 18. 07. 2010, 23:35
Bydliště: Malé Hoštice
Věk: 35
Kontaktovat uživatele:

Re: Rychlý FITS prohlížeč - nezná někdo ?

#231

Příspěvek od Tomáš Grygarčík »

Trocha oprav a záplat, například proti souborům se zápornými hodnotami: http://grytom.g6.cz/fits/

Je tady někdo, kdo by to chtěl používat na 32bit Windows? :?:

U ARM verzí jsem se pokusil o přepsání nejčastěji volané funkce do ASM a dosáhl jsem akorát tak zpomalení, takže stále bez optimalizací. Nicméně všiml jsem si jedné zásadní vlastnosti - na stejném HW (Raspberry Pi 3) je ARMv8 (64bit) verze ve výpočtech dvakrát rychlejší, než ARMv7 (32bit). :idea:
SW 200/1000, SW 200/800, TS Photoline 72mm f/5.5 APO, LUNT Ha 60/500 B1200, Bresser MS 127/1900
ZWO ASI1600MM Pro, 2×QHY-5 mono, OM-D E-M1 mark III, OM-D E-M1 mark II mod
SW EQ6-R, SW HEQ-5 SS, TS AZGP, vlastní dobsonova montáž

FITS prohlížeč
zuzi
Příspěvky: 678
Registrován: 21. 03. 2017, 08:14
Bydliště: Zdemyslice
Věk: 39

Re: Rychlý FITS prohlížeč - nezná někdo ?

#232

Příspěvek od zuzi »

A čím to že po přepsání na ASM to je pomalejší, že jsou kompilátory tak moc pěkně už optimalizované, že rukama to v ASM nejde líp?
Uživatelský avatar
Tomáš Grygarčík
Příspěvky: 1675
Registrován: 18. 07. 2010, 23:35
Bydliště: Malé Hoštice
Věk: 35
Kontaktovat uživatele:

Re: Rychlý FITS prohlížeč - nezná někdo ?

#233

Příspěvek od Tomáš Grygarčík »

I tomu procesoru nějakou dobu trvá, než zapíše 64bit číslo do vlastního registru. Tím, že jsem pracoval se stále menší oblastí registru (16bit namísto plného 64bit) se mi podařilo v jedné aplikaci docílit výrazného zrychlení práce. U ARMu jsem včera poprvé spáchal funkční ASM kód pro ARMv8 a dnes i pro ARMv7 (oba se trochu liší! :shock: :x ), takže zatím pracuju s celými registry.
SW 200/1000, SW 200/800, TS Photoline 72mm f/5.5 APO, LUNT Ha 60/500 B1200, Bresser MS 127/1900
ZWO ASI1600MM Pro, 2×QHY-5 mono, OM-D E-M1 mark III, OM-D E-M1 mark II mod
SW EQ6-R, SW HEQ-5 SS, TS AZGP, vlastní dobsonova montáž

FITS prohlížeč
Uživatelský avatar
Bill
Příspěvky: 4758
Registrován: 11. 01. 2007, 19:54
Bydliště: Uničov

Re: Rychlý FITS prohlížeč - nezná někdo ?

#234

Příspěvek od Bill »

zuzi píše:A čím to že po přepsání na ASM to je pomalejší, že jsou kompilátory tak moc pěkně už optimalizované, že rukama to v ASM nejde líp?
Jo tuhle hru jsem kdysi taky hrál - samozřejmě, že člověk to nakonec v tom asembleru dá rychleji, ale je to náročné a nejlépe když člověk od překládače trochu opisuje...

Jenom takový příklad (obecný) - desítky let starý turbopascal:

2*x překládač x+x
3*x překládač x+x+x
4*x překládač x+x=y, výsledek = y+y ...
M:736 750 113
Uživatelský avatar
Tomáš Grygarčík
Příspěvky: 1675
Registrován: 18. 07. 2010, 23:35
Bydliště: Malé Hoštice
Věk: 35
Kontaktovat uživatele:

Re: Rychlý FITS prohlížeč - nezná někdo ?

#235

Příspěvek od Tomáš Grygarčík »

Bill píše:a nejlépe když člověk od překládače trochu opisuje...
Bez toho by to nešlo :lol: právě takhle jsem hledal, kam assembler ARMu zapisuje výsledek funkce, protože makro "__result" je platné jen pro AT&T dialekt x86/x86_64.
SW 200/1000, SW 200/800, TS Photoline 72mm f/5.5 APO, LUNT Ha 60/500 B1200, Bresser MS 127/1900
ZWO ASI1600MM Pro, 2×QHY-5 mono, OM-D E-M1 mark III, OM-D E-M1 mark II mod
SW EQ6-R, SW HEQ-5 SS, TS AZGP, vlastní dobsonova montáž

FITS prohlížeč
Uživatelský avatar
hades
Příspěvky: 3383
Registrován: 01. 11. 2017, 10:02
Věk: 41

Re: Rychlý FITS prohlížeč - nezná někdo ?

#236

Příspěvek od hades »

Tome, díky za tvou práci
William Optics FluoroStar 110, AFR-IV, ASI533MM Pro, EQ-6 R, Berlebach Planet, SVBony SV305M Pro, Intel NUC, DeepSkyDad AF3 a pár dalších kravin vlastní výroby
Astrofotky
Uživatelský avatar
astar
Příspěvky: 2180
Registrován: 01. 02. 2008, 21:15
Věk: 67

Re: Rychlý FITS prohlížeč - nezná někdo ?

#237

Příspěvek od astar »

Bill : už si nepamatuji jak to bylo v Trubopascalu (taky jsem jej používal) ale teď v Lazarusu pokud napíši v ASM násobení , tak musí být násobení i ve výpisu . Obzvlášť 4*x bude rychlejší než x+x+x+x , jedna instrukce proti čtyřem . Nezjistil jsem rozdíl v rychlosti mezi instrukcí násobení a sčítání .

Tomáši ,nebude to ve vzdáleném volání procedury v tom ASM ? Jak to dělá klasický překlad ?
Taky jistý přínos je uchovávat hodnoty co nejvíce v registrech ( opakované čtení) a vhodnou skladbou příkazů . Mně to pomohlo ve zrychlení (jiný program optika) o 20 -30 %.
Př. dělení des.čísel trvá dlouho , tak hned nepožadovat výsledek pokud mohu provést příkazy jiné , načtení nebo přesun hodnoty do jiného registru a pod a pak zpracovat výsledek dělení . To ty jistě znáš . :)
SW 250/1000+EQ6 Pro,  Achr 100/660, Achr 80/400 , ASI 294MC PRO i ASI 294MM PRO
Uživatelský avatar
Tomáš Grygarčík
Příspěvky: 1675
Registrován: 18. 07. 2010, 23:35
Bydliště: Malé Hoštice
Věk: 35
Kontaktovat uživatele:

Re: Rychlý FITS prohlížeč - nezná někdo ?

#238

Příspěvek od Tomáš Grygarčík »

Celočíselné násobení a dělení beze zbytku jde udělat krásně jednou instrukcí shl / shr. A to ani nemusí být v ASM.
Ta volaná funkce porovnává, jestli se vypočítaná hodnota pixelu vejde do rozmezí 0-255. Právě tam pracuju pouze s 8bit délkou registru.
SW 200/1000, SW 200/800, TS Photoline 72mm f/5.5 APO, LUNT Ha 60/500 B1200, Bresser MS 127/1900
ZWO ASI1600MM Pro, 2×QHY-5 mono, OM-D E-M1 mark III, OM-D E-M1 mark II mod
SW EQ6-R, SW HEQ-5 SS, TS AZGP, vlastní dobsonova montáž

FITS prohlížeč
Uživatelský avatar
astar
Příspěvky: 2180
Registrován: 01. 02. 2008, 21:15
Věk: 67

Re: Rychlý FITS prohlížeč - nezná někdo ?

#239

Příspěvek od astar »

Nechci nijak radit , jistě jsi zkušenější programátor. Pokud se jedná jen o porovnání , rozhodnutí - skok, tak bych nevolil volání funkce = Call xxxx v ASM ale rovnou to napsal na místo . Zvětší se velikost exe , ale bude to rychlejší. Instrukce Call taky trvá nějakou dobu .
Spíše pro ostatní . Instrukce SHL a SHR jsou vlastně posuvy registru a jde o celočíselné násobení, dělení 2,4,8,16 ... . Při násobení lichým číslem to nejde použít a musí se použít instrukce IMUL AL,3 nebo AX, EAX, RAX ( 8,16,32,64bit registr).
To už sme ale někde jinde :)
SW 250/1000+EQ6 Pro,  Achr 100/660, Achr 80/400 , ASI 294MC PRO i ASI 294MM PRO
Uživatelský avatar
Tomáš Grygarčík
Příspěvky: 1675
Registrován: 18. 07. 2010, 23:35
Bydliště: Malé Hoštice
Věk: 35
Kontaktovat uživatele:

Re: Rychlý FITS prohlížeč - nezná někdo ?

#240

Příspěvek od Tomáš Grygarčík »

Pár zjištění pro dnešní verzi:
1.) Free Pascal nepodporuje inline funkce s kódem assembleru, takže vždy dochází k volání mých funkcí napsaných v ASM :evil:
2.) ASM kód vložený přímo do funkce místo volání byl stejně rychlý, jako inline funkce bez ASM. Psal jsem to tedy zbytečně. :(
3.) sloučil jsem dvě volané funkce do jedné a trochu upravil další věci, což u mě mělo za následek o 3 až 5 milisekund rychlejší zpracování (z 18 ms na 13 ms), na notebooku o kolosálních 30 ms (160 ms před a 130 ms po úpravě)! :o
4.) 32bit verze je dvakrát pomalejší i na Windows :?:

TL:DR: zrychlil jsem to

http://grytom.g6.cz/fits/
SW 200/1000, SW 200/800, TS Photoline 72mm f/5.5 APO, LUNT Ha 60/500 B1200, Bresser MS 127/1900
ZWO ASI1600MM Pro, 2×QHY-5 mono, OM-D E-M1 mark III, OM-D E-M1 mark II mod
SW EQ6-R, SW HEQ-5 SS, TS AZGP, vlastní dobsonova montáž

FITS prohlížeč
Odpovědět