본문 바로가기

연구생각/Volume Rendering

[볼륨렌더링] 뇌주름 가시화 알고리즘.


오늘은 학사 마지막을 장식했던 가시화 알고리즘에 대해서 간단히 적어보려고 한다.
나는 세그멘티드된 뇌 영상을 볼륨렌더링할때, 뇌의 형태는 갖추어지나, 뇌의 주름이나 윤곽에 대해서는 뚜렷하게 나타내지 않아서, 조금더 이부분을 찾아서 강조시키면 좋은 가시화 결과를 얻을 수 있지 않을까 싶어서 연구를 시작하게 되었다.

일단 첫째로 뇌 주름의 중요성에 대해서 간단하게 설명하고,
연구결과로 나온 가시화 결과를 올려놓도록 하겠다.


뇌 주름은 해부학적으로 중요한 의미를 가진다.

첫째로는 뇌를 기능적인 부분으로 분할하는데 사용되는 landmark가 된다는 점이다.

사람의 뇌의 구조는 major cortical sulci, 즉 주된 주름 외에는 사람마다 지문처럼 다르게 형성된다는 점이 있다.
그래서 실제로 예를들어, 뇌의 어떤 부분이 어떤 역할을 하는 부위이다, 라고 말하려고 할 때에는 뇌의 모양과 주름이 일정하지 않아 어려움을 가지게 된다. 하지만 major cortical sulci 으로 뇌를 구분시킨다면, 그 각각 구분된 공간이 뇌의 기능적 분할공간과 거의 같으므로 이렇게 뇌를 분할한다거나, 해부학적 정보를 얻는데 사용될 수 있다는 장점이 있다.


둘째는 뇌의 주름(sulci)가 뇌 발달의 지표가 될 수 있다는 것이다.

뇌 발달의 지표가 될 수 있다는 이야기는, 뇌의 주름들 ( sulci, gyrus ) 을 이용해서 뇌가 정상적으로 발달했는지, 에 대해서 연구할 수도 있다는 이야기이다. 실제로 뇌의 발달에 관련해서 autism(자폐증)을 진단한다던지 하는 사례가 있고, 그걸 정량적으로 분석한 논문도 있다.


일단 볼륨렌더링의 전반적인 구조는 VTK, VTKEdge 라이브러리에 기반을 했고,
여기서 Shader만 바꾸어서 GPU parallel processing을 더한 알고리즘을 완성했다.

GPU 프로그래밍으로 Shader만 바꾸면 원하는 결과를 낼 수 있는 알고리즘을 적용시킬 수 있기때문에 매우 편한 과정이다.

Raycasting알고리즘을 기반으로 한 direct volume rendering에서
나의 알고리즘을 적용시킨 결과,




이런 결과를 얻을 수 있었다.
앞으로 알고리즘을 더 다듬으면 더 좋은결과 있겠지!!