Skocz do zawartości

Behlur_Olderys

Moderator
  • Postów

    5 170
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    12

Treść opublikowana przez Behlur_Olderys

  1. Cześć, Właśnie czytam tutorial AO ze strony: http://www.ctio.noao.edu/~atokovin/tutorial/intro.html Doszedłem do terminu 'isoplanatic angle' znanego też jako 'isoplanatic patch'. Zasadniczo z tego co rozumiem, to jest to kąt widzenia, w którym w ogóle można stosować profesjonalne AO. Dla fali o długości 500nm (0.5um, taka zielona...) i seeingu na poziomie 1" (czyli niezły chyba?) parametr Frieda (r0) wynosi ok. 10cm. To znaczy: 1 arcsek seeing jest taki, że bez AO nie ma sensu używać teleskopu większego, niż z obiektywem 100mm. (tłumaczenie mało ścisłe, ale obrazowe). Dla średniej wysokości powstawania turbulencji ok. 5km isoplanatic angle wynosi - znów, dla 500nm fali i 1" seeingu - jakieś półtora sekundy łuku! Policzcie sami: theta = r0 / h r0 = 10cm, h = 5km theta jest w radianach, więc dzielimy przez pi i mnożymy razy 1296000 żeby wynik był w sekundach łuku. Wychodzi: 1.28". Masakra! Na Manua Kea ten kąt jest trochę większy, w okolicach 3" (no tak, w najlepszej miejscówce na świecie jakoś mnie to nie dziwi...) http://www.oir.caltech.edu/twiki_oir/pub/Keck/NGAO/NewKAONs/KAON496.pdf Moim zdaniem to całkowicie przekreśla plany stosowania choćby półprofesjonalnego AO przez amatorów w jakiejkolwiek formie. Co z tego, że ktoś w garażu zrobi deformowalne lustro, detektor czoła fali (wavefront sensor) i całą wymyślną automatykę, skoro używając nawet półmetrowego teleskopu RC za 60k zł (nie licząc kosztów obserwatorium) z ogniskową 4m (powiedzmy + barlow x3 = 12m) i pikselem 2um (omg przecież nikt takich małych nie używa) daje to skalę 34mas przy nominalnej rozdzielczości teleskopu w 500nm = ok. 250mas. A to znaczy, że w przeciętnych polskich warunkach cała AO będzie skuteczna na kawałku matrycy - optymistycznie - 40x40 (2um piksel, nierealne...), a w kategoriach rozdzielczości teleskopu - 7x7 krążków Airego. Dla dalekiej podczerwieni w stylu 2.2um jest jakieś 5x lepiej, ale wciąż malizna. Zresztą kto ma kamerkę czułą w 2200nm? Może 1000nm max. Czyli kupujemy sprzęt za sto tysięcy, drugie tyle wydajemy na AO, a efekt to w najlepszym wypadku kawałek matrycy obrazujący - no, zawyżę na maksa teraz - 10", ale raczej coś blizej 4" . To trochę mało.... Oczywiście stosując więcej niż jedno lustro deformowalne, laserowe gwiazdy guidujące, tomografię atmosfery itp. itd zabawki za miliony to można dojść do pola o średnicy rzędu 1', czyli 60", czyli dla tego przykładu średnica 1600pikseli co daje realnie ok. 280 krążków Airego. Ale to nie warte zachodu przy amatorskim teleskopie, lepiej od razu kupić 10m lustra Podsumowując: AO bez teleskopu z lustrem kilkumetrowym i/lub milionami dolarów w zapasie nie ma sensu nie tylko ekonomicznie, ale w ogóle :/ Może ktoś chce podyskutować w tym temacie, może się jednak mylę? Jest jakaś szansa dla amatorskiego AO?
  2. Po prostu rozprasza bardzo skupioną wiązkę f/2 do mniej skupionej f/10.
  3. Próbuj, o ile to nic nie kosztuje - a jak się okaże, że się da?
  4. świetny eksperyment.

    Wykonując to samo, ale:

    - z kilkoma gwiazdami zamiast Słońca

    - synchronizując się poprzez Skype tak, aby pomiary były jednoczesne

    można udowodnić okrągłość Ziemi i wyliczyć jej promień z dokładnością do kilkudziesięciu kilometrów.

  5. Wydaje mi się, że jakbyś jeszcze zjechał do 1s klatki (masz 8" w końcu, coś tam będzie widać ;D ) i wybrał tylko 50-40% najlepszych klatek do stackowania, to wynik mógłby już być srogi. Ale być może mówię tak tylko po to, aby Cię podjudzić - wielka skala to rzadkość na forum, tym bardziej fajnie widzieć kogoś, kto się z nią odważy mierzyć!
  6. Wyglądają jak fotki robione na granicy dostępnej rozdzielczości, a przecież dla epsilonów (ok. 2,3"separacji) to trzeba by jakimś 60mm obiektywem, żeby krążki Airego tak się pokrywały. W zdjęciu Łukasza nie widać krążków, bo dla jego apertury nominalna rozdzielczość (jakieś 0.5 arcsek dla 10" lustra) to ponad 4x mniej, niż separacja składników, ergo: nie będzie tego tak widać, jak na Twoich przykładach. Moim zdaniem są one tam rozdzielone perfekcyjnie, mimo że gwiazdy są nieco jajowate Chyba, że zależy Ci właśnie na kształcie gwiazd w sensie wzoru Airego. No, to bez AO może być trudno
  7. Przy czym warto zauważyć, że SBIG utrzymuje: https://www.primalucelab.com/astronomy/adaptive-optics/sbig-ao-x-adaptive-optics.html że korekty wprowadza 10x na sekundę, co jest ekwiwalentem kręcenia filmu 10fps i stackowania. Wydaje się, że to nie jest limit AO dostępnego dla amatorów....
  8. Jeśli ci amatorzy pracują w profesjonalnym, dofinansowanym obserwatorium... Profesjonalne AO nie jest warte zachodu dla mikro luster w stylu 16", myślę, że zabawa zaczyna się od 1m... Ale można spróbować nie-profesjonalnego AO;) Z tego co wiem, to AO pierwszego stopnia to korekcja tip&tilt : https://en.m.wikipedia.org/wiki/Adaptive_optics#Tip–tilt_correction Czyli zasadniczo gdyby ktoś miał na tyle jasną gwiazdę w guiderze (albo na tyle jasny guider ) żeby zbierać kilkadziesiąt klatek na sekundę, a jednocześnie posiadał montaż zdolny do wykonania kilkudziesięciu korekt na sekundę, i guidował seeing, to mamy prosty AO amatorski pierwszego rzędu. Mówiłem już kiedyś o tym przy innej okazji. Pewnie nawet kilka, kilkanaście korekt na sekundę da już zauważalne polepszenie rozdzielczości. Wydaje się to osiągalne dla amatorów, szczerze mówiąc to pewnie ktoś już to stosuje mniej lub bardziej świadomie. Pozdrawiam!
  9. nic tak nie boli, jak sprintf o jeden znak za dużo :)

    1. Pokaż poprzednie komentarze  4 więcej
    2. Behlur_Olderys

      Behlur_Olderys

      To c++ z Arduino.

      Sprintf nie sprawdza bufora, więc jak wpiszesz coś za długiego to program może zrobić wszystko - memory corruption :)

    3. WielkiAtraktor

      WielkiAtraktor

      Dlatego porzuć sprintf i używaj tylko snprintf :icon_exclaim:

    4. Behlur_Olderys

      Behlur_Olderys

      Tak, oczywiście, gdyby to było w mojej pracy to kod ze sprintf by sie mi nawet nie skompilował bo to niebezpieczne.

      A tymczasem arduino nie daje żadnych warningów w tej sprawie...

      Efekt był niesamowity: funkcja, która miała wybierać liczbę 4, 5, lub 6 zwracała 8449 :)

       

  10. HAMAL, przecież Ty prezentowałeś już lepsze zdjęcia, niż rozdzielczość 1 arcsek, więc nie wiem, do czego wzdychałeś
  11. Pytanie 1: czy ten podział naprawdę ma przełożenie na finansowanie, a jeśli tak, to jakie? Prosiłbym o dokumenty.... Pytanie 2: jeśli tak, to czy fizycy razem z astronomami i biofizykami nie wywalczą większej kasy razem - w sensie: żeby poszła na astro-bio-fizykę niż na teologię czy kulturoznawstwo? EDITED: jeszcze link żeby poczytać na spokojnie, a nie panika "likwidują astronomię" na którą niemal dałem się nabrać. https://legislacja.rcl.gov.pl/docs//506/12314504/12525374/12525375/dokument352505.pdf
  12. Ja dokładnie tak właśnie robię swój "montażyk"
  13. Czyli np. coś takiego: https://optcorp.com/products/fli-precision-digital-focuser-pdf Ale jaki jest algorytm liczenia tego PSF - podejmowania decyzji "już jest ostro" / "jeszcze nie ostro" ? To żaden problem precyzyjnie kręcić wyciągiem, problem to wiedzieć, kiedy już trzeba przestać kręcić
  14. Hej, Mam takie pytanie: podobno (wg Wikipedii) większość dużych teleskopów używanych przez profesjonalnych astronomów to reflektory RC. Czy ktoś może wie, w jaki sposób przebiega procedura focusowania w takich maszynach (np. 2m lustro)? Maski Bathinova czy coś jeszcze bardziej wyrafinowanego? Przecież nie ostrzą "na oko" ani "mniej więcej".... Wydaje się, że musi to być robione ultra precyzyjnie, bo już z takim sprzętem to nie ma żartów. Jestem więc ciekaw, a nic konkretnego nie znalazłem w necie (trochę szukałem artykułów w temacie, ale może używałem złych słów kluczowych "ritchey chretien focusing" itp
  15. Astronomia amatorska to - poza fotografią, która w epoce HST jest niestety najczęściej niemal bez jakichś większych walorów naukowych - jeszcze obserwacje egzoplanet, fotometria gwiazd zmiennych, spektrometria supernowych, rejestracje bolidów, .... lista jest długa. To nie jest żadna wycieczka śladami, ale bycie odkrywcą naprawdę. I te aktywności nie mają analogii do żadnego popularnego hobby, które znam. Chociaż szczerze przyznam - nie znam się aż tak, może wędkarze też mierzą ryby i publikują...
  16. A teleskop, montaż - można zdradzić? Małym wiadrem do głębokiej studni szybko wody nie nalejesz Jakiś 16" newton czy co?
  17. A gdyby całość dało się zrobić bez frezarki, bez drukarki 3d, bez zaprzyjaźnionego tokarza.... Żeby każdy mógł to zrobić też w domu - ech, marzenia
  18. Co do alokacji: Najlepiej byłoby mieć wektor z alokatorem na statycznej tablicy, o ile mniej więcej można oszacować ile będzie tasków (a wydaje się, że raczej nie mówimy o jakimś intensywnym dodawaniu / odejmowaniu elementów). Z drugiej strony, jeśli aplikacja jest tak wyżyłowana performance'owo, że trzeba się martwić takimi rzeczami, to znak, że pora zastanowić się nad zmianą hardware'u Mi ten timer jest potrzebny właśnie po to, żeby bez względu na czas różnych innych operacji te kluczowe (obsługa krokowca) odbywała się bez zakłóceń. Pozdrawiam!
  19. Chodzi mi o sprawdzenie, czy corner case'y będą dobrze pokryte, bo wydaje się że tak, ale ja już dawno przestałem ufać swojemu rozumieniu czytanego kodu, i muszę mieć wszystko przetestowane static_cast to wiadomo, że elegancka konstrukcja. Jakoś nie podoba mi się stosowanie raz long, raz unsigned long. Ogólnie - gdyby zaimplementować z boku gdzieś najprostszą protezę std::vector to mój "idealny" kod wyglądałby tak: (pseudo kod raczej) struct Task{ virtual bool IsValid(){ return true; } virtual void PerformIfReady(); } struct TaskWithCount : Task; vector<Task> tasks; tasks.emplace_back(Task(1)); tasks.emplace_back(TaskWithCount(1, 10)); for (task : tasks){ if (!task.IsValid()){ tasks.erase(task); }else{ task.PerformIfReady(); } } Oczywiście PerformIfReady trzeba by zaimplementować odpowiednio, tak jak sugerujecie, ale chodzi mi tylko o ogólną architekturę. PS Zrobił się wątek programistyczny na forum astro
  20. Sytuacja jest taka: now = 1022 interval = 10 timeToWait = 1021 1. Start 2. Warunek spełniony 3. timeToWait := 7 (1031mod 1024) 4. doSomething(now==1022) 5. Powiedzmy, że mija 1ms (now:=1023) 6. Znowu wchodzimy do warunku 7. Warunek spełniony (7 < 1023) 8. timeToWait = 17 9. doSomething (now==1023) 10. Mija znowu 1ms (now:=0) 11. timeToWait > now() Następne doSomething odpali się za 17ms. Będziemy mieli 3 doSomething w czasie 20ms. Czyli średnio wychodzi ok Więc overflow timeToWait to nic groźnego na dłuższą skalę. Overflow now() jest dużo gorszy, bo timeToWait będzie np. 1023 a now() przekroczy już 0 i stracimy wszystkie wywołania! Napisałbym testy do tych funkcji i sprawdził wszystkie case'y z automatu static_cast wygląda najbardziej elegancko, ale znowu - muszę sam się przekonać
  21. Nie mogę powstrzymać się od komentarza - zboczenie zawodowe: To dziwne, że można używać auto i lambdy z C++11, a nie można używać std::vectora, który mocno ułatwiłby sprawę Przez to, że masz "managera" tasków, który musi pilnować wskaźników, indeksów i pamięci Twój kod jest bardzo skomplikowany, a przecież z praktycznego punktu widzenia trzymanie wszystkich tasków razem w jednym obiekcie pamięci nie daje jakichś bezpośrednich korzyści, może poza tym, że jeśli task "wygaśnie" to go usuwasz i nie przetwarzasz niepotrzebnie (choć to marginalny zysk kilku cykli procesora na ewaluację 'ifa'). W moim rozwiązaniu każdy "task" to osobny obiekt, przez co nie muszę się martwić pamięcią (jest alokowana na stosie) ani indeksami (nie ma żadnych tablic). Zasadniczo rozróżnianie tasków "zwykłych" i ET wydaje się również niepotrzebne - no, chyba że oszczędność pamięci. Oczywiście te uwagi są pisane z perspektywy kogoś, kto na co dzień dysponuje 48-rdzeniowymi procesorami z setkami GB RAM-u, dlatego pewnie właśnie taka jest różnica między kodem "zwykłym" a embedded. Dlatego proszę, nie traktuj tego jako krytykę, a raczej jako analizę porównawczą PS Przepraszam za dwa posty, ale to dwie różne sprawy Może moderator jakiś połączy te dwa posty jeśli tak lepiej...
  22. Miałeś rację, działa dokładnie tak samo! W sumie to prosta kalkulacja, trudno żeby matematyka się myliła, a jednak byłem trochę zaskoczony Kod jeszcze bardziej się upraszcza, a średni interwał pomiędzy wywołaniami i tak się zgadza co do ułamka mikrosekundy - super! (właśnie sprawdziłem na żywo)
  23. Czy Czy generowałeś to ręcznie, czy korzystałeś z jakiegoś programu - jeśli tak, to jakiego? Chciałbym wkrótce (hm... ) spróbować zaobserwować jakąś egzoplanetę lustrzanką, i jestem ciekaw, jakie egzoplanety w ogóle mam szansę trafić - wydaje się to żmudnym zajęciem, dlatego pytam, jak Ty sobie radzisz?
  24. Zaryzykuj jakąś gromadę kulistą Zawsze możesz zrobić ROI (chyba że nie możesz) na interesujący fragment i trochę zmniejszyć klatki. Tak Cię tylko podjudzam, bo fajnie by było jakby kolejna osoba poszła w temat wielkiej skali
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.