Đọc hình ảnh dicom trong python
Trong hướng dẫn này, tôi sẽ hướng dẫn từng bước về cách áp dụng các phương pháp phân cụm thống kê, thuật toán đồ họa máy tính và kỹ thuật xử lý hình ảnh cho hình ảnh y tế để giúp hiểu và trực quan hóa dữ liệu ở cả 2D và 3D (tất cả mã . ) Show Bước 1. Cài đặt các gói cần thiết Hai cách phổ biến để cài đặt các gói là sử dụng conda hoặc pip. Cá nhân tôi nghĩ. tại sao không phải cả hai?
*GHI CHÚ. Để sử dụng cốt truyện, bạn sẽ cần phải. (1. ) Cài đặt tất cả các gói/tiện ích mở rộng cần thiết theo các hướng dẫn sau. (2. ) đăng ký tài khoản miễn phí và kích hoạt khóa của bạn theo các hướng dẫn này (chỉ đọc phần 'Khởi tạo cho âm mưu trực tuyến') Bước 2. Đang tải dữ liệu DICOMchúc mừng. Bạn đã vượt qua phần tồi tệ nhất… cài đặt các gói. Đối với phần còn lại của hướng dẫn, tôi sẽ sử dụng máy quét CT ngực và sẽ chạy các tập lệnh của mình trên máy tính xách tay jupyter Trước tiên, hãy nhập các gói cần thiết # common packages Tiếp theo, hãy tải hình ảnh DICOM của bạn def load_scan(path): Chạy đoạn mã sau để trích xuất các pixel DICOM cho từng vị trí lát cắt và hiển thị một lát cắt duy nhất # set path and load files Hãy sử dụng một số thao tác phân ngưỡng và hình thái học để chỉ phân chia phổi từ lồng ngực def largest_label_volume(im, bg=-1): Bằng cách chạy mã bên dưới, bạn đang sử dụng các chức năng đọc lướt từ phía trên để tạo mặt nạ che phủ phổi. Chúng tôi sẽ sử dụng cả fill_lung_structures=True và fill_lung_structures=False, để cô lập phổi và các cấu trúc bên trong. Hãy chạy mã bên dưới và hiển thị một ví dụ về cách ly phổi khỏi ngực # get masksSegmented Lung (vẫn duy trì các giá trị pixel HU ban đầu) Nếu nó trông như thế này, thì hoàn hảo. Bạn vừa tách phổi ra khỏi phần còn lại của quá trình quét. Đừng lo lắng về mặt nạ, tôi sẽ cho bạn thấy một số hình dung sau Phương pháp mạnh mẽ để trích xuất các tính năng bằng cách sử dụng GK ClusteringTại sao chỉ dừng lại ở lá phổi? . Tùy thuộc vào nhiệm vụ nhất định của bạn, bạn có thể muốn phân tích các khu vực quét cụ thể hơn. Một cách khả thi để làm điều này là sử dụng GK Clustering class GK: Bây giờ, hãy chỉ phân đoạn một vài lát cắt (5 trong số đó) bằng cách sử dụng lớp GK Clustering và hiển thị một trong số chúng # cluster slices (#324 - #328)Cấu trúc bên trong của phổi Chỉ các cấu trúc bên trong. Hơi ngầu nhỉ? Không tương tácKhi trực quan hóa dữ liệu, tôi thấy rất hữu ích khi trực quan hóa từng quy trình trong tập lệnh của bạn. Điều này không chỉ giúp bạn hiểu từng bước mã của mình mà còn tạo ra một bản trình bày rất đẹp, rõ ràng Về bản chất, đoạn mã dưới đây sẽ truyền tải một cách trực quan câu chuyện về cách bạn phân đoạn dữ liệu của mình. (1. ) ảnh gốc > (2. ) mặt nạ nhị phân bao phủ phổi > (3. ) làm nổi bật các cấu trúc bên trong phổi bằng cách sử dụng một trong các mặt nạ > (4. ) trích xuất các cấu trúc bên trong bằng phân cụm GK # pick random slice tương tácThực sự chỉ có một số cách để hiển thị nhiều hình ảnh trên máy tính xách tay jupyter - vẽ từng hình ảnh theo cách thủ công hoặc tạo một biểu đồ có nhiều cột và hàng để hiển thị trong một hình. Thật không may, điều này không hữu ích cho những người muốn quét qua từng hình ảnh và hiểu rõ hơn về dữ liệu. Với mã bên dưới, bạn tạo một thanh trượt tương tác cho phép bạn cuộn qua các hình ảnh ________số 8Bước 5. Kỹ thuật hình ảnh 3DTrong hình ảnh y tế, người ta thường sử dụng thuật toán đồ họa máy tính được gọi là Marching Cubes để trích xuất một bề mặt từ dữ liệu ba chiều. Trong trường hợp của chúng tôi, chúng tôi sẽ sử dụng biện pháp chức năng tích hợp của skigage. hành quân_cubes_lewiner không tương tácCho dù bạn đang áp dụng mạng thần kinh tích chập 2D hay 3D cho tập dữ liệu của mình, thì vẫn có những lợi ích khi xem dữ liệu DICOM của bạn ở chế độ 3D. Nói một cách triết học, nếu bạn muốn thuật toán của mình hiểu rõ về dữ liệu để thực hiện theo cách bạn muốn — thì bạn cũng nên hiểu rõ def plot_3d(image): Khá tuyệt phải không? tương tácVì việc tạo biểu đồ 3D tương tác có thể mất một chút thời gian (nếu bạn cung cấp nhiều dữ liệu), tốt nhất nên sử dụng điều này khi bạn đã tách riêng một vùng cụ thể trong quá trình quét của mình. Ví dụ: có thể bạn đã tìm thấy một tính năng bất thường trong hình ảnh của mình và bạn muốn tương tác với nó ở chế độ 3D Mã bên dưới hiển thị một ví dụ về cắt xén một vùng cụ thể, thu được các lát lân cận (để chúng tôi có thể thu được nhiều lần quét 2D để tạo thành một khối 3D) và vẽ đồ thị tương tác trong 3D def load_scan(path):0 Bây giờ, hãy sử dụng các chức năng của trình trợ giúp, cùng với gk_clustered_imgs để cắt bỏ một số vùng và hiển thị nó trông như thế nào trong 3D tương tác (bên dưới chỉ là một hình ảnh, nhưng trong sổ ghi chép của bạn, bạn có thể nhấp và di chuyển nó xung quanh, lol) def load_scan(path):1Sự kết luận chết tiệt. Bạn vừa lập trình mã không-không-không-ghê-tồi nhất liên quan đến các phương pháp phân cụm thống kê, thuật toán đồ họa máy tính và xử lý hình ảnh. Chúng tôi thậm chí không cần sử dụng những từ buzz lớn để làm cho nó nghe hay hơn;) Làm cách nào để xem hình ảnh DICOM từ đĩa CD?Trình xem DICOM RadiAnt . Đưa đĩa có nghiên cứu DICOM vào ổ đĩa CD/DVD. . Chạy RadiAnt DICOM Viewer bằng cách nhấp đúp vào biểu tượng trên màn hình của nó Nhấp vào nút CD/DVD trên thanh công cụ trong cửa sổ chính (nút này bị ẩn khi không phát hiện thấy ổ đĩa CD/DVD) hoặc sử dụng phím tắt Ctrl + Alt + O MATLAB có thể đọc DICOM không?MATLAB ® hỗ trợ đọc và ghi các tệp DICOM , cũng như làm việc với hình ảnh DICOM . Bạn có thể trích xuất và xử lý dữ liệu hình ảnh bằng các chức năng của hộp công cụ và bạn có thể tìm kiếm và cập nhật các thuộc tính siêu dữ liệu.
Chương trình nào có thể xem các tệp DICOM?Chúng tôi thích WEASIS vì đây là trình xem DICOM mạnh mẽ, mã nguồn mở và đa nền tảng. Nó rất dễ sử dụng với nhiều chức năng và có thể cung cấp quyền truy cập dựa trên web vào các hình ảnh X quang. Truy cập trang web WEASIS để tải xuống trình xem WEASIS DICOM. |