Skocz do zawartości

ImPPG – dekonwolucja Lucy-Richardson (i nie tylko)


Rekomendowane odpowiedzi

Świetna prosta aplikacja :) Czapki z głów.

 

Najbardziej podoba mi się możliwość zaznaczenia fragmentu okna i obróbki tylko kawałka zdjęcia obserwując efekt końcowy :)

 

Poniżej mój obrazek po obróbce w darmowym Photoscape

 

conv_121543_g3_b3_ap30.jpg

 

oraz po obóróbce w ImPPG

 

obr 1.jpg

Edytowane przez Lukasz83
  • Lubię 3
Odnośnik do komentarza
Udostępnij na innych stronach

Nowa wersja: 0.1.1

Poprawki błędów:

– Puste pliki wynikowe po przetwarzaniu wsadowym przy zerowej liczbie iteracji L-R

 

Do pobrania z http://stargazerslounge.com/blog/1400/entry-1808-imppg-image-post-processor/

 

 

Wypróbowałem ImPPG na swoich starych animacjach fotosfery z 2012:

 

get.jpg

get.jpg

  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

Nowa wersja: 0.2

 

Nowe funkcje:
– Obsługa większej liczby formatów plików graficznych poprzez FreeImage. Nowe formaty wyjściowe: PNG 8-bitowy, TIFF 8-bitowy z kompresją LZW, TIFF 16-bitowy z kompresją ZIP, TIFF 32-bit zmiennoprzecinkowy (bez kompresji lub z kompresją ZIP).

Ulepszenia:
– Uaktywniony „nowoczesny” styl elementów kontrolnych pod Windows

 

Poprawki błędów:
– Ramka zaznaczenia niewidoczna na platformach bez obsługi rastrowych operacji logicznych (np. GTK 3)

 

Do pobrania z: http://stargazerslounge.com/blog/1400/entry-1808-imppg-image-post-processor/

  • Lubię 2
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Nowa wersja: 0.3

 

 

Nowe funkcje:
– Wyrównywanie sekwencji obrazów metodą korelacji fazowej
Ulepszenia:
– Ograniczona częstotliwość restartowania przetwarzania w trakcie edycji obrazu, w efekcie większa responsywność podczas zmiany parametrów unsharp maskingu i edycji krzywej tonalnej
Poprawki błędów:
– Niewłaściwe rozszerzenie plików wyjściowych po przetwarzaniu wsadowym, gdy wybrany format różni się od wejściowego

 

 

Zintegrowałem wreszcie kod imgalt z ImPPG, teraz można wyrównywać animacje wygodnie wszystko wyklikując w interfejsie graficznym:

 

alignment.png

 

Szczegóły w README. Funkcję wyrównania znajdziemy w menu Tools/Align image sequence...

 

 

Do pobrania z: http://stargazerslounge.com/blog/1400/entry-1808-imppg-image-post-processor/

Odnośnik do komentarza
Udostępnij na innych stronach

Nowa wersja: 0.3.1

 

Przysiadłem wreszcie i dodałem wersję polskojęzyczną (mechanizm okazał się prosty i wygodny w użyciu). ImPPG domyślnie wybierze język taki jak bieżący preferowany w systemie operacyjnym. Można to zmienić ręcznie w menu Ustawienia/Język... (Settings/Language...).

 

Do pobrania z: http://stargazerslounge.com/blog/1400/entry-1808-imppg-image-post-processor/

 

polski.png

Edytowane przez WielkiAtraktor
  • Lubię 2
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 miesiące temu...

Nowa wersja: 0.4

pobieranie: http://stargazerslounge.com/blog/1400/entry-1808-imppg-image-post-processor/


Nowe funkcje:
– Wyrównywanie sekwencji poprzez stabilizację krawędzi tarczy słonecznej
– Obsługa plików FITS (odczyt i zapis)
– Zmiana powiększenia widoku

Ulepszenia:
– Przewijanie widoku przez przeciąganie środkowym przyciskiem myszy
– Pamiętanie ustawienia wyświetlania histogramu w skali logarytmicznej

Poprawki błędów:
– Krzywa tonalna w trybie gamma nie jest aplikowana podczas przetwarzania wsadowego

Dodałem w końcu wyrównywanie poprzez stabilizację krawędzi tarczy słonecznej. Przeznaczone do animacji, gdzie widać spory łuk krawędzi (im więcej, tym lepiej). O ile dotychczasowa metoda (korelacja fazowa) stabilizowała plamy/filamenty/protuberancje kosztem krawędzi, teraz tarcza jest utrzymywana w jednym miejscu (co ładnie pokazuje rotację Słońca).

Ilustracja na przykładzie mojej zeszłorocznej animacji wyrzutu (Lunt 35).

Efekt korelacji fazowej:
get.jpg

Wyrównanie na krawędzi tarczy:
get.jpg

Metoda ta na razie nie zadziała dla obrazów zaćmienia Słońca.

Obrazy wejściowe muszą zawierać jasną tarczę na ciemnym tle, bez silnego winietowania czy uwydatnionego obróbką pociemnienia brzegowego. Dlatego jeśli chcemy zmienić obraz w pełny/częściowy negatyw bądź mocno go przyciemnić aplikując niską „gammę”, należy to zrobić już po wyrównaniu. Natomiast wyostrzanie należy przeprowadzić przedtem (wyrównanie zadziała też dla surowych stacków, ale mniej skutecznie).

Dodałem też obsługę formatu FITS (zapis i odczyt, również dla wyrównywania). Przy zapisie można wybrać format 8-, 16- lub 32-bitowy zmiennoprzecinkowy.

I wreszcie zmiana powiększenia widoku: używa się jej jak w popularnych aplikacjach graficznych, tzn. poprzez menu, przyciski narzędziowe lub kombinację Ctrl+rolka myszy. Zawartość okna głównego można też przewijać przeciągając z wciśniętym środkowym przyciskiem myszy (tj. zwykle rolką).

wyrównanie.png

  • Lubię 5
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 miesiące temu...

Nowa wersja: 0.4.1

 

pobieranie: http://stargazerslounge.com/blog/1400/entry-1808-imppg-image-post-processor/

 

Ulepszenia:
- Suwaki numeryczne można zmieniać z 1-pikselową dokładnością zamiast sztywnej wartości 100 kroków
- Format wyjściowy wybrany w oknie przetwarzania wsadowego jest pamiętany
- Unsharp masking nie zwalnia przy dużych wartościach „sigmy”
- Zwiększony zakres parametrów unsharp maskingu

 

Poprawki błędów:
- Zła nazwa pliku wyjściowego, jeśli nazwa wejściowa zawierała więcej niż jedną kropkę
- Błąd w momencie ręcznego wprowadzenia nieistniejącej ścieżki
- Okna programu rozmieszczone poza ekranem, gdy poprzednio uruchomiono ImPPG w konfiguracji wieloekranowej
- Przywrócono brakujące polskie napisy w interfejsie użytkownika

  • Lubię 7
Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 miesiące temu...

ImPPG przeniosł się na GitHuba: http://greatattractor.github.io/imppg/(repozytorium: https://github.com/GreatAttractor/imppg/ )

 

Nowa wersja: 0.5

 

Nowe funkcje:
– Adaptatywny unsharp masking

Ulepszenia:
– Suwaki numeryczne można przewijać klawiszami kursora
– Szerokość panelu kontrolnego jest zapamiętywana
– Użycie CMake do budowania ze źródeł

 

Pobieranie: https://github.com/GreatAttractor/imppg/releases/tag/v0.5

 

 

O adaptatywnym unsharp maskingu (i nie tylko) można przeczytać w ilustrowanym samouczku (na razie po angielsku, ale wrzucę na dniach wersję polskojęzyczną).

  • Lubię 1
Odnośnik do komentarza
Udostępnij na innych stronach

  • 8 miesięcy temu...

Nowa wersja: 0.5.1

 

Nowe funkcje:

  • Lista ostatnio używanych ustawień

 

Ulepszenia:

  • Ikony narzędziowe o wysokiej rozdzielczości
  • Usprawnienie rysowania krzywej tonalnej na ekranach o wysokiej rozdzielczości

Pobieranie: https://github.com/GreatAttractor/imppg/releases/tag/v0.5.1

 

 

 

Parę miesięcy temu ktoś prosił o pokazywanie informacji o ostatnio wczytanym pliku ustawień, zrobiłem to razem z listą wyboru:

 

ldd_pl.png

 

Oprócz tego naprawiłem pewne niedogodności zauważone po przesiadce na monitor o wysokiej gęstości pikseli. Po pierwsze, ikony narzędziowe mają wyższą rozdzielczość i można wybrać ich rozmiar (w menu Ustawienia). Po drugie, edytor krzywej tonalnej mocno zwalniał, gdy jego okno było bardzo szerokie; problemem nie były obliczenia krzywej, a same komendy rysujące. Dotychczas krzywa była zawsze rysowana z 1-pikselową dokładnością, co nie sprawiało kłopotów dla np. kilkuset pikseli, ale dla 1,5-2 tysięcy zauważalnie zwalniało (rysowanie krzywej oraz odświeżanie edytowanego obrazu). Obecnie rysowana jest tylko stała liczba segmentów krzywej (i histogramu), domyślnie 512. Można ją zmienić w pliku konfiguracyjnym (Windows: C:\Users\<użytkownik>\AppData\Roaming\imppg.ini, Linux: ~/.imppg) edytując pozycję ToneCurveEditorNumDrawSegments. Wartość 0 oznacza rysowanie po staremu (1-pikselowa dokładność).

  • Lubię 8
Odnośnik do komentarza
Udostępnij na innych stronach

  • 3 miesiące temu...
  • 2 miesiące temu...
  • 1 rok później...

A dziękuję, ale w tym przypadku cała "optymalizacja" to dyrektywa OpenMP (#pragma) jak tu:

 

 
#pragma omp parallel for
for (int k = 0; k < (int)rows; k++)
	fft1d<float>(...);

 

która automatycznie rozłoży wykonanie pętli między wszystkie dostępne procesory logiczne. Polecam, większość kompilatorów obsługuje (C, C++, Fortran).

 

Przerzucenie obliczeń na GPU chodzi mi po głowie, może coś się urodzi (w Stackistry również)...

Odnośnik do komentarza
Udostępnij na innych stronach

59 minut temu, WielkiAtraktor napisał:

A dziękuję, ale w tym przypadku cała "optymalizacja" to dyrektywa OpenMP (#pragma) jak tu:

Liznąłem minimalnie tej biblioteki na zajęciach w zeszłym semestrze :) Dobrze, jak da się tu zrobić taką pętlę prosto, bo nie zawsze podzielenie problemu na wątki jest takie oczywiste.

Godzinę temu, WielkiAtraktor napisał:

Przerzucenie obliczeń na GPU chodzi mi po głowie, może coś się urodzi (w Stackistry również)...

Mnie wręcz zachwycił skok wydajności, jaki potrafi dać GPU, gdy zobaczyłem to na własne oczy. Pomyślałem sobie, "dlaczego tak mało programów z tego korzysta". Tego typu obliczenia powinny bardzo dobrze pasować do charakterystyki GPU.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 6 miesięcy temu...

Nowa wersja: 0.5.4

Pobieranie: https://github.com/GreatAttractor/imppg/releases/tag/v0.5.4

 

Na prośbę jednego z użytkowników ImPPG ma od teraz:

 

Nowe funkcje:

  • Konfigurowalny wygląd edytora krzywej tonalnej

Ulepszenia:

  • Wyświetlanie ostatnio załadowanego pliku ustawień w pasku narzędziowym

 

Wszystkie kolory w edytorze krzywej tonalnej można zmienić (z menu Ustawienia/Edytor krzywej tonalnej... albo przyciskiem konf w oknie krzywej). Tryb "domyślne-systemowe" jest przydatny gdy np. ustawimy ciemny motyw w środowisku graficznym — ImPPG będzie go respektował.

 

krzywa.png.13db92e7c0ca42860667dc388445ad27.png

edytor.png.a71a694235ea1e0a137c005de1cbe267.png

ciemny.thumb.png.e673e20db903cd7312f8ec6a4ca901a6.png

  • Lubię 6
  • Dziękuję 1
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 miesiące temu...

@WielkiAtraktor znalazłem dzisiaj błąd w programie. Otóż nie da się załadować więcej niż mniej więcej 4000 plików do alignacji. Próbowałem wyrównać jakieś 8000 i musiałem dzielić na partie. Po zaznaczeniu wszystkich i otwarciu, lista pozostaje pusta. Jeśli to może mieć znaczenie - pliki tiff, niekompresowane.

Odnośnik do komentarza
Udostępnij na innych stronach

3 godziny temu, WielkiAtraktor napisał:

Ciekawe, może jakieś ograniczenie w nowszych widgetach Windows. Sprawdziłem pod Windows 2012 Server i 5-8 tys. da się dodać (pod Linuksem też). Której wersji Windows używasz?

Win10 64b. Sprawdziłem teraz na maszynie wirtualnej z win7 i też nie działa.

 

Swoją drogą, nie masz pomysłu na jakiś nowy algorytm alignacji, bo na zaćmieniach trochę wymięka :)

Edytowane przez MateuszW
Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

×
×
  • 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ę.