6 THÍ NGHIỆM VÀ ĐÁNH GIÁ
5.10 Render bằng kỹ thuật volume rendering
5.3.2 Lát cắt ảo
Lát cắt ảo từ một tập ảnh ba chiều là hình ảnh của tập ảnh ba chiều này trên một mặt phẳng giao với tập ảnh trong không gian mà không trực tiếp có được
5.3. Chức năng gán nhãn
Tập ảnh CT gốc là một chồng các ảnh hai chiều, cung cấp cho người phân tích ảnh một góc nhìn duy nhất vào trong tập dữ liệu gọi là mặt cắt ngang. Để phân tích từ góc nhìn này, người phân tích cần phải xem lần lượt từng ảnh một. Hạn chế của nó nằm ở việc mất thời gian và gây khó khăn cho việc nắm bắt các thông tin chỉ có thể quan sát dễ dàng ở các góc nhìn khác. Các phần mềm như 3D Slicer cung cấp thêm cho người phân tích hai góc nhìn ảo trực giao với mặt cắt ngang là mặt cắt giữa và mặt cắt trước (Hình 3.1). Tuy nhiên, cách giải quyết này vẫn vấp phải vấn đề tương tự, đó là sự thiếu đảm bảo khả năng cung cấp toàn bộ góc nhìn cho người phân tích.
Chúng tôi đưa ra một giải pháp nhằm tổng quát hóa việc hiển thị các mặt cắt, giúp người dùng có được lát cắt ảo từ bất kỳ góc nhìn nào họ muốn. Để làm được điều này, chúng tôi đưa ra một mô hình hình học cho việc sinh ra lát cắt ảo, sau đó hiện thực nó bằng ngôn ngữ lập trình Javascript.
Mô hình hóa bài toán sinh lát cắt ảo
Lát cắt ảo là phần giao của tập ảnh ba chiều và một mặt phẳng. Phần giao này có thể tồn tại ở nhiều hình dạng và kích thước khác nhau tùy vào vị trí cắt của mặt phẳng, vì vậy không thể định sẵn một khuôn mẫu nào đặt vừa vặn hoàn toàn tất cả các lát cắt ảo. Cách giải quyết cho vấn đề này là sử dụng một khuôn mẫu hình chữ nhật đủ rộng để đặt bất kỳ lát cắt ảo nào. Khi hiển thị, các vùng trên hình chữ nhật không được phủ bởi lát cắt ảo sẽ được tô đen.
Vậy ta đặt ra được một mô hình cho bài toán sinh lát cắt ảo như sau:
Bài toán 1 Cho tập ảnh ba chiều V và hình chữ nhật R có kích thước m×n cắt V trong không gian ba chiều. Tìm một hình chữ nhật R′ trong không gian hai chiều sao cho từng voxel v mà R đi qua trong V được ánh xạ đơn ánh đến một pixel p có cùng độ sáng trên R′ và với hai cặp (vi, pi), (vj, pj) bất kỳ, khoảng cách Euclidean của (vi, vj) bằng khoảng cách Euclidean của (pi, pj).
Lời giải của bài toán này như sau:
Gọi O′ là tâm của hệ tọa độ O′x′y′ thuộc không gian hai chiều, u~′ = (0,1), ~
v′ = (1,0)lần lượt là hai vector đơn vị lần lượt song song với O′x′, O′y′ và vì vậy vuông góc với nhau.
Gọi R′ là hình chữ nhật trong không gian hai chiều có tâm trùng với O′ và có hai cặp cạnh lần lượt song song với hai trục O′x′, O′y′.
Với từng cặp (i, j) với i, j là các số tự nhiên và i ∈ {⌊−m/2⌋, ...,⌈m/2⌉}, j ∈ {⌊−n/2⌋, ...,⌈n/2⌉}, nếu
R′
O′+i∗u~′+j∗v~′ =VO+i∗~u+j∗~v,
tại O+i∗~u+j∗~v thuộc V, thì R′ là lát cắt ảo của V được cắt bởi R.
Chứng minh tính đúng đắn của lời giải cho bài toán sinh lát cắt ảo
Để chứng minh R′ là lát cắt ảo củaV được cắt bởi R, ta sẽ chứng minh phép biến đổi biến O thành O′, ~u thành u~′ và ~v thành v~′ là phép biến đổi rắn, vì vậy mà bảo toàn khoảng cách Euclidean giữa tất cả các cặp voxel khi áp dụng phép biến đổi lên các voxel này.
Chứng minh 1 Gọi T1 là phép dịch chuyển dời O về O′, áp dụng phép dịch chuyển này không làm thay đổi ~u và ~v.
Gọi T2 là phép quay quay ~u về cùng hướng với u~′. Vì ~u và u~′ có cùng độ lớn, sau khi áp dụng T2 ta được ~u=u~′.
Vì phép quay không làm thay đổi quan hệ về góc, ~v vẫn vuông góc với ~u và vì vậy vuông góc với u~′. Vì v~′ cũng vuông u~′, ~v và v~′ cùng thuộc mặt phẳng pháp tuyến của u~′. Phép quay quay~v trên mặt phẳng này sẽ không làm thay đổi ~u.
Gọi T3 là phép quay quay ~v về cùng hướng với v~′, áp dụng phép quay này không làm thay đổi ~u. Bên cạnh đó T2 và T3 cũng không làm thay đổi O.
Đặt T =T1∗T2∗T3. T biến O thành O′, ~u thành u~′ và ~v thành v~′. T là tổ hợp của các phép chuyển dịch và phép quay, vì vậy T là một phép biến đổi rắn
5.3. Chức năng gán nhãn Áp dụng lời giải cho bài toán sinh lát cắt ảo vào công cụ gán nhãn
Chúng tôi cung cấp cho người dùng hình ảnh của lát cắt ảo từ tập ảnh ba chiều mà trên đó người dùng có thể gán nhãn, cũng như có khả năng điều khiển việc di chuyển lát cắt ảo trong không gian của tập ảnh ba chiều.
Để làm được điều này, chúng tôi cần hiện thực các tính năng sau: cho phép nguời dùng di chuyển tịnh tiến lát cắt ảo, xoay lát cắt ảo trên-dưới, trái-phải bằng chuột và bàn phím (Hình 5.11); cho phép người dùng gán nhãn/xóa nhãn trên lát cắt ảo và ánh xạ vị trí các pixel thuộc nhãn này lên không gian ba chiều. Các tác vụ trên đều là các biến thể tầm thường của lời giải 1.
(a) Ban đầu (b) Tịnh tiến
(c) Xoay dọc (d) Xoay ngang
(e) Kết hợp