1.2 Tái dựng hình ảnh 3D
1.2.4.2 Biểu diễn (rendering)
Bước này sẽ biểu diễn khối dữ liệu thành hình ảnh. Tùy theo mục đích sẽ có nhiều cách biểu diễn khác nhau:
a. Biểu diễn trên nhiều mặt phẳng (multiplanar rendering - MPR) Kỹ thuật này dùng một hoặc nhiều mặt phẳng cắt ngang qua khối dữ liệu. Với cách này sẽ quan sát được các voxel nằm trên thiết diện ảo bởi mặt phẳng cắt và khối dữ liệu. Kỹ thuật này đơn giản, không đòi hỏi tính toán nhiều và có thể cắt lớp các cấu trúc giải phẫu theo nhiều phương khác nhau
b. Biểu diễn bề mặt (surface rendering - SR)
Kỹ thuật này biểu diễn ảnh 3 chiều như một tập các bề mặt được gọi là iso-surface. Mỗi bề mặt có chứa các điểm có cường độ tương tự (được gọi là iso-value) trên tất cả các lát cắt. Kỹ thuật này được sử dụng khi chúng ta muốn nhìn thấy bề mặt của một cấu trúc riêng biệt từ cấu trúc gần, ví dụ như các lát cắt hộp sọ, hệ thống mạch máu từ các lát cắt của cơ thể. SR kỹ thuật thường được sử dụng cho các dữ liệu có độ tương phản cao.
Có 2 phương pháp chính để tạo bề mặt trong tái tạo iso-surface:
Tái tạo bề mặt từ các đường viền (contour base data): Để tạo bề mặt cần 2 bước trích biên và tái tạo bề mặt
Trích biên: Dùng các thuật toán trích biên để tạo các đường biên trên mỗi lát cắt. Việc trích biên có thể thực hiện tự động hoặc thủ công. Có một số thuật toán trích biên như LOG của Marr và Canny, thuật toán Snake model của Tezopoulos, thuật toán Ballon model của Cohen, thuật toán Level set của Leventon,… Với dữ liệu có cấu trúc như các ảnh cắt lớp song song, có thể sử dụng thuật toán là Marching square.
Marching square được sử dụng cho dữ liệu dạng lưới 2 chiều. Ý tưởng của phương pháp này là tạo ra một đường cong mô tả cho một giá trị vô hướng trong lưới dữ liệu, giá trị này gọi là isovalue.
Hình 1.18: Minh họa thuật toán Marching square (đường cong mô tả giá trị trong lưới dữ liệu)
Đường nối giữa 2 cạnh của một ô lưới (cell) trong phương pháp này là đường thẳng. Giao điểm của đường nối này với các cạnh được tính bằng nội suy tuyến tính từ các giá trị ở các đỉnh nằm trên cạnh đó. Giả sử các đỉnh của ô sẽ nằm trong đường nối nếu giá trị tại đó lớn hơn giá trị isovalue và nằm ngoài nếu nhỏ hơn. Có 24=16 cách tạo ra các đường này.
Hình 1.19: 16 trường hợp Marching square. Các bước thực hiện Marching square: Các bước thực hiện Marching square:
+ Chọn một ô.
+ Tìm “topological state” của ô để quyết định đường nối sẽ đi qua cạnh nào của “cell”.
+ Tính toán giao điểm của các đường với các cạnh của ô. + Chuyển (march) tới ô khác.
Phương pháp Marching square có ưu điểm là giúp tính toán nhanh nhưng nhược điểm là trong một số trường hợp ta có thể có nhiều cách tạo ra các đường đi qua “cell” và có thể tạo ra những lỗ.
Tái tạo bề mặt: Sau khi đã xác định được các đường viền ta xây dựng một mặt từ các đường này. Các phương pháp phổ biến được sử dụng hiện nay có phương pháp của Keppel (1975), phương pháp của Fush (1977), hay của Ekoule, Peyrin, Odet (1991).
Hình 1.20: Minh họa tạo bề mặt từ các đường viền.
Tái tạo bề mặt từ dữ liệu khối (voxel base reconstruction): Được xây dựng trực tiếp từ các voxel có cường độ giống nhau. Một trong những thuật toán nổi bật nhất là Marching cube (William E. Lorensen và Harvey E. Cline, 1985) sẽ được trình bày chi tiết ở chương 3.
c. Biểu diễn khối (volume rendering - VR)
Biểu diễn khối là kỹ thuật chuyển trực tiếp các dữ liệu khối từ khối dữ liệu đã được sắp xếp thành các pixel trên màn hình. Hình ảnh được biểu diễn bằng cách chiếu tia xuyên qua khối dữ liệu. Dọc theo mỗi tia, độ mờ và màu sắc sẽ được tính toán tại mỗi voxel. Sau đó, thông tin tính theo mỗi tia được tổng hợp thành một điểm ảnh trên mặt phẳng ảnh. Kỹ thuật này giúp ta nhìn thấy toàn diện toàn bộ cơ cấu nhỏ gọn của đối tượng. Một trong những nhược điểm của kỹ thuật này là có số lượng tính toán lớn, trong đó yêu cầu các máy tính có cấu hình mạnh. Kỹ thuật này phù hợp với dữ liệu tương phản thấp.