So sánh tốc độ của Raycasting và Raycasting cải tiến sử dụng

Một phần của tài liệu Nghiên cứu kỹ thuật tái tạo ảnh 3 chiều trong y khoa và ứng dụng luận văn thạc sĩ (Trang 74)

cấu trúc phân cấp không gian

Ray casting cải tiến sử dụng cấu trúc phân cấp không gian tối ưu bằng cách lưu trữ các thông tin thống nhất trong không gian trống. Khi tia chiếu qua những không gian trống thì có thể bỏ qua mà không cần phải tính toán. Điều này sẽ làm cho thời gian xử lý được rút ngắn vì chúng ta có thể chiếu tia xa hơn tiết kiệm được nhiều thời gian.

Cho khối dữ liệu CT hàm và da có kích thước 256x128x59 và sử dụng 2 kỹ thuật Ray casting và ray casting cải tiến để tái dựng lại hình ảnh 3D. Thời gian tái dựng khi sử dụng 2 kỹ thuật này là:

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

Tên kỹ thuật Thời gian /[s]

Ray casting 293

Ray casting cải tiến sử dụng phân cấp

không gian dữ liệu 94

Nhận xét : Ray casting và Ray casting cải tiến sử dụng cấu trúc phân cấp không gian có ảnh đầu ra như nhau nhưng thời gian tính toán khi sử dụng cấu trúc phân cấp không gian là ít hơn. Do đó việc sử dụng Ray casting cải tiến cấu trúc phân cấp không gian dữ liệu tối ưu hơn.

Chương 3: CHƯƠNG TRÌNH THỬ NGHIỆM 3.1 Bài toán

Ngày nay, công nghệ hình ảnh 3D đang thu hút sự chú ý của nhiều người và lĩnh vực y học cũng không phải là một ngoại lệ. Nhiều bác sĩ cũng đang cố gắng tận dụng công nghệ mới này để điều trị bệnh. Với sự phát triển của kỹ thuật chụp CT, MRI 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. CT – chụp cắt lớp là một trong những phương tiện hỗ trợ chấn đoán bệnh chấn thương sọ não và các khối u trong nội tạng của cơ thể. MRI – cộng hưởng từ cho thấy các cấu trúc mô mềm rõ ràng đến từng thớ thịt, từng miếng sụn nhỏ trong khớp hay từng thương tổn nhỏ trong não. Với các phương pháp chụp cắt lớp (CT) hay chụp cộng hưởng từ (MRI), những tín hiệu tự có trong cơ thể, những thay đổi do khác biệt về cấu trúc hay do bệnh lý,… tất cả đều được ghi nhận, tái tạo thành ảnh và in ra phim.

Trong công tác chẩn đoán và điều trị , các bác sĩ vừa phải nhìn vào những hình ảnh 2D, vừa phải tưởng tượng hình ảnh đó sẽ như thế nào trong không gian 3 chiều, điều đó đã gây không ít khó khăn cho họ. Việc ứng dụng công nghệ dựng hình ảnh 3D từ các lát cắt sẽ giúp cho các bác sĩ có thể nhìn được hình ảnh 3 chiều của đối tượng rõ nét ngay lập tức. Trên không gian 3 chiều, các bác sĩ còn có thể quan sát được những thương tổn hay khối u ở nhiều góc độ, giúp tầm soát tốt tất cả các loại bệnh. Điều này chắc chắn sẽ nâng cao hiệu quả, tăng độ chính xác trong việc chẩn đoán và điều trị cho bệnh nhân.

Bài toán đặt ra là với những lát cắt song song thu được từ việc chụp CT, MRI, … chương trình ứng dụng sẽ tiến hành xử lý, tính toán và cuối cùng cho ra kết quả là hình ảnh 3D của đối tượng đấy. Do tầm quan trong công tác điều

trị, tái dựng lại hình ảnh 3D từ những lát cắt song song đòi hỏi hình ảnh kết quả phải có độ chính xác, và chất lượng hình ảnh cao.

Có nhiều phương pháp tiếp cận để tái dựng ảnh 3D từ các lát cắt song song trong y tế tiêu biểu là những kĩ thuật liệt kê ở chương 2. Trong đó:

1. Kỹ thuật Ray casting là thuật toán được sử dụng nhiều nhất vì dễ thực hiện và cung cấp kết quả chất lượng rất cao- được cho là cung cấp chất lượng hình ảnh tốt nhất. Cho phép người sử dụng có thể xem cả các phần bị che khuất và cả những chi tiết nhỏ nhất. Nhược điểm là thời gian xử lý lâu cũng như yêu cầu về phần cứng.

2. Kỹ thuật Shear warp: chất lượng hình ảnh đầu ra thấp nhưng có thời gian thực hiện nhanh.

3. Kỹ thuật Marching cubes: là một trong những thuật toán tốt để tái tạo bề mặt từ dữ liệu khối cho ảnh có độ phân giải cao. Tuy nhiên nó có thể để lại các lỗ trên bề mặt

 So sánh thời gian thực hiện của kỹ thuật Marching cubes và Ray casting[4]:

Cho khối dữ liệu MRI đầu người có độ kích thước 258x258x126. Ta sử dụng 2 kỹ thuật Ray casting và Marching cubes để cùng tái dựng lại khối dữ liệu trên với cùng điều kiện môi trường: nguồn sáng, thuộc tính, phép chiếu song song để hiển thị và mặt phẳng quan sát có kích thước 258x258.

Kỹ thuật Ray casting:

Thời gian thực hiện : 17,5 giây

Những mẫu duyệt qua : 6.890.357 mẫu Những mẫu đóng góp : 841.856 mẫu

Bộ nhớ : 8.654.344 bytes Kỹ thuật Marching cubes :

Thời gian thực hiện : 165,3 giây Số lượng đỉnh : 1.603.683 đỉnh

Số lượng tam giác : 3.134.660 tam giác Những cell đóng góp : 1.667.569 cell Bộ nhớ : 84.491.376 bytes

Nhận xét : Nhìn chung thời gian thực hiện và bộ nhớ sử dụng cho kỹ thuật Marching cubes lớn hơn nhiều so với kỹ thuật Ray casting do số lượng đỉnh và số lượng tam giác phát sinh trong quá trình tín toán. Tuy nhiên với mặt phẳng quan sát có kích thước lớn thì kỹ thuật Ray casting sẽ tăng đáng kể thời gian tái dựng ảnh còn kỹ thuật Marching cubes thì hầu như không.

 So sánh thời gian thực hiện của kỹ thuật Ray casting và Shear warp[9]:

Cho khối dữ liệu ảnh CT có kích thước 320x320x119. Mặt phẳng hiển thị có kích thước 320x320

Bảng 3.1 Thời gian tái dựng của Ray casting và Shear warp

Kỹ thuật Thời gian /[s]

Ray casting 26,5

Shear warp 8,4

Nhận xét : do tính đơn giản trong giải thuật Shear warp nên thời gian thực hiện tái dựng ảnh nhanh hơn nhiều so với kĩ thuật Ray casting vì vậy chất lượng ảnh đầu ra cũng thấp.

Mỗi phương pháp đều có những ưu và nhược điểm riêng nên tùy vào ứng dụng và yêu cầu cụ thể để có thể chọn ra một giải pháp phù hợp. Đối với tái tạo ảnh 3D trong y tế thì điều quan trọng nhất là chất lượng hình ảnh tốt để bác sĩ chẩn đoán bệnh, do đó thuật toán Ray Casting phù hợp nhất với yêu cầu đề bài đặt ra là cho ra hình ảnh đầu ra rõ nét và độ chính xác cao, tuy vậy giải thuật này có nhược điểm là tốc độ chậm và yêu cầu phần cứng cao. Tuy nhiên để khắc phục những nhược điểm đấy tác giả đề xuất :

Về tốc độ, tác giả dựa trên giải thuật Ray casting cải tiến phân cấp không gian dữ liệu để tăng tốc cho thuật toán.

Về yêu cầu cấu hình, với cấu hình chung hiện nay thì đã dư đủ để đáp ứng yêu cầu của thuật toán.

Tác giả sử dụng giải thuật Ray casting có cải tiến kết hợp với bộ công cụ mã nguồn mở VTK để xây dựng ứng dụng và được cài đặt thực nghiệm tại Bệnh viện Đa khoa Đồng Nai

3.2 Giới thiệu bộ công cụ mã nguồn mở VTK

VTK là một bộ công cụ mã nguồn mở được xuất bản lần đầu năm 1994, hiện tại VTK đang được quản lý và phát triển bởi Kitware Inc. VTK có thể ứng dụng vào đồ họa 3D và trực quan hóa. VTK cung cấp hàng trăm hàm, thuật toán xử lý ảnh và trực quan hóa, VTK được thiết kế theo hướng đối tượng dựa trên nên ngôn ngữ C++, do đó có thể phát triển được cho các ngôn ngữ khác như Tcl/Tk, Python, Java [18]… VTK được thiết kế để có thể chạy trên nhiều hệ điều hành Unix, Windows, Max OS [18].

Phiên bản VTK mới nhất 5.6 có trên 600 lớp với khoảng hơn 325.000 dòng mã lệnh. Việc sử dụng VTK tuân theo các quy định chung của thế giới về sử dụng mã nguồn mở.

3.2.1 Cấu trúc một ứng dụng VTK

VTK tương tác với phần cứng thông qua OpenGL/Mesa. Sơ đồ tương tác VTK với phần cứng.

+ Tcl/Tk shell + Tcl/Tk source + Java interpreter + Java JDK + Python interpreter + Python source

Nhân core (C++) File thư viện

và các file tiêu đề ( .dll file và .h file) Tất cả các lớp trong mã nguồn (khối dữ liệu sẽ rất lớn) Cấu trúc chương trình ứng dụng VTK

Sơ đồ trên giới thiệu cấu trúc của một chương trình ứng dụng VTK. Nếu chỉ muốn kế thừa các lớp từ VTK ta có thể xây dựng phần mềm theo kiểu “binary”. Ở hướng khác ta có thể chỉnh sửa mà nguồn trong VTK.

3.2.2 Mô hình đối tượng (Object model)

Mô hình đối tượng của VTK gồm 2 thành phần: mô hình đồ họa (graphics model) và mô hình trực quan hóa (visualization model) [18].

Mô hình đồ họa: là mô hình cho đồ họa 3D. Mô hình này dựa trên các hệ thống đồ họa đã được sử dụng rộng rãi. Có 9 đối tượng cơ bản trong mô hình đồ họa của VTK:

1. Render Master: định vị thiết bị và tạo render window. Nó độc lập với phương pháp

Một hoặc nhiều renderer cùng vẽ trong một render window để tạo nên một cảnh.

3. Renderer: xác định cách biểu diễn của light, camera và actor. 4. Light: chiếu sáng actor trong cảnh.

Hình 3.1: Mô hình đồ họa của VTK

5. Camera: Xác định vị trí nhìn, tiêu điểm và các thông số khác của camera.

6. Actor: Actor xác định thời gian hoạt động của đối tượng mapper, property và transform.

7. Property: Xác định các thuộc tính của Actor như màu sắc, ánh sáng, texture map, kiểu vẽ…

8. Mapper: Xác định dạng hình học của actor.

9. Transform: Đối tượng này gồm một ma trận biến đổi 4x4 cùng các phương thức để thay đổi ma trận. Nó xác định vị trí và định hướng của actor, camera và light.

Mô hình trực quan hóa là mô hình dòng chảy dữ liệu (data flow, pipeline) trong quy trình trực quan hóa. Mô hình trực quan hóa của VTK dựa

trên những mô hình đã được sử dụng trong các hệ thống thương mại.

Hình 3.2 : Mô hình trực quan hóa của VTK

Các đối tượng xử lý (source, filter, mapper) nhận hoặc xuất ra một hay nhiều đối tượng dữ liệu (Data object). Đối tượng dữ liệu biểu diễn và cung cấp các phương thức truy cập dữ liệu;đối tượng xử lý thực hiện trên dữ liệu.

Trong mô hình trực quang hóa có 2 loại đối tượng cơ bản là đối tượng xử lý (process object) và đối tượng dữ liệu (data object) như hình trên.

Đối tượng xử lý: là các module hoặc thuật toán. Đối tượng xử lý có thể chia làm 3 loại: sources, filter và mapper.

Đối tượng dữ liệu: là các tập dữ liệu (dataset). Trong VTK có 6 loại dữ liệu

Hình 3.3 : Các tập dữ liệu của VTK

3.3 Kết quả đạt được

Chương trình được xây dựng bằng Visual C++ .NET, ứng dụng các thư viện trong bộ mã nguồn mở VTK như đã được giới thiệu trong mục 3.2. Chương trình cho phép người sử dụng chọn tập dữ liệu ảnh y tế DICOM của bệnh nhân được lưu trữ trên một thư mục và tái tạo các tập ảnh 2D này thành ảnh 3D, người dùng có thể xem kết quả ảnh 3D của tập dữ liệu ấy dưới nhiều góc độ khác nhau bằng cách dùng chuột để thay đổi góc nhìn.

Ngoài ra, ứng dụng còn cho phép người dùng chọn nhiều tập dữ liệu DICOM khác nhau để tái tạo cùng lúc, ứng dụng sẽ tái tạo các tập DICOM này trên nhiều cửa sổ khác nhau. Việc này có thể giúp cho các bác sĩ dựa trên những ảnh 3D đấy để so sánh (như ảnh 3D không có bệnh và ảnh 3D của bệnh nhân) và đưa ra chẩn đoán tốt nhất.

Giao diện chính của chương trình

Người dùng chọn thư mục File => Load DICOMs để chọn đường dẫn đến thư mục chứa những tập tin DICOM

Hình 3.6: Chọn thư mục chứa tập DICOM.

Kết quả ứng dụng sẽ tái tạo ảnh 3D sau khi chọn tập dữ liệu DICOM

Bác sĩ có thể xoay hình theo nhiều hướng để khảo sát tình trạng bệnh Một số kết quả chương trình đạt được

Chương trình thử nghiện trên máy có cấu hình: Core 2 Duo 1.8 GHz, RAM 2Gb. Với cấu hình hiện tại thì chương trình chạy khá tốt và ổn định.

Giao diện thân thiện dễ sử dụng, chương trình được xây dựng bằng Visual Basic C++ .NET, do đó có thể cài đặt và sử dụng trên các hệ điều hành Windows khác nhau. Dữ liệu đầu vào là dữ liệu thường gặp trong thực tế ảnh theo định dạng DICOM. Chương trình chạy thử nghiệm với tập ảnh DICOM được cung cấp từ Bệnh viện Đa khoa Đồng Nai.

Chương trình cho phép tái tạo nhiều tập ảnh DICOM cùng lúc, để có thể dễ dàng theo dõi và so sánh, có thể hỗ trợ tốt hơn trong việc chẩn đoán hình ảnh y tế.

PHẦN KẾT LUẬN Kết quả đạt được của luận văn

Có thể nói hình ảnh đặc biệt là hình ảnh 3D ngày càng chiếm vai trò quan trọng trong việc chẩn đoán và điều trị, nghiên cứu về hình ảnh y tế là một lĩnh vực quan trọng của ngành kỹ thuật y sinh. Việc nghiên cứu các giải pháp và thuật giải trong việc tái dựng hình ảnh 3 chiều trong y khoa để từ đó có thể xây dựng một lý thuyết và ứng dụng phục vụ trong công tác điều trị bệnh được tốt hơn là thật cần thiết.

Trên thế giới tái tạo ảnh 3D đã có những bước tiến rất xa do đã đượ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 3D từ các lát cắt, các gói phần mềm này thường phải được cài đặt trên máy tính hệ thống của nhà sản xuất và có giá thành khá đắt.

Tại Việt Nam, nghiên cứu trong lĩnh vực phần mềm và xử lý hình ảnh y tế còn khá mới mẻ. Đây là lĩnh vực khá quan trọng của ngành kỹ thuật y sinh nhưng cũng chỉ có một vài nghiên cứu nhỏ. Nổi bật nhất có VDoctor (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 biệt gần như không có tài liệu nghiên cứu về lĩnh vực này bằng tiếng Việt.

Cùng với xu thế đó và dựa trên nhu cầu thực tế, luận văn này mong muốn nêu ra những lý thuyết cũng như các kỹ thuật tái tạo ảnh 3D từ các ảnh cắt lớp nói chung, và từ các lát cắt song song nói riêng. Dựa trên những đề xuất đã có trong lĩnh vực nghiên cứu về tái tạo ảnh 3D, luận văn đã tổng hợp, phân tích những nét chính về các kỹ thuật tái tạo ảnh 3D cùng với ưu nhược điểm và cải tiến. Trong đó luận văn tập chung vào giải thuật Ray casting và cải tiến giải thuật này.

Những nội dung thực hiện trong luận văn

 Tìm hiểu tổng quan những vấn đề chung liên quan tới việc tái dựng hình ảnh 3D trong y tế.

 Nghiên cứu về cấu trúc ảnh y khoa DICOM.  Tìm hiểu về tái tạo khối (volume rendering)  Các lý thuyết về tái tạo khối.

 Nghiên cứu, phân tích các giải pháp và thuật toán trong tái tạo ảnh y khoa, đặc biệt là phương pháp tái tạo ảnh 3 chiều từ các lát cắt song song.

 Đưa ra giải pháp phù hợp và xây dựng ứng dụng minh hoạ tái tạo ảnh 3 chiều từ các lát cắt song song.

 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.

Trong quá trình thực hiện luận văn, tác giả đã cố gắng tập trung nghiên cứu các kỹ thuật tái tạo ảnh 3D từ các lát căt cũng như đã tham khảo khá nhiều tài liệu liên quan. Tuy nhiên, do thời gian và trình độ có hạn nên không tránh khỏi những hạn chế và thiếu sót nhất định. Tác giả thật sự mong muốn nhận được những gợi ý cả về chuyên môn lẫn cách trình bày để luận văn có thể hoàn thiện hơn.

Hướng phát triển:

 Tiếp tục nghiên cứu các phương pháp tái tạo ảnh 3 chiều với các dạng ảnh cắt lớp khác như cắt lớp xuyên tâm, cắt lớp tự do. Nghiên cứu đặc tính của các loại ảnh cắt lớp để đưa ra phương án tái tạo tốt nhất cho

Một phần của tài liệu Nghiên cứu kỹ thuật tái tạo ảnh 3 chiều trong y khoa và ứng dụng luận văn thạc sĩ (Trang 74)