Dodano po 2 dniach 12 godzinach 56 minutach 21 sekundach:
UPDATE: problem został naprawiony. Pożniżej linki do aplikacji.
jakby ktoś chciał się pobawić to gotowa aplikacja:
Kod: Zaznacz cały
https://ct.aplikacje.top/
Kod: Zaznacz cały
https://github.com/pniewolski/image-reconstruction/
Mam problem i nie mam pojęcia już jak go ugryźć.
Piszę sobie program robiący rekonstrukcję obrazów w tomografie różnymi algorytmami. Tak o dla rozrywki . Utknąłem w jednym miejscu i proszę o pomoc.
Jest sobie takie twierdzenie zwane po angielsku Fourier slice theorem, które ja rozumiem następująco.
Mamy jakiś obrazek reprezentujący jeden plasterek ciała pacjenta w tomografie.
Gdy równoległymi promieniami rentgenowskimi prześwietlimy ten obrazek dookoła co jakiś kąt otrzymamy szereg takich jednowymiarowych danych. Gdy je połączymy otrzymamy tzw. sinogram. Czyli taki obrazek gdzie oś X to kąt pod jakim zostało zrobione zdjęcie a oś Y to zawartość tego zdjęcia. Lepiej te dane wyglądają oczywiście gdy przedstawi się je w biegunowym układzie.
W każdym razie teraz robimy transformatę Fouriera ale nie dwuwymiarową na całym obrazie, lecz jednowymiarową na każdym z tych fragmentów reprezentujących jedno "zdjęcie". Zatem w naszym obrazku każdą pionową kreskę.
No i otrzymamy jako wyniki jakieś dane. Nazwijmy je "A"
Twierdzenie mówi (z tego co ja rozumiem) że jeśli teraz na tych danych przeprowadzimy odwrotną 2-wymiarową transformatę Fouriera to wynikiem będzie to czego chcemy, czyli przekrój ciała pacjenta.
Wynika to z tego że jeśli na oryginalnym obrazku (czyli przekroju ciała pacjenta) wykonamy 2-wymiarową transformatę to otrzymamy dokładnie te same dane "A". Jak rozumiem aby to się udało operujemy cały czas w układzie biegunowym a nie kartezjańskim.
Nie chce mi to wyjść. Załączam obrazek z moimi nieudolnymi komentarzami i wynikami. On więcej powie niż moje tłumaczenia.
Albo czegoś nie do końca ogarniam w tym twierdzeniu, albo nie wiem. Może ktoś z tutaj obecnych rzuci okiem i wytknie mi błąd.
Tylko proszę mieć na uwadze, że ja ostatnio analizę matematyczną to widziałem na studiach 15 lat temu
Dodano po 1 dniu 10 godzinach 9 minutach 21 sekundach:
zrobiłem jakieś małe postępy
1) trzeba było przekonwertować sinogram przepuszczony przez serię 1-wymiarowych DFT na obrazek w układzie współrzędnych x,y a nie biegunowym
2) metodą prób i błędów zobaczyłem że trzeba było niektóre obrazki jakby przesunąć w fazie
jak zawsze załączam obrazek z wytłumaczeniem
jestem chyba blisko ale nie wiem wciąż dlaczego taki wynik...