Các hàm cơ sở của đồ hoạ bao gồm việc tạo đối tượng cơ sở của hình ảnh như đoạn thẳng, đa giác, đường tròn, …, thay đổi màu sắc, chọn khung nhìn, áp dụng các phép biến đổi, …Ứng dụng đồ
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC
TS TRẦN HÀNH
Đồng Nai, 2011
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của bản thân Các số liệu, kết quả trình bày trong luận văn này là trung thực Những tư liệu được sử dụng trong luận văn có nguồn gốc và trích dẫn rõ ràng, đầy đủ
Học viên
Trần Thị Hải Yến
Trang 4LỜI CẢM ƠN
Tôi xin bày tỏ lòng biết ơn sâu sắc đến TS Trần Hành đã hướng dẫn
nhiệt tình, tận tâm trong suốt quá trình tôi thực hiện luận văn này Xin được
đồng cảm ơn thầy TS Đỗ Năng Toàn đã giúp đỡ và hỗ trợ thêm cho tôi những kiến thức bổ ích để có thể hoàn thành tốt luận văn
Tôi xin chân thành cảm ơn quí Thầy (Cô) trong Khoa Công Nghệ Thông Tin và Trung Tâm Thông Tin Tư Liệu - trường Đại học Lạc Hồng đã tạo điều kiện thuận lợi cho tôi trong suốt thời gian học tập và nghiên cứu tại trường
Tôi cũng xin chân thành cảm ơn quí Thầy (Cô) ngoài trường đã tận tâm dạy bảo tôi trong suốt quá trình học tập và giúp đỡ tôi trong quá trình nghiên cứu
Xin chân thành cảm ơn những người thân trong gia đình, cùng các anh chị em, bạn bè, đồng nghiệp đã giúp đỡ, động viên tôi trong quá trình thực hiện và hoàn thành luận văn này
Đồng Nai, ngày tháng năm 2011
Học viên
Trần Thị Hải Yến
Trang 5MỤC LỤC
LỜI CAM ĐOAN i
LỜI CẢM ƠN ii
MỤC LỤC iii
DANH MỤC HÌNH vi
DANH MỤC BẢNG ix
MỞ ĐẦU 1
Chương 1 4
TỔNG QUAN VỀ ĐỒ HỌA 3D VÀ TÁI DỰNG HÌNH ẢNH 3D 4
1.1 Tổng quan về đồ hoạ 3D 4
1.1.1 Một số khái niệm về đồ họa 3D 4
1.1.2 Các ứng dụng cơ bản của đồ họa 3D 6
1.2 Tái dựng hình ảnh 3D 8
1.2.1 Sơ lược về quy trình hiển thị 3D 8
1.2.2 Lý thuyết về tái tạo khối (volume rendering) 12
1.2.3 Tái tạo ảnh 3 chiều từ các lát cắt song song 17
1.2.3.1 Một số thiết bị tạo lát cắt song song trong y tế 17
1.2.3.2 Chuẩn DICOM 21
1.2.4 Phương pháp tái tạo ảnh 3D 30
1.2.4.1 Sắp xếp dữ liệu 30
1.2.4.2 Biểu diễn (rendering) 31
1.2.4.3 Quy trình chuyển đổi khối dữ liệu thành hình ảnh 34
Trang 61.2.4.4 Các phương pháp tạo bố cục ảnh (image composition) 35
Chương 2: MỘT SỐ KỸ THUẬT TÁI TẠO HÌNH ẢNH 3D 38
2.1 Kỹ thuật Marching cubes 38
2.1.1 Ý tưởng 38
2.1.2 Quy trình thực hiện 38
2.1.3 Phương pháp thực hiện 39
2.1.4 Giải thuật Marching cubes 44
2.1.5 Ưu và nhược điểm của thuật toán Marching Cubes 44
2.1.6 Cải tiến kỹ thuật Marching cube 45
2.1.6.1 Kỹ thuật Marching Tetrahedra 45
2.1.6.2 Kỹ thuật Dividing cubes 46
2.2 Kỹ thuật Shear-warp 46
2.2.1 Ý tưởng 46
2.2.2 Quy trình thực hiện 47
2.2.3 Phương pháp thực hiện 48
2.2.4 Ưu và nhược điểm 50
2.3 Kỹ thuật Ray Casting 50
2.3.1 Ý tưởng 50
2.3.2 Quy trình Ray Casting 51
2.3.3 Phương pháp thực hiện 51
2.3.4 Giải thuật Raycasting 55
2.3.5 Ưu và nhược điểm 55
Trang 72.3.6 Một số kỹ thuật tăng tốc cho Ray Casting 56
2.3.6.1 Chấm dứt tia sớm 56
2.3.6.2 Space-Leaping 56
2.3.6.3 Cấu trúc phân cấp không gian dữ liệu 57
2.3.6.4 Adaptive ray traversal 57
2.3.6.5 Exploiting Temporal Coherence 58
2.3.7 Cải tiến Ray casting sử dụng cấu trúc phân cấp không gian 58
2.3.8 Giải thuật Ray casting cải tiến sử dụng cấu trúc phân cấp không gian dữ liệu 62
2.3.9 So sánh tốc độ của Ray casting và Ray casting cải tiến sử dụng cấu trúc phân cấp không gian 63
Chương 3: CHƯƠNG TRÌNH THỬ NGHIỆM 65
3.1 Bài toán 65
3.2 Giới thiệu bộ công cụ mã nguồn mở VTK 68
3.2.1 Cấu trúc một ứng dụng VTK 69
3.2.2 Mô hình đối tượng (Object model) 69
3.3 Kết quả đạt được 73
PHẦN KẾT LUẬN 76
TÀI LIỆU THAM KHẢO 79
Trang 8DANH MỤC HÌNH
Hình 1.1: Quy trình hiển thị đối tượng 3D 9
Hình 1.2: Loại bỏ các đối tượng không nhìn thấy 10
Hình 1.3: Chiếu sáng đối tượng 10
Hình 1.4: Chuyển đối tượng sang không gian quan sát 10
Hình 1.5: Loại bỏ đối tượng nằm ngoài view 11
Hình 1.6: Chuyển đối tượng thành pixel 11
Hình 1.7: Hiển thị đối tượng 12
Hình 1.8 : Voxel là một tế bào khối 12
Hình 1.9 : Voxel là một điểm dữ liệu tại một góc của tế bào 13
Hình 1.10: Vector pháp tuyến của mặt phẳng 16
Hình 1.11: vật thể 3 chiều được biểu diễn bằng khung kết nối 17
Hình 1.12: DICOM và mô hình tham chiếu OSI 22
Hình 1.13: Thông tin file DICOM 23
Hình 1.14: Một số trường của ảnh DICOM 24
Hình 1.15: Cấu trúc file DICOM 25
Hình 1.16: Cấu tạo Data Set 26
Hình 1.17: Xắp sếp các lát cắt song song để tạo khối dữ liệu 30
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) 32
Hình 1.19: 16 trường hợp Marching square 32
Hình 1.20: Minh họa tạo bề mặt từ các đường viền 33
Trang 9Hình 1.21: Minh họa kỹ thuật Object – order 35
Hình 1.22: Minh họa kỹ thuật Ray casting 35
Hình 2.1 : Chọn một tế bào từ khối dữ liệu 39
Hình 2.2 : So sánh giá trị tại đỉnh với isovalue 40
Hình 2.3 : Đánh dấu những đỉnh nằm trong mặt phẳng 40
Hình 2.4: Xây dựng bề mặt theo giá trị của các đỉnh 40
Hình 2.5: Các trường hợp đối xứng 41
Hình 2.6: 15 trường hợp sau khi đã giản ước 41
Hình 2.7 : Tạo chỉ số cho các đỉnh và cạnh 42
Hình 2.8 : Nội suy tính vị trí đỉnh của tam giác 43
Hình 2.9: 2 mặt giao nhau tạo ra lỗ 43
Hình 2.10: Những mặt khác nhau của cùng một trường hợp 43
Hình 2.11: Chia khối lập phương thành các khối tứ diện 45
Hình 2.12: 2 trường hợp mặt phẳng đi qua khối tứ diện 45
Hình 2.13: Minh hoạ thuật toán Dividing Cubes trong không gian 3 chiều 46
Hình 2.16 : Minh họa thuật toán Shear-warp 47
Hình 2.14: Các lát cắt của khối dữ liệu được dịch chuyển 48
Hình 2.15 : Ma trận xem 50
Hình 2.17: Hệ thống các toạ độ trong suốt quá trình tái dựng ảnh 53
Hình 2.18: Tổng hợp màu sắc và độ chắn sáng 54
Hình 2.19 : Tổng hợp màu sắc và độ chắn sáng của tất cả các voxel dọc theo tia và hiển thị giá trị cuối cùng lên mặt phẳng ảnh 54
Trang 10Hình 2.20: Tia đi qua khối nhị phân được chia ra khu vực đồng nhất 57
Hình 2.21 : Minh hoạ ý tưởng tia thích nghi với chỗ giao cắt 58
Hình 2.22: Sử dụng C-buffer 58
Hình 2.23: Liệt kê cấu trúc không gian đối tượng với N =5 60
Hình 2.24: Minh hoạ 2 chiều cách 1 tia đi qua cấu trúc phân cấp 62
Hình 3.1: Mô hình đồ họa của VTK 70
Hình 3.2 : Mô hình trực quan hóa của VTK 71
Hình 3.3 : Các tập dữ liệu của VTK 72
Hình 3.4: Sơ đồ các đối tượng theo sơ đồ OMT [18] 72
Hình 3.5 : Giao diện chính của chương trình 73
Hình 3.6: Chọn thư mục chứa tập DICOM 74
Hình 3.7: Kết quả hiện thị ảnh 3D được tái tạo 74
Trang 11DANH MỤC BẢNG
Bảng 1.1 : Các khái niệm trong DICOM 27
Bảng 1.2 : Quy ước quy định thứ tự xuất hiện của các byte trong file DICOM 29
Bảng 2.1 Thời gian thực hiện tái dựng bằng kỹ thuật Ray casting và Ray cating cải tiến 64 Bảng 3.1 Thời gian tái dựng của Ray casting và Shear warp 67
Trang 12MỞ ĐẦU
Ngày nay, Công Nghệ Thông Tin xâm nhập vào Y tế mang lại những bước tiến mới, chẳng hạn, sự ra đời nhiều thiết bị chẩn đoán hình ảnh giúp bác sĩ chẩn đoán bệnh tốt hơn như máy chụp cắt lớp (CT), máy cộng hưởng từ (MRI)… Những thiết bị đó được ứng dụng rất rộng rãi trong chẩn đoán lâm sàng cũng như trong sinh thiết Với khả năng cung cấp những hình ảnh 3 chiều (3D) của các cơ quan bên trong cơ thể con người giống như chúng đang hiện hữu bên ngoài cơ thể bệnh nhân Các thiết bị hoạt động theo cơ chế dùng tia X-quang chụp cắt lớp các bộ phận cơ thể theo nhiều hướng khác nhau Tia Xquang được tìm ra bởi GS William Roentgen năm 1895 gây chấn động giới
y học bởi nó cho phép các bác sĩ nhìn xuyên qua cơ thể con người không cần phẫu thuật Hiện nay, tia Xquang được sử dụng phổ biến trong chẩn đoán y học Năm 1972 y học lại tiến thêm bước mới với sự phát triển của kỹ thuật chụp CT,MRI cho phép máy vi tính xử lý hình ảnh chụp cắt lớp nhằm cung cấp các hình ảnh hai chiều của cấu trúc ba chiều trên đối tượng khảo sát Những hình ảnh trên sẽ được chuyển cho máy vi tính xử lý để xây dựng lại một mô hình giống như nguyên mẫu Với những hình ảnh y tế được tái tạo 3 chiều đã giúp các bác sĩ có thể nhìn vào cơ thể sống với cả 2 thông tin giải phẫu và chức năng theo nhiều hướng khác nhau để cho ra kết quả chẩn đoán chính xác nhất
Trên thế giới việc tái tạo ảnh 3D được phát triển trong khoảng vài chục năm gần đây, có khá nhiều phần mềm thương mại tái tạo ảnh 3 chiều từ các lát cắt như: 3D-Doctor, eFilm, Vitrea2, DICOMWork… và cài đặt trên máy tính hệ thống của nhà sản xuất với giá thành khá đắt
Tại Việt Nam, việc nghiên phần mềm nhằm xử lý hình ảnh y tế còn khá mới mẻ và chỉ có một vài nghiên cứu nhỏ được công bố Ví dụ như VDoctor
Trang 13(2004) của Đại học Bách Khoa Hà Nội với chức năng chính là mô phỏng trong đào tạo giải phẫu người, động vật cùng một số ứng dụng khác
Các bệnh viện nhỏ, bệnh viện địa phương không đủ khả năng trang bị những thiết bị chẩn đoán hình ảnh vì giá cả thiết bị và phần mềm chuyên dụng rất đắt (khoảng 2 triệu USD cho một máy MRI và hơn 100.000 USD cho một máy CT, siêu âm) Việc hỗ trợ khám chữa bệnh liên tuyến giữa các bệnh viện
là điều rất khó khăn, đặc biệt trong lĩnh vực giải phẫu, phẫu thuật chỉnh hình Hình ảnh ba chiều ngày càng chiếm vai trò quan trọng trong chẩn đoán
và điều trị, nghiên cứu về hình ảnh y tế là lĩnh vực quan trọng của ngành kỹ thuật y sinh Việc nghiên cứu thuật giải tái dựng hình ảnh ba chiều trong y khoa nhằm xây dựng lý thuyết và ứng dụng phục vụ trong công tác điều trị bệnh đáp ứng tốt hơn Bài toán đặt ra là “Nghiên cứu kỹ thuật tái tạo ảnh 3 chiều trong y khoa và ứng dụng”
Mục tiêu của luận văn:
- Tìm hiểu cấu trúc ảnh y khoa DICOM
- Tìm hiểu các thuật giải nhằm tái tạo ảnh 3 chiều trong y khoa, đặc biệt
là ảnh 3 chiều từ các lát cắt song song
- Dựa trên nhiều giải thuật công bố tác giả tìm ưu nhược điểm của mỗi phương pháp và chọn thuật giải phù hợp nhất
Những vẫn đề cần giải quyết trong phạm vi luận văn:
- Tổng quan về vấn đề nghiên cứu
- Nghiên cứu cấu trúc ảnh y khoa DICOM phục vụ cho việc xử lý hình ảnh để tái tạo ảnh 3 chiều
- Tìm hiểu về tái tạo khối (volume render)
Trang 14- Các lý thuyết về tái tạo khối
- Các giải pháp, phương thức tái tạo khối
- Từ các lý thuyết và giải pháp tìm hiểu đưa ra các ưu khuyết điểm của mỗi giải pháp và chọn ra một thuật giải tối ưu, cụ thể là Ray casting
- Nghiên cứu và kế thừa các chương trình mã nguồn mở (VTK) phục vụ cho chương trình
- Xây dựng ứng dụng thử nghiệm dựa trên thuật giải ray casting
Bố cục trình bày của luận văn
Chương 1: Tổng quan về đồ họa 3D và tái dựng hình ảnh 3D
Chương 2: Một số kỹ thuật tái dựng ảnh 3D
Chương 3: Chương trình thử nghiệm
Kết luận và hướng phát triển
Trang 15Chương 1 TỔNG QUAN VỀ ĐỒ HỌA 3D VÀ TÁI DỰNG HÌNH ẢNH 3D 1.1 Tổng quan về đồ hoạ 3D
1.1.1 Một số khái niệm về đồ họa 3D
Đồ họa máy tính là một lĩnh vực khoa học nghiên cứu về các thuật toán cũng như kĩ thuật cho phép tạo, hiển thị và điều khiển hình ảnh trên màn hình máy tính [3] Đồ họa máy tính có liên quan đến đại số, hình học giải tích, hình học họa hình, quang học, kĩ thuật máy tính và chế tạo phần cứng (các loại màn hình, các thiết bị xuất, nhập, các vi mạch đồ họa )
Hệ đồ họa bao giờ cũng có hai thành phần chính đó là phần cứng và phần mềm [3] Phần cứng gồm thiết bị hiển thị và nhập dữ liệu, … Phần mềm gồm công cụ lập trình và các trình ứng dụng đồ họa Công cụ lập trình cung cấp tập các hàm đồ họa có thể được dùng trong các ngôn ngữ lập trình cấp cao như C, Pascal, Các hàm cơ sở của đồ hoạ bao gồm việc tạo đối tượng
cơ sở của hình ảnh như đoạn thẳng, đa giác, đường tròn, …, thay đổi màu sắc, chọn khung nhìn, áp dụng các phép biến đổi, …Ứng dụng đồ họa được thiết
kế cho những người dùng không phải là lập trình viên tạo được đối tượng, hình ảnh, … mà không cần quan tâm tới việc chúng được tạo ra như thế nào
Ví dụ như là Photoshop, AutoCAD, …
Việc thể hiện các đối tượng 3D trên máy tính là cần thiết vì phần lớn các đối tượng trong thế giới thực là đối tượng 3D còn thiết bị hiển thị chỉ hiển thị ảnh 2 chiều Do vậy muốn có hình ảnh 3 chiều ta cần phải giả lập Biểu diễn đối tượng 3D bằng máy tính phải tuân theo quy luật về phối cảnh, sáng, tối… giúp người xem nhìn thấy hình ảnh gần đúng nhất.Chiến lược cơ bản là chuyển đổi từng bước Hình ảnh sẽ được hình thành ngày càng chi tiết hơn
Trang 16Khi mô hình hóa và hiển thị một hình ảnh 3D chúng ta xét rất nhiều khía cạnh và các vấn đề khác nhau không đơn giản là thêm một tọa độ thứ 3 cho các đối tượng [3] Bề mặt đối tượng có thể được xây dựng bởi nhiều tổ hợp khác nhau của mặt phẳng và mặt cong, đôi khi chúng ta còn mô tả một số thông tin bên trong đối tượng Khi biểu diễn đối tượng 3 chiều bằng máy tính
ta cần quan tâm các vấn đề sau[1]:
Phương pháp biểu diễn
Có 2 phương pháp biểu diễn đối tượng 3 chiều là phương pháp biểu diễn
bề mặt và biểu diễn theo phân hoạch không gian
Phương pháp biểu diễn bề mặt mô tả đối tượng bằng một tập hợp các bề mặt giới hạn phần bên trong của đối tượng với môi trường bên ngoài Thông thường ta xấp xỉ các bề mặt phức tạp bởi các mảnh nhỏ hơn gọi là các patch (mặt vá) Các mảnh này có thể là các đa giác hoặc các mặt cong
Phương pháp phân hoạch không gian thường dùng để mô tả các thuộc tính bên trong đối tượng
Các phép biến đổi hình học
Khi áp dụng một dãy các phép biến đổi hình học có thể tạo ra nhiều phiên bản của cùng một đối tượng Do đó có thể quan sát vật thể ở nhiều vị trí, nhiều góc độ khác nhau và cảm nhận về các hình ảnh vẽ ba chiều sẽ trực quan, sinh động hơn Các phép biến đổi thường được sử dụng là phép tịnh tiến, phép quy, phép biến dạng… được mô tả bằng các ma trận Ma trận của mỗi phép biến đổi có các dạng khác nhau
Vấn đề chiếu sáng
Tác dụng của việc chiếu sáng là làm cho các đối tượng hiển thị trong máy tính giống với vật thể trong thế giới thực Để thực hiện công việc này cần
Trang 17phải có các mô hình tạo sáng
Vật thể được chiếu sáng nhờ vào ánh sáng đến từ khắp mọi hướng gọi là ánh sáng xung quanh(ambient light) hay ánh sáng nền(background light) Trên bề mặt có 2 loại hiệu ứng phát sáng là khuếch tán (diffuse light) - ánh sáng đi theo mọi hướng và phản xạ gương (specular light)
Vấn đề tạo bóng
Để tạo bóng ta ứng dụng các mô hình xác định cường độ sáng theo nhiều kiểu khác nhau tùy thuộc bài toán cụ thể Các vật có bề mặt phẳng chỉ cần tính cường độ sáng chung cho một bề mặt là có thể hiển thị đối tượng tương đối thật Các vật có bề mặt cong phải tính cường độ sáng cho từng pixel trên
bề mặt Để tăng tốc độ ta xấp xỉ các mặt cong bởi một tập hợp các mặt phẳng Với mỗi mặt phẳng sẽ áp dụng mô hình cường độ không đổi (flat shading) hoặc cường độ nội suy (Gouraud shading, Phong shading) để tạo bóng
1.1.2 Các ứng dụng cơ bản của đồ họa 3D
3D là công nghệ được xây dựng từ các phần mềm máy tính, giúp người
sử dụng có thể quan sát hình ảnh trong không gian ba chiều Ứng dụng của công nghệ này được sử dụng trong một số lĩnh vực đạt hiệu quả cao như Y học, xây dựng, kiến trúc, phim, trò chơi Tại Việt Nam công nghệ này chỉ mới được sử dụng phần lớn trong quảng cáo và kiến trúc
Ứng dụng đồ hoạ 3D trong y tế
Ứng dụng công nghệ hình ảnh 3D thu hút sự chú ý của nhiều người trong lĩnh vực y học Nhiều bác sĩ cũng tận dụng công nghệ mới này phục vụ điều trị bệnh nhân giúp tăng độ chính xác và hiệu quả
Với phương pháp chụp cắt lớp điện toán (CT) hay chụp cộng hưởng từ (MRI) Bác sĩ phải theo dõi hình ảnh 2D trên màn hình, vừa phải tưởng tượng
Trang 18hình ảnh trong không gian 3 chiều đã gặp không ít khó khăn Ứng dụng công nghệ hình ảnh 3D, bác sĩ nhìn được các hình ảnh 3 chiều rõ nét ngay lập tức
và tập trung hơn vào phẫu thuật
Ứng dụng đồ hoạ 3D trong xây dựng kiến trúc
Đối với người thiết kế: có thể vẽ lên không gian 3 chiều, ứng dụng vật liệu thật vào không gian, phối trí và phân tích ánh sáng, thông gió hợp lý nhất cho công trình thiết kế xây dựng làm cho sự kết hợp giữa các yếu tố, bố trí các vật dụng trở nên hài hoà Tính toán tải trọng kết cấu chính xác nhất, đưa
ra giải pháp tiết kiệm vật tư và chi phí nhằm nâng cao năng lực cạnh tranh Đối với người khách hàng: ứng dụng 3D trong kiến trúc làm cho người xem như đứng ngay trong không gian trong thực tế
Ứng dụng đồ hoạ 3D trong phim, trò chơi
Công nghệ 3D trong phim ảnh đang là xu hướng phát triển của điện ảnh thế giới Ứng dụng tạo hình 3D mang đến cho người xem những trải nghiệm thực sự, những hình ảnh sống động và hấp dẫn Nó cũng được sử dụng để tạo các hiệu ứng phim và thực tại ảo, khán giả sẽ trải nghiệm những hành động,
cử chỉ sống động như thật
Trong game, ứng dụng công nghệ 3D để xây dựng mô hình, và chuyển động cho hình ảnh sắc nét giúp người chơi bao quát được toàn bộ góc nhìn với chất lượng hình ảnh tốt nhất và không bị gián đoạn
Ứng dụng đồ hoạ 3D trong mô phỏng, đào tạo
Hệ thống phần mềm mô phỏng các thí nghiệm bằng hình ảnh minh họa sống động, giúp học sinh dễ nhận biết, tiếp thu và tạo sự hứng thú với môn học Cho phép học sinh, sinh viên được quan sát trực quan các mô hình cụ thể, thấy được những hoạt động, chuyển động của các sự vật, sự kiện được
Trang 19giảng viên trình bày
Học sinh được hình dung một cách rõ ràng và đầy đủ các khái niệm về hình học không gian, địa lý vũ trụ, mô hình sinh học hoặc các khái niệm khó tưởng tượng ra trong thế giới hai chiều
Ứng dụng đồ hoạ 3D trong lĩnh vực quốc phòng và an ninh
Những sản phẩm mô phỏng sẽ được áp dụng trong giảng dạy các môn khoa học như Giáo dục quốc phòng, quân sự Người học có thể quan sát chi tiết các hoạt động của các bộ phận cơ khí,quy trình hoạt động và tương tác, những hiện tượng xảy ra trong các hoạt động của vũ khí Công nghệ mô phỏng 3D mô tả chi tiết cụ thể hiện tượng bắn, quá trình chuyển vận của các
bộ phận trong tương tác sự vật, hiện tượng giúp cho học sinh dễ nhận biết, tiếp thu tạo sự hứng thú với môn học
Có thể nói các ứng dụng tiềm năng của công nghệ hình ảnh 3D là vô hạn
và để làm được điều đó ta phải nắm được quy trình hiển thị ảnh 3D
1.2 Tái dựng hình ảnh 3D
Các đối tượng trong thế giới thực phần lớn là các đối tượng 3 chiều còn thiết bị hiển thị chỉ 2 chiều Muốn có hình ảnh 3 chiều ta cần giả lập bằng cách chuyển đổi từng bước Hình ảnh sẽ được hình thành từ từ, ngày càng chi tiết hơn
1.2.1 Sơ lược về quy trình hiển thị 3D
Quy trình xử lí thông tin trong đồ họa 3 chiều là chuỗi các bước nối tiếp nhau, kết quả của mỗi bước là đầu vào của bước tiếp theo
Quy trình bắt đầu bằng việc xây dựng các mô hình đối tượng trong không gian ba chiều (x, y, z) Các mô hình thường thể hiện vật thể (solid) hoặc bề mặt (boundaries) của đối tượng Như vậy có hai kiểu mô hình hóa
Trang 20Trong solid modeling các đối tượng đồ họa mô tả các đối tượng thể tích
(volume) Trong boundary representations(B-reps), các đối tượng được định
nghĩa bởi bề mặt
Các mô hình thường được biểu diễn trong hệ tọa độ đối tượng Trong hệ tọa độ này chỉ có đối tượng được định nghĩa, vì vậy gốc tọa độ và đơn vị đo
lường thường được chọn sao cho việc biểu diễn đối tượng tiện lợi nhất
Hình 1.1: Quy trình hiển thị đối tượng 3D
Các bước trong quy trình hiển thị đối tượng 3D được hiểu như sau:
Bước 1: biến đổi đối tượng từ không gian đối tượng (object-space) vào một không gian chung gọi là không gian thực (world space) Trong không
gian thực các đối tượng, nguồn sáng, và người quan sát cùng tồn tại
Bước 2 : loại trừ tất cả các đối tượng không thể nhìn thấy tránh xử lí một
số phần không cần thiết
Trang 21Hình 1.2: Loại bỏ các đối tượng không nhìn thấy
Bước 3: chiếu sáng (illumination) các đối tượng có thể nhìn thấy được bằng cách gán cho chúng màu sắc dựa trên các đặc tính của các chất tạo nên vật và các nguồn sáng tồn tại trong cảnh
Hình 1.3: Chiếu sáng đối tượng
Bước 4 : biến đổi hệ tọa độ quan sát (viewing position) về gốc tọa độ và mặt phẳng quan sát (viewing plane)
Hình 1.4: Chuyển đối tượng sang không gian quan sát
Trang 22Bước 5: loại bỏ hoàn toàn các đối tượng (các mảnh đối tượng) không nhìn thấy được trong ảnh
Hình 1.5: Loại bỏ đối tượng nằm ngoài view
Bước 6: chiếu các đối tượng xuống mặt phẳng hai chiều
Bước 7: chuyển đối tượng thành các pixel
Hình 1.6: Chuyển đối tượng thành pixel
Bước cuối cùng: toàn cảnh sẽ được hiển thị lên màn hình
Trang 23Hình 1.7: Hiển thị đối tượng
Để có thể thực hiện được các bước trong quy trình hiển thị đối tượng 3D
ta cần phải nắm rõ một số định nghĩa và cách biểu diễn về tái tạo khối
1.2.2 Lý thuyết về tái tạo khối (volume rendering)
Trong đồ hoạ máy tính, các đối tượng lập thể có thể được mô tả bằng các
bề mặt (surface) của chúng Ví dụ: hình lập phương được xây dựng từ sáu mặt phẳng, hình trụ được xây dựng từ sự kết hợp của một mặt cong và hai mặt phẳng, hình cầu được xây dựng từ một mặt cong[2]
Thông thường để biểu diễn một đối tượng bất kì, ta dùng phương pháp xấp xỉ để đưa các mặt về dạng các mặt đa giác (polygon face)
Voxel: điểm trong không gian 3 chiều có toạ độ (x, y, z) mô tả một vị trí trong không gian
Voxel là một tế bào khối có một giá trị duy nhất trong toàn bộ khối
Hình 1.8 : Voxel là một tế bào khối
Trang 24Voxel là một điểm dữ liệu tại một góc của các tế bào khối, giá trị của một điểm bên trong tế bào được xác định bởi nội suy
Hình 1.9 : Voxel là một điểm dữ liệu tại một góc của tế bào Typedef struct {
Trang 25 Đoạn thẳng trong không gian 3 chiều biểu diễn tổ hợp tuyến tính của 2 điểm
Để biểu diễn dạng tham số của đoạn thẳng , ta có:
Tia (Ray) : là một đoạn thẳng với một đầu nằm ở vô cực
Biểu diễn dạng tham số của tia:
Trang 26 Đa giác (Polygon) : là một vùng giới hạn bởi dãy các điểm đồng phẳng (các điểm được cho theo thứ tự ngược kim đồng hồ )
Các bảng dữ liệu mô tả mặt đa giác có thể chia thành 2 loại :
Bảng hình học: chứa toạ độ các đỉnh và các tham số cho biết định
hướng trong không gian của mặt đa giác
Bảng thuộc tính: chứa tham số mô tả độ trong suốt, tính phản xạ và
các thuộc tính kết cấu của đối tượng
Để lưu trữ thuận tiện các dữ liệu hình học là tạo ra 3 danh sách lưu các giá trị:
Đỉnh: các giá trị toạ độ cho mỗi đỉnh
Cạnh: chứa các con trỏ trỏ đến bảng đỉnh cho biết đỉnh nào nối với cạnh nào
Đa giác: chứa các con trỏ trỏ đến bảng lưu cạnh cho biết những cạnh tạo nên đa giác
Trang 27Phương trình biểu diễn mặt phẳng có dạng : Ax + By + Cz + D=0 (*)
Trong đó (x,y,z) là một điểm bất kì của mặt phẳng và A, B, C, D là các hằng số diễn tả thông tin không gian của mặt phẳng
Để xác định phương trình mặt phẳng ta cần xác định 3 điểm không thẳng hàng hay sử dụng toạ độ 3 đỉnh đầu tiên (x1, y1), (x2, y2), (x3, y3) của đa giác Hướng của mặt phẳng thường được xác định thông qua vector pháp tuyến của nó Vector pháp tuyến ⃗ = ( , , )
Hình 1.10: Vector pháp tuyến của mặt phẳng
Mô hình Wireframe: phương pháp thông dụng và đơn giản để mô hình hoá đối tượng là mô hình khung kết nối Mô hình khung kết nối gồm một tập các đỉnh và tập các cạnh nối với các đỉnh đó Khi thể hiện bằng mô hình này các đối tượng 3 chiều thường rỗng và tốc độ nhanh nên thường dùng vào việc
Trang 28phác thảo đối tượng Để hoàn thiện hơn ta dùng các kỹ thuật tạo bóng, và loại
bỏ các đường khuất và mặt khuất
Hình 1.11: vật thể 3 chiều được biểu diễn bằng khung kết nối
Ta vẽ các đối tượng theo mô hình khung kết nối bằng cách sử dụng các phép chiếu song song hay phép chiếu phối cảnh
Phương pháp chiếu : thực hiện chiếu từ không gian quan sát xuống không gian màn hình
Có 2 phương pháp chiếu : chiếu song song và chiếu phối cảnh
1.2.3 Tái tạo ảnh 3 chiều từ các lát cắt song song
Nguyên tắc chung của thiết bị cắt lớp là gửi các tương tác vật lý vào cơ thể để ghi nhận thông tin cấu trúc bên trong rồi tái tạo các thông tin này thành hình ảnh dưới dạng các lát cắt Đa số các thiết bị thu bố trí đầu dò để có thể dịch chuyển trên một trục thẳng, từ đó ta có các lát cắt song song
1.2.3.1 Một số thiết bị tạo lát cắt song song trong y tế
CT (Computer Tomography) [17]
Cơ sở lý thuyết của CT dựa trên thuật toán Randon được đưa ra năm
1917 Radon cho rằng hình ảnh của một vật thể có thể được tạo ra nếu chúng
Trang 29ta có một số những hình chiếu xuyên qua vật thể
Để tạo ra hình ảnh ta dùng một chùm tia X chiếu xuyên qua cơ thể bệnh nhân Có 2 dạng chùm là chùm tia song song (parallel beam) và chùm tia hình quạt (fan beam) Một bức ảnh cắt lớp ta cần khoản 800 tia chiếu theo nhiều góc khác nhau
Nếu tia X phát ra có cường độ I0 thì cường độ tia thu được trên các cảm biến sau khi đã đi qua cơ thể bệnh nhân là:
I t = I0.e -µt Với: t là độ dày lớp mô tia X đi qua
µ là hệ số suy giảm tuyến tính dọc theo tia
Khi đó ta có thể tính được:
µt = ln(I0/I)
Thông số này cho biết cấu trúc giải phẫu của mô
Sau khi có dữ liệu thô (các hình chiếu) ta dùng các thuật toán tái tạo CT (CT reconstruction algorithm) để tái tạo hình ảnh CT Thuật toán được sử dụng phổ biến hiện nay là filtered backprojection
Sau quá trình tái tạo CT mỗi pixel trên ảnh sẽ được gán một số thực (floating point number) Tuy các biểu diễn này rất thuận lợi cho tính toán nhưng lại không thuận lợi để biểu diễn vì hầu hết các phần cứng đồ họa đều dùng các ảnh số nguyên Do đó, sau quá trình tái tạo CT ảnh CT phải được chuẩn hóa (normalize) và làm tròn thành các số nguyên trước khi dùng để hiển thị và lưu trữ Các số nguyên đó còn gọi là các số CT (còn gọi là đơn vị Hounsfield, kí hiệu HU) Số CT của mỗi pixel được tính theo công thức sau:
CT(x, y) = 1000
Trang 30µ(x, y) là số thực tại pixel(x, y)
µ nuoc là hệ số suy giảm tuyến tính của nước (µnuoc = 0.195 cho hầu hết
các máy CT hiện nay.)
Sau khi chuẩn hóa số CT sẽ nằm trong khoảng -1000 đến 3000, trong đó -1000 đại diện cho không khí; mô mềm từ -300 đến -100; nước là 0; xương đặc và một số khu vực có tác nhân tạo tương phản số CT có thể lên tới 3000 Ảnh CT có độ tương phản cao đặc biệt là các mô cứng như xương Muốn quan sát rõ các mô mềm hay mạch máu cần tiêm thêm các chất cản quang vào
có thể bệnh nhân
MRI (Magnetic Resonance Imaging)
Khi được đặt trong một từ trường ngoài B0 thì một hạt nhân có thể có một trong 2I + 1 mức năng lượng (trong đó I là số spin của hạt nhân), mỗi mức năng lượng tương ứng:
E m = -γħB0m
m = -I, -(I-1), …, I-1, I
γ: tỉ số Larmor (tỉ số hồi chuyển từ, đơn vị: Hz/T)
ħ = h/2π, trong đó h là hằng số Plank
Khi hạt nhân chuyển mức năng lượng nó có thể phát ra một photon có năng lượng đúng bằng chênh lệnh giữa hai mức năng lượng Nếu hai mức năng lượng đó kế tiếp nhau thì tần số của photon có thể tính qua công thức Larmor Các thiết bị MRI hiện nay thường sử dụng từ trường cường độ 0,5 đến 1,5T với cường độ đó các hạt nhân hydro phát ra tín hiệu có bước sóng từ 21,3 MHz đến 63,9 MHz (nằm trong dải tần radio)
Để chuẩn mức năng lượng cho hạt nhân ta sử dụng các chuỗi xung radio (RF pulse sequence) Do tác dụng của các xung này các vectơ Mxy, Mz sẽ đổi
Trang 31hướng và trong quá trình hồi phục lại sẽ phát ra các photon, tín hiệu photon này được gọi là tín hiệu cộng hưởng từ (magnet resonance signal) Nguyên tắc thu tín hiệu dựa trên hiện tượng cảm ứng điện từ (định luật Faraday) cho biết một số thông tin trong cấu trúc của mạng
Tín hiệu cộng hưởng từ càng mạnh nếu mật độ photon càng cao Do đó ảnh MRI cho kết quả tốt với các loại mô mềm như não, tủy sống nhưng không
có hiệu quả cao với các loại mô cứng như xương
Siêu âm (ultrasound)
Trong phương pháp siêu âm ta thường dùng các tinh thể áp điện phát các xung siêu âm trong khoảng 1MHz đến 20 MHz xuyên qua mô, sau đó thu tín hiệu phản hồi trên các mô và tái tạo thành hình ảnh
Ảnh siêu âm có kết quả tốt với các mô thuộc vùng bụng như thai nhi, gan, thận… nhưng không hiệu quả với những loại mô xương và mô có chứa nhiều khí như phổi,…
Ảnh siêu âm có độ phân giải không cao tuy nhiên phương pháp này an toàn và máy móc gọn nhẹ nên được sử dụng rộng rãi
Do ảnh siêu âm có độ phân giải thấp nên kỹ thuật dựng ảnh 3D từ ảnh cắt lớp siêu âm phức tạp hơn so với ảnh cắt lớp CT và MRI
Các ảnh được sinh ra từ các máy sinh ảnh CT, MRI… là các ảnh 2D được lưu trữ dưới định dạng DICOM Ngày nay hầu hết các bệnh viện trên thế giới đều áp dụng DICOM vào trong các thiết bị y khoa
Trang 321.2.3.2 Chuẩn DICOM
DICOM (Digital Imaging and Communication in Medicine): Tiêu chuẩn ảnh và truyền thông trong y tế, được phát triển từ năm 1988, là qui chuẩn về định dạng và trao đổi ảnh y tế cùng các thông tin liên quan, từ đó tạo ra một phương thức chung nhằm đáp ứng nhu cầu của các nhà sản xuất cũng như người sử dụng trong việc kết nối, lưu trữ, trao đổi, in ấn ảnh y tế Một file ảnh DICOM ngoài dữ liệu hình ảnh còn chứa những thông tin dạng Text như: thông tin bệnh nhân, loại thiết bị chụp chiếu tạo ra hình ảnh….[4]
a Mục tiêu của chuẩn DICOM
Định ra ngữ nghĩa của lệnh và các dữ liệu liên quan, đưa ra các chuẩn cho các thiết bị tương tác lệnh và dữ liệu với nhau
Định ra ngữ nghĩa của dịch vụ file, định dạng file và các thư mục thông tin cần thiết cho truyền tin ngoại tuyến
Định rõ các yêu cầu thích nghi của ứng dụng thực hiện chuẩn, cụ thể một bản báo cáo thích nghi phải định ra đầy đủ thông tin để xác định các chức năng có thể đáp ứng
Tạo thuận lợi cho hoạt động trong môi trường mạng thông tin
Có cấu trúc thuận lợi cho phép đáp ứng với các dịch vụ mới, vì thế có thể hỗ trợ các ứng dụng hình ảnh y tế trong tương lai
b Cấu trúc của chuẩn ảnh DICOM
Các thành phần của định dạng DICOM
- Thích nghi: Định nghĩa các nguyên tắc thực thi chuẩn gồm các yêu cầu thích nghi và báo cáo thích nghi CS (Conformance Statement)
- Định nghĩa đối tượng thông tin IOD (Information Object Definition)
- Định nghĩa lớp dịch vụ SC (Service Classes)
Trang 33- Ngữ nghĩa và cấu trúc dữ liệu
- Từ điển dữ liệu
- Trao đổi bản tin
- Hỗ trợ truyền thông mạng cho việc trao đổi bản tin
- Định dạng file và lưu trữ trung gian
- Sơ lược ứng dụng lưu trữ trung gian
- Chức năng lưu trữ và Định dạng trung gian cho trao đổi dữ liệu
- Chức năng hiển thị chuẩn mức xám
- Sơ lược an toàn
- Nguồn ánh xạ nội dung
APPLICATION File Transfre, Email, HTTP Upper
Layers
NETWORK Internetworking DATA LINK LLC, MAC Ethernet, FDDI,… PHYSICAL Fiber, Coax, UTP
Hình 1.12: DICOM và mô hình tham chiếu OSI
Trang 34 Định dạng file DICOM : gồm 2 phần là header và dữ liệu ảnh
Header
- Tên và ID của bệnh nhân
- Loại ảnh y khoa (CT, MR, Audio Recording,…)
- Kích thước ảnh, máy sinh ảnh, …
Ví dụ:
Hình 1.13: Thông tin file DICOM Trong hình 1.13: 794 bytes định dạng Header DICOM, mô tả kích thước ảnh và các thông tin ảnh Để biết được kích thước ảnh ta dựa vào thông tin của Frames, Rows và Columns trong phần Header
Hình 1.14 là ví dụ về một ảnh MRI với số Frames, Rows, Columns tương ứng được chụp: 109 x 91 x 2 = 19838 bytes Như vậy ta sẽ tính được kích thước của ảnh
Trang 35Hình 1.14: Một số trường của ảnh DICOM
Dữ liệu ảnh
- Ảnh nén (bitmap) hoặc ảnh chưa nén từ (jpeg, gif, …)
- Định nghĩa đối tượng thông tin IOD (Information Object Definition)
- Định nghĩa lớp dịch vụ SC (Service Classes)
- Ngữ nghĩa và cấu trúc dữ liệu
- Từ điển dữ liệu
- Trao đổi bản tin
- Hỗ trợ truyền thông mạng cho việc trao đổi bản tin
- Khuôn dạng file và lưu trữ trung gian
- Sơ lược ứng dụng lưu trữ trung gian
Trang 36- Chức năng lưu trữ và khuôn dạng trung gian cho trao đổi dữ liệu
- Chức năng hiển thị chuẩn mức xám
- Sơ lược an toàn
- Nguồn ánh xạ nội dung
Khuôn dạng DICOM
Thông tin đầu file (Header):
gồm các định danh bộ dữ liệu được
đưa vào file Nó bắt đầu bởi 128 byte
file Preamble (tất cả được đưa về 00H),
sau đó 4 byte kí tự “DICM”, tiếp theo là
các thành phần dữ liệu đầu file Các
thành phần dữ liệu đầu file này là bắt
buộc Các thành phần dữ liệu này có
nhãn dạng (0002, xxxx), được mã hóa
theo cú pháp chuyển đổi VR ẩn và Little
Endian
Hình 1.15: Cấu trúc file DICOM
Bộ dữ liệu: Mỗi file chỉ chứa một bộ dữ liệu thể hiện SOP cụ thể và duy nhất liên quan đến một lớp SOP đơn và IOD tương ứng Một file có thể chứa nhiều hình ảnh khi các IOD được xác định mang nhiều khung Cú pháp chuyển đổi được sử dụng để mã hóa bộ dữ liệu được xác định duy nhất thông qua UID cú pháp chuyển đổi trong thông tin đầu file DICOM Thông tin quản lý file : Khuôn dạng file DICOM không bao gồm thông tin quản lý file để tránh sự trùng lắp với chức năng liên quan ở lớp khuôn
Trang 37dạng trung gian Nếu cần thiết các thông tin sau sẽ được đưa ra bởi một lớp khuôn dạng trung gian :
Định danh sở hữu nội dung file
Thông tin truy cập (ngày giờ tạo)
Điều khiển truy cập file ứng dụng
Điều khiển truy cập phương tiện trung gian vật lý (bảo vệ ghi …) Khuôn dạng file DICOM an toàn: Một file DICOM an toàn là một file DICOM được mã hóa với một cú pháp bản tin mật mã được định nghĩa trong RFC2630 Phụ thuộc vào thuật toán mật mã sử dụng, một file DICOM an toàn
có thể có các thuộc tính an toàn sau :
Bảo mật dữ liệu
Xác nhận nguồn gốc dữ liệu
Tính toàn vẹn dữ liệu
Cấu trúc căn bản của file DICOM là Data Set
Hình 1.16: Cấu tạo Data Set
Trang 38Bảng 1.1 : Các khái niệm trong DICOM
Data Set Là tập hợp nhiều Data Element trong một file
DICOM
Data Element Là một đơn vị thông tin trong DICOM file Các field
trong Data Element mô tả đầy đủ thông tin gồm: ý nghĩa, giá trị, chiều dài và định dạng dữ liệu của tin
Tag Là 2 số nguyên không dấu, mỗi số 16 bit Xác định ý
nghĩa của Data Element như tên bệnh nhân, chiều cao của ảnh, số bit màu, … Một số xác định Group Number và số kia xác định Element Number
Các thông tin (Data Element) cùng liên quan đến một nhóm ngữ nghĩa có chung Group Number
VR (Value
Representation)
Đây là field tùy chọn, tùy vào giá trị của Transfer Syntax mà VR có mặt trong Data Element hay không Giá trị của VR cho biết kiểu dữ liệu và định dạng giá trị của Data Element
Trang 39 Với chuỗi kí tự, dùng kí tự 5Ch (‘\’) làm kí tự
phân cách
Với giá trị nhị phân, không có kí tự phân cách
Value Length Là một số nguyên không dấu, có độ dài là 16 hay 32
bit Giá trị của Value Length cho biết độ lớn (tính theo byte) của field Value Field (không phải là độ lớn của toàn
bộ Data Element)
Giá trị của Value Length là FFFFFFFFh (32 bit) hàm
ý không xác định được chiều dài (Undefined Length)
Value Field Là nội dung thông tin (Data Element) Kiểu dữ liệu
của field này do VR quy định và độ lớn (tính theo byte) nằm trong Value Length
Transfer
Syntax
Transfer Syntax là các quy ước định dạng dữ liệu Giá trị của Transfer Syntax cho biết cách dữ liệu được định dạng và mã hóa trong DICOM đồng thời cũng cho biết VR
sẽ có tồn tại trong Data Element hay không
Mặc định ban đầu, Transfer Syntax của file DICOM
là Explicit VR Little Endian Transfer Syntax
Có 2 loại IOD:
Composite IOD: là IOD đại diện cho những
phần khác nhau của các đối tượng khác nhau trong
Trang 40thế giới thực
Normalized IOD: là IOD cho duy nhất một
đối tượng trong thế giới thực
Lớp Normalized SOP: được tạo ra khi ghép
Normalized IOD với các dịch vụ DIMSE-N
Lớp Composite SOP: được tạo ra khi ghép
Composite IOD với các dịch vụ DIMSE-C
Thứ tự của chuỗi byte: một giá trị sẽ được lưu thành một hay nhiều byte
Có 2 quy ước quy định thứ tự xuất hiện của các byte trong file DICOM
Bảng 1.2 : quy ước quy định thứ tự xuất hiện của các byte trong file DICOM Little Endian Đối với số nhị phân gồm nhiều byte thì byte có
trọng số thấp nhất (Least Significant Byte) sẽ nằm trước, những byte còn lại có trọng số tăng dần nằm tiếp sau đó Đối với chuỗi kí tự, các kí tự sẽ nằm theo thứ tự xuất hiện trong chuỗi (từ trái sang phải)
Big Endian Đối với số nhị phân gồm nhiều byte thì byte có
trọng số lớn nhất (Most Significant Byte) sẽ nằm trước, những byte còn lại có trọng số giảm dần nằm tiếp sau Đối với chuỗi kí tự, các kí tự sẽ nằm theo thứ tự xuất hiện trong chuỗi (từ trái sang phải)