Kitware사에서 제작한 라이브러리 VTK(Visualization Toolkit)는 현재 오픈소스로 공개된 가시화 라이브러리로서 3차원 컴퓨터 그래픽스, 영상 처리, 가시화 등과 관련된 방대한 양의 기능을 제공하고 있다. C++로 구현되어 Tcl/Tk, Python
VTK에서 다루는 가장 일반적인 형태의 데이터는 데이터 객체다. \- 가시화 파이프라인(Visualization Pipeline)에 의해 처리되는 데이터를 일컫는데, 체계화된 구조와 관련된 데이터 속성을 가진 데이터 객체는 데이터 세트를 형성한다. VTK의 대부분의

우선 예제 프로그램을 실행하여 문제가 없는지 확인한다. 콘솔앱 선택프로젝트 속성 -> 디버깅 -> 환경 탭에서 C드라이브 ProgramFiles의 VTK 디버깅 bin 폴더의 경로를 입력한다.C/C++ 탭 선택 -> 추가 포함 디렉터리에서 위 경로의 include 경로

VTK 프로그래밍에 나와있는 예제를 하던 중, 다양한 오류가 발생하였다. 결론은 책에서 사용한 VTK의 버전과 내가 설치한 버전이 달랐다는 점(8.4 vs 9.4)cmake로 빌드한 경로가 달라 visual studio에서 프로젝트 설정에 차이가 있었다는 점위 두가지로

Decimation \- Mesh Data는 필요 이상으로 해상도가 높거나 데이터량이 많으면 렌더링 및 처리하는데에 시간이 오래 걸린다.이를 간략화할 필요가 있는데, 이 때 vtkDecimatePro, vtkQuadricDecimation, vtkQuadricClus

광학실 스캐너 또는 CT 영상 등을 통해 얻어진 mesh data는 노이즈를 많이 포함하고 있으며 표면이 매끄럽지 못할 수 있다.Smoothing은 이를 보정해 매끄럽게 해 주는 기능이다. vtkSmoothPolyDataFilter와 vtkWindowedSincPoly

Mesh의 연속성을 검사하기 위해 vtkPolyDataConnectivityFilter를 이용할 수 있다. \- mesh data에서 가장 큰 영역을 추출하거나 특정 위치에서 연결된 영역을 추출 또는 연결된 영역별로 모두 추출하는 것이 가능하다.노이즈 제거 및 클러스

Clipping: mesh data를 절단하는 기능, vtkClipPolyData을 사용해 vtkPlane으로 설정한 평면을 절단한다.예제vtkPlane.h, vtkClipPolyData.h include결과중심점을 찾은 후, 해당 부분을 기준으로 clip한다.

Registration서로 다른 좌표계 또는 서로 다른 장비로부터 얻은 두 개의 mesh data 또는 point cloud를 하나의 좌표계로 변환 시기는 것이다.예를 들어, 3d 광학식 스캐너로부터 부분적으로 수차례에 걸쳐 얻은 데이터들 간의 정합을 통해 완성된 하나

일반적으로 2차원 이미지의 색상 정보는 X축, Y축으로 나누어진 pixel로 저장된다.3차원 이미지는 2차원 이미지에서 z축 방향으로 pixel이 확장되는 개념인 voxel로 저장된다.vtkImageData 클래스로 2, 3차원 이미지 처리가 가능하고, CT, MRI

Marching Cubes 알고리즘: 3차원 voxel 데이터에서 특정 값을 설정해 3차원 mesh data를 생성할 수 있다. 하나의 voxel을 육면체로 보고, 각 꼭지점의 scalar 값이 설정된 값보다 높으면 1, 낮으면 0으로 설정한다. 이 때 나타날 수 있는