Jump to content

Obrabiarka kosmosu


Recommended Posts

Musisz poprawić debayeryzację  różne kamery osc mają różny układ maski , u mnie działa źle(asi 1600mcc) , drugi problem to że  zapisuje bez rozszerzenia.

Ale stakuje , gratuluję pomysłu i wykonania .

  • Like 1
Link to post
Share on other sites

Dzięki za uwagi!

22 minuty temu, _Spirit_ napisał:

Może lepiej wrzuć to już spakowane w zipie - sprawdzanie i kompresja przez GDrive trwa wieki...

Spakowana wersja jest już wrzucona, choć miejsca zajmuje tyle samo.

 

46 minut temu, Maro21 napisał:

Musisz poprawić debayeryzację  różne kamery osc mają różny układ maski , u mnie działa źle(asi 1600mcc) , drugi problem to że  zapisuje bez rozszerzenia.

Ale stakuje , gratuluję pomysłu i wykonania .

Generalnie mam w planach zrobienie różnych masek bayera. Najlepiej, żeby maska była widoczna i żeby kliknięciami można było ustawiać kolory. Zacząłem od RGGB, żeby móc testować na swoich zdjęciach. Rozszerzenie można wpisać ręcznie i wtedy się zapisze. Dodam później automatyczne dodawanie, jeśli nie zostało wskazane przez użytkownika.

No i ogólnie jeszcze kilka pomysłów mam oprócz różnych masek. Przede wszystkim chciałbym zaimplementować pozostałe algorytmy stackowania, zwłaszcza te z odrzucaniem.

I poważnie myślę czy nie przepisać tego w jakiejś innej technologii, żeby program nie zajmował takiej kosmicznej ilości miejsca. Ale to będzie pracochłonne i nie wiem czy mi się będzie chciało :P Aktualnie to około 500 linii kodu, a robię to hobbystycznie, dla przyjemności i nie wiem czy mi się z np. z C++ chce męczyć :P i czy będzie takie wsparcie bibliotek.

 

29 minut temu, _Spirit_ napisał:

Świetnie. Dziękuję. Lubię eksperymentować z tym samym materiałem i różnymi sposobami stackowania.

Algorytm stackowania jest póki co dziecinnie prosty. Po wyrównaniu klatek dla każdego z pikseli liczona jest najzwyklejsza w świecie średnia. Najwięcej czasu zajęła mi póki co debayeryzacja oraz interfejs użytkownika.

Link to post
Share on other sites

Czas na rejestrację i stack 93 klatek z ASI 1600  - 18:52:14,091 - 18:55:20,057: Stacking completed. Nieźle. 

Przy zapisie końcowego pliku brak rozszerzenia. Ręczna zmiana na TIF i jest ok. No i brak wyboru klatki ref.  

  • Like 1
Link to post
Share on other sites

Dzięki za kolejną opinię. Dodam funkcję wyboru klatki referencyjnej. Póki co jest nią zawsze pierwsza klatka na liście. Można ew. dodać najpierw klatkę referencyjną, a później resztę. Lista nie jest sortowana w żaden sposób.

  • Like 1
Link to post
Share on other sites
13 minut temu, WielkiAtraktor napisał:

Proponuję opublikować na GitHubie - czyli wygodny "issue tracker", wygodne publikowanie wersji (w tym plików binarnych, jeśli trzeba), wiki, możliwość stworzenia strony domowej projektu (GitHub Pages).

Taki też jest plan. Z GitHuba wprawdzie nie korzystałem jeszcze nigdy, ale tydzień temu doświadczenia w pythonie też nie miałem :P

Ooo, widzę po stopce, że też się bawisz w astro programy :)W czym jest ImPPG napisane? Jak zaimplementowałeś Lucy Richardson? Jak wyliczasz PSF? Korzystasz z jakiejś gotowej biblioteki czy sam implementowałeś?

EDIT: widzę, że C++ Też nad tym myślałem, ale to jednak trochę więcej pracy niż w pythonie. No i ostatnio w C++ programowałem z 15 lat temu

Edited by holeris
Link to post
Share on other sites
59 minut temu, holeris napisał:

Jak zaimplementowałeś Lucy Richardson?

 

Tutaj kod (implementacja wg Wikipedii): wersja CPU; wersja GPU to praktycznie to samo, ale jako shadery GLSL.

 

Godzinę temu, holeris napisał:

Jak wyliczasz PSF?

 

Nic sprytnego/adaptywnego... Przyjmuję, że jest stałe i ma kształt powierzchni Gaussa. Użytkownik dobiera tylko odchylenie std. (σ) suwakiem.

 

A Python jak Python, nic nie stoi na przeszkodzie, żeby tylko "gęste" (i to małe kawałki) napisać w czym innym ;)

  • Thanks 1
Link to post
Share on other sites

Znacz sie na skryptach w Pixie? 

 

W głowie mam pewien pomysł. 

Nie wiem czy to coś istnieje, ale może być po całości fun.

 

Edit.

Jak cos to dawaj na pw. 

Edited by Tayson
Link to post
Share on other sites

Dodałem dwie małe funkcjonalności:

  • wybór klatki referencyjnej
  • automatyczne dodanie rozszerzenia .tif, jeśli wybrany plik już takiego (lub .tiff) nie ma

No i wrzuciłem na githuba: https://github.com/holeris/astrostacker

Pod linkiem z pierwszego postu jest nowa uruchamialna wersja.

Ponadto odrobinę zrefaktoryzowałem kod, żeby nie było wstyd opublikować :P Choć i tak nie jest pewnie najwyższych lotów. Jak ktoś ogarniający pythona chce zrobić review i doradzić jakieś zmiany w strukturze kodu, to ja bardzo chętnie :)

Za jakiś czas opublikuję instrukcję jak to odpalić w pythonie, ale generalnie po ściągnięciu wszystkich zależności (będą w instrukcji) wystarczy odpalić main.py

20 godzin temu, Tayson napisał:

Znacz sie na skryptach w Pixie? 

 

W głowie mam pewien pomysł. 

Nie wiem czy to coś istnieje, ale może być po całości fun.

 

Edit.

Jak cos to dawaj na pw. 

Nie znam się nic a nic. Nie korzystam z Pixa. Choć korci mnie, żeby kupić. Jednak muszę trochę przystopować z astrowydatkami. RST-135 wystarczy. Niech najpierw porobi jakieś zdjęcia :)

 

EDIT: Teraz czas na dorobienie wyboru maski przy debayeryzacji.

Edited by holeris
Link to post
Share on other sites

Jak pobrałeś paczkę z google drive, to w katalogu dist jest plik main.exe - odpalasz go i działa.

Jak chcesz uruchomić ze źródeł, to nie jest to taka prosta sprawa. Trzeba mieć zainstalowanego pythona i pościągać biblioteki, z których korzystam w programie. Opublikuję niedługo instrukcję, tylko muszę zrobić sobie czyste środowisko i posiedzieć trochę nad tym, żeby instrukcja była jasna również dla laików. Zaletą jest to, że raz skonfigurowanego środowiska nie trzeba ruszać (no chyba, że zacznę korzystać z jakiejś nowej biblioteki). Wystarczy ściągać nowe źródła bezpośrednio z githuba, a te zajmują śmiesznie mało w porównaniu z paczką 600 MB.

 

EDIT: goła lista zależności (najważniejsze pogrubiłem):

# Name                    Version                   Build  Channel
altgraph                  0.17                     pypi_0    pypi
astroalign                2.1                      pypi_0    pypi
astropy                   4.0.2            py38he774522_0
blas                      1.0                         mkl
ca-certificates           2020.10.14                    0
certifi                   2020.6.20                py38_0
cloudpickle               1.6.0                      py_0
cycler                    0.10.0                   py38_0
cytoolz                   0.11.0           py38he774522_0
dask-core                 2.30.0                     py_0
decorator                 4.4.2                      py_0
freetype                  2.10.4               hd328e21_0
future                    0.18.2                   pypi_0    pypi
hdf5                      1.10.4               h7ebc959_0
icc_rt                    2019.0.0             h0cc432a_1
icu                       58.2                 ha925a31_3
imageio                   2.9.0                      py_0
intel-openmp              2020.2                      254
jpeg                      9b                   hb83a4c4_2
kiwisolver                1.2.0            py38h74a9793_0
libopencv                 4.0.1                hbb9e17c_0
libpng                    1.6.37               h2a8f88b_0
libtiff                   0.4.2                    pypi_0    pypi
lz4-c                     1.9.2                hf4a77e7_3
matplotlib                3.3.2                         0
matplotlib-base           3.3.2            py38hba9282a_0
mkl                       2020.2                      256
mkl-service               2.3.0            py38hb782905_0
mkl_fft                   1.2.0            py38h45dec08_0
mkl_random                1.1.1            py38h47e9c7a_0
networkx                  2.5                        py_0
numpy                     1.19.1           py38h5510c5b_0
numpy-base                1.19.1           py38ha3acd2a_0
olefile                   0.46                       py_0
opencv                    4.0.1            py38h2a7c758_0
openssl                   1.1.1h               he774522_0
pefile                    2019.4.18                pypi_0    pypi
photutils                 1.0.1                    pypi_0    pypi
pillow                    8.0.0            py38hca74424_0
pip                       20.2.4                   py38_0
py-opencv                 4.0.1            py38he44ac1e_0
pyinstaller               4.0                      pypi_0    pypi
pyinstaller-hooks-contrib 2020.9                   pypi_0    pypi
pyparsing                 2.4.7                      py_0
pyqt                      5.9.2            py38ha925a31_4
python                    3.8.5                h5fd99cc_1
python-dateutil           2.8.1                      py_0
pywavelets                1.1.1            py38he774522_2
pywin32-ctypes            0.2.0                    pypi_0    pypi
pyyaml                    5.3.1            py38he774522_1
qt                        5.9.7            vc14h73c81de_0
scikit-image              0.17.2           py38h1e1f486_0
scipy                     1.5.0            py38h9439919_0
sep                       1.0.3                    pypi_0    pypi
setuptools                50.3.0           py38h9490d1a_1
sip                       4.19.13          py38ha925a31_0
six                       1.15.0                     py_0
sqlite                    3.33.0               h2a8f88b_0
tifffile                  2020.10.1        py38h8c2d366_2
tk                        8.6.10               he774522_0
toolz                     0.11.1                     py_0
tornado                   6.0.4            py38he774522_1
vc                        14.1                 h0510ff6_4
vs2015_runtime            14.16.27012          hf0eaf9b_3
wheel                     0.35.1                     py_0
wincertstore              0.2                      py38_0
xz                        5.2.5                h62dcd97_0
yaml                      0.2.5                he774522_0
zlib                      1.2.11               h62dcd97_4
zstd                      1.4.5                h04227a9_0

Edited by holeris
Link to post
Share on other sites
W dniu 29.10.2020 o 18:08, Maro21 napisał:

Musisz poprawić debayeryzację  różne kamery osc mają różny układ maski , u mnie działa źle(asi 1600mcc) , drugi problem to że  zapisuje bez rozszerzenia.

Ale stakuje , gratuluję pomysłu i wykonania .

Dodałem wsparcie dla różnych masek bayera. Możesz testować :)Ja nie miałem zdjęć w takim formacie, więc możliwe, że przy ustawieniach innych niż RGGB są jeszcze jakieś błędy.

 

Podmieniłem wersję na google drive z linku z pierwszego postu. Zachęcam jednak do instalacji bezpośrednio ze źródeł. Poniżej instrukcja.

 

Krok 1: Anaconda - instalacja

Anaconda to z jednej strony dystrybucja pythona, która pozwala uruchamiać jego programy. Dzięki niej można jednak również łatwo tworzyć i konfigurować środowiska oraz instalować w nich biblioteki.

Link do pobrania: https://www.anaconda.com/products/individual

 

Krok 2: Github - pobranie źródeł

Link do pobrania: https://github.com/holeris/astrostacker/archive/main.zip

Zawartość pobranego archiwum rozpakowujemy np. na pulpicie

 

Krok 3: Anaconda - konfiguracja środowiska

Uruchamiamy wiersz poleceń w anacondzie.

obraz.png.5c72fae12a5eb157a75d88eb59dbbc26.png

Następnie przechodzimy do katalogu, w którym są źródła. Robimy to poleceniem

cd sciezka_do_katalogu

Ścieżka musi prowadzić do katalogu, w którym jest plik main.py. W moim przypadku wygląda to tak:

obraz.png.74a287758122dca6d2b5318178ffc5f3.png

 

Uruchamiamy następujące polecenie, aby stworzyć środowisko o nazwie "astrostacker" i pobrać niezbędne biblioteki. Ten krok może chwilę potrwać, ponieważ brakujące biblioteki pobierane są z internetu.

conda env create -f environment.yml

 

Krok 4: Anaconda - uruchomienie programu

Po przeprowadzeniu kroków 1 - 3 mamy spokój. Od tego momentu można jedynie updatować źródła programu ściągając je z githuba, konfiguracja pozostaje bez zmian. A jeśli się zmieni, poinformuję o tym.

Aby uruchomić program należy znajdować się w folderze, w którym znajduje się plik main.py. Jeśli jesteśmy świeżo po konfiguracji, to już się znajdujemy w tym katalogu. Jeśli nie, przechodzimy do niego tym samym poleceniem co wcześniej:

cd sciezka_do_katalogu

Najpierw aktywujemy środowisko, które wcześniej skonfigurowaliśmy (należy je aktywować zawsze po ponownym uruchomieniu wiersza poleceń anaconda).

conda activate astrostacker

A następnie uruchamiamy program:

python main.py

 

Edited by holeris
  • Like 2
Link to post
Share on other sites

@WielkiAtraktor tak przeglądam sobie Twój kod, czytam pracę Younga i Van Vlieta i wow! Kawał porządnej roboty tam odwaliłeś. Miałem kiedyś na studiach teorię sygnałów, ale... wow! Ja u siebie, przynajmniej na razie :D, staram się bardziej składać z już gotowych klocków.

 

Muszę potestować ImPPG, ale po kodzie wygląda obiecująco :D

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Our picks

    • Big Bang remnant - Ursa Major Arc or UMa Arc
      Tytuł nieco przekorny bo nie chodzi tu oczywiście o Wielki Wybuch ale ... zacznijmy od początku.
       
      W roku 1997 Peter McCullough używając eksperymentalnej kamery nagrał w paśmie Ha długą na 2 stopnie prostą linie przecinajacą niebo.
       
      Peter McCullough na konferencji pokazał fotografię Robertowi Benjamin i obaj byli pod wrażeniem - padło nawet stwierdzenie: “In astronomy, you never see perfectly straight lines in the sky,”
        • Love
        • Thanks
        • Like
      • 14 replies
    • Jeśli coś jest głupie, ale działa, to nie jest głupie - o nietypowych rozwiązaniach sprzętowych
      Sformułowanie, które można znaleźć w internetach jako jedno z "praw Murphy'ego" przyszło mi na myśl, gdy kolejny raz przeglądałem zdjęcia na telefonie z ostatniego zlotu, mając z tyłu głowy najgłośniejszy marsjański temat na forum. Do rzeczy - jakie macie (bardzo) nietypowe patenty na usprawnienie sprzętu astronomicznego bądź jakieś kreatywne improwizacje w razie awarii czy niezabrania jakiegoś elementu sprzętu  Obstawiam, że @HAMAL mógłby samodzielnie wypełnić treścią taki wątek.
        • Haha
        • Like
      • 21 replies
    • MARS 2020 - mapa albedo powierzchni + pełny obrót 3D  (tutorial gratis)
      Dzisiejszej nocy mamy opozycję Marsa więc to chyba dobry moment żeby zaprezentować wyniki mojego wrześniowego projektu. Pogody ostatnio jak na lekarstwo – od początku października praktycznie nie udało mi się fotografować. Na szczęście wrzesień dopisał jeśli chodzi o warunki seeingowe i udało mi się skończyć długo planowany projekt pełnej mapy powierzchni (struktur albedo) Marsa.
        • Love
        • Thanks
        • Like
      • 130 replies
    • Aktualizacja silnika Astropolis - zgłaszanie uwag
      Dzisiaj zaktualizowaliśmy silnik Astropolis do najnowszej wersji (głównie z powodów bezpieczeństwa). Najpoważniejsze błędy zostały już naprawione, ale ponieważ aktualizacja jest dosyć rozbudowana (dotyczy także wyglądu), drobnych problemów na pewno jest więcej. Bez was ich nie namierzymy. Dlatego bardzo proszę o pomoc i wrzucanie tu informacji o napotkanych problemach/błędach.
        • Like
      • 250 replies
    • Insight Investment Astrophotographer of the Year 2020 – mój mały-wielki sukces :)
      Jestem raczej osobą która nie lubi się chwalić i przechwalać… ale tym razem jest to wydarzenie dla mnie tak ważne, że postanowiłem podzielić się z Wami tą niezwykle radosną dla mnie wiadomością.
       
      Moja praca zajęła pierwsze miejsce w kategorii „Planety, komety i asteroidy” podczas tegorocznego konkursu Insight Investment Astronomy Photographer of the Year 2020.
        • Love
        • Thanks
        • Like
      • 85 replies
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.