Skocz do zawartości

Model człowieka ze zdjęć przekroju poprzecznego - segmentacja


Gość mrozu

Rekomendowane odpowiedzi

Witam wszystkich forumowiczów.

 

Z grafiką nie mam do czynienia wcale.

Niestety, zostałem poproszony o pomoc w stworzeniu modelu fantomu człowieka z jego zdjęć z tomografu komputerowego.

 

Problem przedstawia się następująco.

Mam 1770 zdjęć człowieka, zrobiony co 0.6 mm. Przykładowe zdjęcie:

13122110751460193300000.th.png.

 

Następnie, każde z tych zdjęć zostało pokolorowane(posegmentowane?) tak, aby rozróżnić najważniejsze narządy:

13122110751460193300000.th.png

widać tutaj mózg, oczy, kości czaszki, skórę.

 

Każde z tych zdjęć zamieniłem na obrazek ośmiobitowy z poindeksowanymi kolorami, tak żeby na każdym ze zdjęć kolor czarny miał zawsze indeks 0, czerwony np 1 itd.

 

Do tej pory wszystko jest jasne, robiłem to wg różnych artykułów i tutoriali znalezionych w internecie oraz w oparciu o pracę doktorską która również poruszała tą kwestię ( http://www.ifj.edu.pl/SD/rozprawy_dr/rozpr_Puchalska.pdf?lang=pl - strona 87).

 

Doszedłem jednak do ściany.

Teraz potrzebuję te zdjęcia niejako złożyć w jedną całość aby dały mi model przypominający coś takiego:

modelh.th.png

 

Lub coś co pokazuje ten film:

 

Moje pytania brzmią:

czy metoda tworzenia obrazu 3D z takich zdjęć ma jakąś konkretną nazwę, żebym mógł poczytać na ten temat?

czy istnieje jakiś program(najlepiej nie kombajn) który umożliwi mi w miarę proste stworzenie takiego modelu z tych zdjęć?

 

Ktoś polecił mi program Voxler. Czy ktoś z Was ma jakieś doświadczenie z nim? Czy on się w ogóle do tego nadaje? Walczę z nim już trzeci dzień lecz nie potrafię osiągnąć zamierzonego efektu.

 

Osobiście trochę programuje. Na potrzeby Voxlera napisałem sobie proste skrypty, które pozamieniały mi te obrazki na:

kwadratową macierz pikseli, gdzie wartością danej komórki jest indeks koloru

na plik z czterema kolumnami

x | y | z | V

gdzie x,y,z to oczywiście koordynaty danego pixela a V to jego wartość(indeks koloru).

 

 

Każda pomoc będzie nieoceniona.

 

Pozdrawiam i dziękuje

Grzegorz

Odnośnik do komentarza
Udostępnij na innych stronach

  • Odpowiedzi 6
  • Created
  • Ostatniej odpowiedzi

Top Posters In This Topic

Top Posters In This Topic

Ja mam odwrotny problem ;p Na tym forum niby dużo jest dobrych grafików, ale jak na razie nikt mi nie udzielił nawet tych najprostszych odpowiedzi. Nie oczekuj więc tutaj rewelacji. Mi potrzeba podzielić model na serię zdjęć. Używam wersji trial 3dsmaxa i męczę się już 2 tyg.

 

http://www.max3d.pl/forum/showthread.php?t=80046 przeczytaj mój wątek, może coś ci się rozświetli. Zdjęcia pewnie da się importować do tego programu. więc mógłbyś je ułożyć odpowiednio. Widziałem takie opcje tam jak grow. Wszystkie vertexy się rozrastają wtedy. Mógłbyś próbować potraktować tym modyfikatorem zdjęcia, aż do momentu stykania jedno w drugie i scalić co trzeba. Transparecy obiektów pewnie też da się ustawić więc zachowałbyś kolorki. Tylko jest mankament, 3dsmax to kombajn ;p Jeżeli nie znajdziesz innego rozwiązania możesz spróbować tym. Na początek po prostu dwa zdjęcia spróbować złączyć. Chyba, że jest jakaś opcha "przyciągnij". TO byś musiał się pytać kogoś innego, ja jestem zielony w tej kwestii ;p

 

Jeżeli znajdziesz rozwiązanie prosiłby o info, być może twój pomysł mi również pomoże.

 

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

W zasadzie zadanie jest proste, w szczegole juz nie. Niedawno byl nawet watek na ten temat. Wiele zalezy do tego, jaki ma byc format docelowy (poligony?) i jaka jest wymagana dokladnosc oraz czy dane wejsciowe jak i model wyjsciowy potrzebuja duzo post-processu, czy tez mozna zalozyc, ze sa na tyle dobrej jakosci, ze beda dzialac same z siebie

 

w Houdinim:

http://bareya.net/index.php/2011/08/12/computer-tomography-data-in-houdini/

 

w Blenderze:

http://blenderartists.org/forum/showthread.php?154372-Visible-Human-in-real-time-using-GLSL-to-emulate-Volumetrics

Nie jestem pewien, czy taki proces ma swoja nazwe, ale pewnie uchodzi cos a'la wokselizacja. Houdini jest bardzo dobrym narzedziem do tego, bo ma setke funkcji zwiazanych z voxelami. Jest wersje darmowa do celow niekomercyjnych, ktora powinna wystarczyc do akademickiego uzycia.

 

Alternarywnie mozesz uzyc kilku modulow Pythona. Za pomoca scipy/numpy spokojnie zbudujesz tablice woxeli albo nawet pole SDF (sign distance field). Ktorys z modulow naukowych Pythona posiada na pewno algorytm "marching cubes", ktory zrobi z tego siatke. Dla obeznanego w Pythonie to dzien lub dwa roboty, jak sie znajdzie odpowiednie narzedzi. Przykro mi, tu nie pomoge, ale google znajdzie mase stron w tym temacie.

 

 

Mozna by, jesli osoba zainteresowana nie chce sie babrac w Houdinim, machnac prosty skrypt, ktory na systemie z zainstalowanym programem wykona robote, tylko trzeba by ustalic jakies warunki brzegowe. Zalaczam przykladowa paczke. Zakladajac, ze zainstalowales Houdiniego (wersja niekomercyjna wystarczy, ale bedzie miala znak wodny na renderach), z shella Houdiniego (pod Windowsnem w menu jest Houdini Command Line ... albo jakos tak), nalezy rozpakowac zipa, nawigowac w shellu do katalogu voxelize i odpalic skrypt ./renderme Po kliku sekundach w katalogu geo pokaze sie plik *.obj zriobiony z prostej animacji, ktora Houdini wczesniej renderuje.

 

Tutaj video:

 

http://db.tt/and0LMDQ

pozdr.,

skk.

voxelize.zip

Odnośnik do komentarza
Udostępnij na innych stronach

Na tym forum niby dużo jest dobrych grafików, ale jak na razie nikt mi nie udzielił nawet tych najprostszych odpowiedzi.

 

ciekawe, ja w tym twoim watku widze ze ci odpowiedziano z dokladna nazwa narzedzia jakie potrzebujesz.

 

nie wiem po co spamujesz cudze wątki nie mające nic wspolnego z twoim, ale wątpie zebys w ten sposob znalazl pomoc

Odnośnik do komentarza
Udostępnij na innych stronach

mirach: zanim coś powiesz, spójrz na datę :) Dwa, odpowiedz padła na temat poboczny, ale podziękowałem już za nią bo się przyda, a nawet gdyby się nie przydała i tak bym podziękował. Trzy nie spamuję cudzego wątku, tylko podsunąłem moją propozycję, a Ty nie wiem czy czytasz ze zrozumieniem, bo jednak te dwa problemy mają swój wspólny mianownik ;)

 

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach




×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności