Mục lục:

Sử dụng Ngưỡng cường độ thang màu xám thay đổi để hình dung và xác định các điểm bất thường trong hình ảnh chụp X quang: 9 bước
Sử dụng Ngưỡng cường độ thang màu xám thay đổi để hình dung và xác định các điểm bất thường trong hình ảnh chụp X quang: 9 bước

Video: Sử dụng Ngưỡng cường độ thang màu xám thay đổi để hình dung và xác định các điểm bất thường trong hình ảnh chụp X quang: 9 bước

Video: Sử dụng Ngưỡng cường độ thang màu xám thay đổi để hình dung và xác định các điểm bất thường trong hình ảnh chụp X quang: 9 bước
Video: [ X QUANG XƯƠNG KHỚP ] - X QUANG CỘT SỐNG 2024, Tháng mười hai
Anonim
Sử dụng Ngưỡng cường độ thang màu xám thay đổi để hình dung và xác định các điểm bất thường trong hình ảnh chụp X quang
Sử dụng Ngưỡng cường độ thang màu xám thay đổi để hình dung và xác định các điểm bất thường trong hình ảnh chụp X quang

Mục đích của dự án này là xác định và sử dụng một tham số để xử lý hình ảnh chụp X-quang nhũ ảnh thang độ xám của các phân loại mô nền khác nhau: Béo, Tuyến mỡ và Mô dày. Phân loại này được sử dụng khi bác sĩ X quang phân tích hình ảnh chụp quang tuyến vú và cần xem xét liệu mật độ mô có che khuất bất kỳ bất thường nào như tổn thương hoặc khối u hay không. Điều này là do cả cấu trúc sinh lý bình thường như mô tuyến và mô liên kết dạng sợi. và các hình thái bất thường như vôi hóa và khối u sẽ xuất hiện rất sáng trên hình chụp X quang tuyến vú trong khi các mô mỡ ít đặc hơn sẽ có màu đen. Do đó, rất thích hợp để lập trình một bộ phân loại có thể thao tác các mức cường độ pixel để hình dung và xác định khối lượng một cách tốt nhất.

Bước 1: Tổ chức Dữ liệu Chụp X quang

Tổ chức dữ liệu chụp quang tuyến vú
Tổ chức dữ liệu chụp quang tuyến vú

Một trong những điều đầu tiên tôi nhận ra mình cần xử lý là tổ chức dữ liệu theo cách rất rõ ràng, ngắn gọn và dễ tiếp cận. Đây là những biến tôi trích xuất từ Cơ sở dữ liệu mini-MIAS về chụp X-quang tuyến vú. Tôi đã tạo hai mảng. Một chứa 4 cột:

  1. Số hình ảnh:
  2. x tọa độ của khối lượng
  3. tọa độ y của khối lượng
  4. Bán kính khối lượng: (Giá trị này xác định kích thước gần đúng cho khối lượng

Mảng thứ hai chứa thông tin phân loại:

  1. Loại mô nền: Béo (F), Béo tuyến (G), Dày đặc (D)
  2. Mô tả khối lượng: Được xác định rõ (CIRC), có hình xoắn (SPIC), không được xác định rõ khác (MISC) Biến dạng kiến trúc (ARCH), Không đối xứng (ASYM), Bình thường (NORM)
  3. Chẩn đoán: Lành tính (B), Ác tính (M)

Vì mục đích của dự án này là xác định ngưỡng tốt nhất cho từng loại mô nền nên không phải tất cả thông tin đều cần thiết. Tuy nhiên, bạn có thể mở rộng dự án của mình để bao gồm phân tích kết cấu và kiểm tra trình phân loại của bạn dựa trên các mô tả khối lượng đã biết.

Lưu ý bên: Cơ sở dữ liệu mà tôi nhận được các Hình ảnh Chụp X-quang được chẩn đoán đã tổ chức thông tin về mỗi hình chụp X-quang trong một tệp văn bản tách biệt với các hình ảnh. Hơi khó đối với tôi khi trích xuất dữ liệu từ tệp văn bản và sắp xếp thành các dạng mảng, nhưng liên kết sau rất hữu ích trong việc tìm ra tất cả. Ngoài ra, chỉ cần điều chỉnh mã tôi đã dán ở trên cho các mục đích của bạn.

Định dạng tệp Mammogram: mdb001 G CIRC B 535 425 197

mdb002 G CIRC B 522 280 69

Trợ giúp TextScan: https://www.mathworks.com/help/matlab/ref/textsca… Cơ sở dữ liệu Mammogram:

Bước 2: Xử lý hình ảnh

Đang xử lý hình ảnh
Đang xử lý hình ảnh

Chà, điều thứ hai nảy ra khi tôi tìm cách xác định các khối u đó là đối với nhiều hình ảnh chụp X-quang tuyến vú bất thường, tôi không thể biết được bằng mắt thường ở đâu hoặc khối lượng lớn như thế nào. Rõ ràng, vì tôi không phải là một bác sĩ X quang có kinh nghiệm, điều đó đã được mong đợi. Tuy nhiên, cách đơn giản nhất để tìm ra sự bất thường (theo các tìm kiếm dài trên google của tôi) là xem xét nồng độ của các vùng sáng và vùng tối. Tôi chủ yếu sử dụng chức năng adapthisteq để nâng cao độ tương phản của hình ảnh và sau đó thấm nhuần để chuyển đổi hình ảnh sang hình ảnh nhị phân để thử nghiệm với các mức ngưỡng khác nhau.

  1. adapthisteq: Chức năng này biến đổi các giá trị cường độ của hình ảnh thang độ xám và rgb bằng cách sử dụng cân bằng biểu đồ thích ứng có giới hạn tương phản. Nói cách khác, nó điều chỉnh biểu đồ của các giá trị cường độ thành một kiểu phân phối cụ thể. Liên kết toán học cho chức năng này được đính kèm bên dưới để đọc thêm.
  2. Thấm nhuần: tạo ảnh nhị phân từ ảnh thang xám bằng cách gán tất cả các pixel trên một vùng nguyên nhất định là 1s và các pixel bên dưới giá trị đó là 0. Tôi đã sử dụng chức năng này để kiểm tra ngưỡng tối ưu để giảm nhiễu mô nền.

Bước 3: Mã ngưỡng

Mã ngưỡng
Mã ngưỡng

Vòng lặp for được sử dụng để ghi lại hình ảnh chụp X-quang tuyến vú với các ngưỡng khác nhau. Để cung cấp một cái nhìn hình ảnh lớn hơn, vòng lặp for chứa mã từ Bước 3 đến Bước 7. Vì vậy, mỗi hình ảnh nhị phân sẽ được phân tích để tìm các bất thường. Ngoài ra, vòng lặp for này được bọc trong một vòng lặp for khác để nhập một hình ảnh chụp X-quang tuyến vú mới từ cơ sở dữ liệu trong mỗi lần lặp.

Bước 4: Tìm điểm bất thường cho mỗi hình ảnh nhị phân

Tìm điểm bất thường cho mỗi hình ảnh nhị phân
Tìm điểm bất thường cho mỗi hình ảnh nhị phân
Tìm điểm bất thường cho mỗi hình ảnh nhị phân
Tìm điểm bất thường cho mỗi hình ảnh nhị phân

Tôi tiếp tục xử lý các hình ảnh nhị phân bằng cách sử dụng hàm strel kết hợp với imopen để loại bỏ tiếng ồn xung quanh. Hình ảnh nhị phân từ bước trước được đảo ngược và lọc bằng cách sử dụng vùng lân cận được xác định bởi SE. Sau đó, tôi sử dụng bwlabel để gắn nhãn bất kỳ khu vực nào có ít nhất 8 pixel được kết nối.

Chức năng đạo cụ khu vực được sử dụng để tìm thuộc tính trung tâm và diện tích của mỗi điểm được xác định bởi bwlabel.

Sau đó, tất cả các điểm lớn hơn 500 pixel được xác định bằng cách sử dụng ismember. Các trung tâm cho các điểm đã xác định được vẽ trên một hình ảnh chỉ hiển thị các điểm có diện tích lớn hơn 500. Area Recogfied = ismember (Được gắn nhãn, chỉ dẫn (sắp xếpAreas> 500)); Điểm = Đã xác định> 0;

Bước 5: Vẽ đồ thị Vị trí và Kích thước Khối lượng được Chẩn đoán để So sánh Trực quan

Lập đồ thị Vị trí và Kích thước Khối lượng được Chẩn đoán để So sánh Trực quan
Lập đồ thị Vị trí và Kích thước Khối lượng được Chẩn đoán để So sánh Trực quan
Lập đồ thị Vị trí và Kích thước Khối lượng được Chẩn đoán để So sánh Trực quan
Lập đồ thị Vị trí và Kích thước Khối lượng được Chẩn đoán để So sánh Trực quan
Lập đồ thị Vị trí và Kích thước Khối lượng được Chẩn đoán để So sánh Trực quan
Lập đồ thị Vị trí và Kích thước Khối lượng được Chẩn đoán để So sánh Trực quan

Tôi muốn xem những điểm mà bwlabel tìm thấy có đúng không. Tôi đã làm điều này theo hai cách. Đầu tiên tôi phân tích độ chính xác của trình phân loại bằng cách so sánh trực quan. Tôi chỉ đơn giản là vẽ biểu đồ kích thước và vị trí thực tế của bất thường (vòng tròn màu đỏ) và vị trí được xác định bởi mã (x màu xanh) trên hình ảnh chụp X quang vú đã được xử lý trước. Sáu hình ảnh trên cho thấy tác động của việc tăng giá trị ngưỡng thang độ xám.

Bước 6: Thực hiện phương pháp so sánh thứ hai

Thực hiện phương pháp so sánh thứ hai
Thực hiện phương pháp so sánh thứ hai

Cách thứ hai tôi đã kiểm tra trình phân loại và các giá trị ngưỡng là bằng cách xác định xem các vị trí mà trình phân loại tìm thấy có nằm trong một khoảng cách nhất định so với tọa độ bất thường được chẩn đoán hay không. Tôi đã lưu các ngưỡng mà ít nhất một trong các điểm được xác định nằm trong khoảng 1,5 * r tính từ điểm bất thường đã biết vào một tệp văn bản riêng biệt có tên là Dữ liệu X quang. Mục đích của việc này là tìm ngưỡng tối thiểu cần thiết để trình phân loại của tôi xác định sự bất thường.

Bước 7: Phân tích dữ liệu đã thu thập

Phân tích dữ liệu đã thu thập
Phân tích dữ liệu đã thu thập
Phân tích dữ liệu đã thu thập
Phân tích dữ liệu đã thu thập

Tôi đã chạy chương trình trên tất cả các hình ảnh chụp nhũ ảnh bất thường và tôi chỉ còn lại một tệp dữ liệu văn bản khổng lồ. Để tìm ngưỡng tốt nhất cho từng loại mô, tôi đã tổ chức dữ liệu theo loại mô và vẽ biểu đồ của các giá trị ngưỡng cho từng loại mô. Giá trị ngưỡng thích hợp được quyết định dựa trên ngưỡng nào cung cấp kết quả chính xác nhất cho từng loại mô. Tôi đã lưu dữ liệu này để tải lên bộ phân loại của mình.

Bước 8: Tạo bộ phân loại của riêng bạn

Tạo bộ phân loại của riêng bạn!
Tạo bộ phân loại của riêng bạn!
Tạo bộ phân loại của riêng bạn!
Tạo bộ phân loại của riêng bạn!
Tạo bộ phân loại của riêng bạn!
Tạo bộ phân loại của riêng bạn!
Tạo bộ phân loại của riêng bạn!
Tạo bộ phân loại của riêng bạn!

Sau khi tôi tìm thấy các giá trị ngưỡng thích hợp nhất cho từng loại mô, tôi đã chỉnh sửa mã gốc của mình để yêu cầu người dùng nhập số hình ảnh và loại mô để chọn ngưỡng cho hình ảnh chụp nhũ ảnh. Sau đó, tôi vẽ biểu đồ vị trí chụp X-quang được chẩn đoán với các vị trí được tìm thấy trên các hình ảnh chụp X-quang tuyến vú ban đầu. Tôi muốn làm cho điều này trở nên thú vị hơn nên tôi đã lập trình một chức năng để cắt một vùng hình tròn xung quanh ROI. Người dùng sẽ được hướng dẫn chọn một điểm trung tâm và một số điểm bao gồm ROI tốt nhất. Tôi đã đính kèm cả hai tệp matlab ở đây.

Bước 9: Cải tiến? Bất kỳ suy nghĩ?

Khi tôi viết bài hướng dẫn này, tôi bắt đầu thấy nhiều cải tiến mà tôi có thể thực hiện đối với bộ phân loại, chẳng hạn như tìm cách phân biệt giữa các loại khối lượng khác nhau được xác định dựa trên phân tích kết cấu hoặc cải thiện phần kiểm tra độ chính xác của SandBoxProject. tập tin. Vì đây là một dự án có thời hạn nên tôi phải dừng lại ở đâu đó, nhưng tôi hy vọng rằng tôi sẽ có thể sử dụng các kỹ năng xử lý hình ảnh mà tôi đã học được trong các ứng dụng khác. Ngoài ra, tôi đã đính kèm tệp được sử dụng để xử lý hàng loạt tất cả các hình ảnh chụp nhũ ảnh bất thường.

Đề xuất: