Untitled ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG CHOMECHANH LORKHAM AIEN NGHIÊN CỨU MỘT SỐ THUẬT TOÁN PHÁT HIỆN CONTOUR VÀ ỨNG DỤNG HỖ TRỢ PHÁT HIỆN VÙNG NỐT MỜ, ĐÁM MỜ[.]
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG CHOMECHANH LORKHAM AIEN NGHIÊN CỨU MỘT SỐ THUẬT TOÁN PHÁT HIỆN CONTOUR VÀ ỨNG DỤNG HỖ TRỢ PHÁT HIỆN VÙNG NỐT MỜ, ĐÁM MỜ TRÊN ẢNH XQ CHỤP PHỔI CỦA BỆNH NHÂN MẮC COVID-19 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH THÁI NGUYÊN 12 - 2021 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG CHOMECHANH LORKHAM AIEN NGHIÊN CỨU MỘT SỐ THUẬT TOÁN PHÁT HIỆN CONTOUR VÀ ỨNG DỤNG HỖ TRỢ PHÁT HIỆN VÙNG NỐT MỜ, ĐÁM MỜ TRÊN ẢNH XQ CHỤP PHỔI CỦA BỆNH NHÂN MẮC COVID-19 CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH Mã số: 480101 LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Hướng dẫn khoa học: TS Nguyễn Hải Minh THÁI NGUYÊN 12 - 2021 i LỜI CAM ĐOAN Họ tên học viên: Chomechanh Lorkham aien Lớp cao học: CK18A Trường Đại học Công nghệ Thông tin Truyền thông- Đại học Thái Nguyên Em xin cam đoan luận văn: “Nguyên cứu số thuật tốn phát Contour ứng dụng hơ trợ phát vùng nốt mờ, đám mờ ảnh XQ chụp phổi bệnh nhân mặc COVID-19” cơng trình nguyên cứu em thời gian qua Các số liệu, kết nêu luận văn trung thực, giúp đỡ cho việc thực luận văn cảm ơn thơng tin trích dẫn luận văn rõ nguồn gốc Học viên thực Chomechanh Lorkham aien ii LỜI CẢM ƠN Trong thời gian thực luận văn thạc sỹ em nhận nhiều khích lệ, động viên, giúp đỡ từ phía thầy cơ, cha mẹ bạn bè xung quanh Em xin gửi lời cảm ơn chân thành tới thầy cô trường Đại học Công nghệ Thông tin Truyền thông - Đại học Thái Nguyên, thầy truyền đạt vốn kiến thức quý báu cho chúng em Em xin bày tỏ lòng biết ơn chân thành tới thầy giáo, TS Nguyễn Hải Minh người trực tiếp hướng dẫn em hoàn thành luận văn thạc sỹ Đề nghiên cứu đề tài “Nghiên cứu số thuật toán phát Contour ứng dụng hỗ trợ phát nốt mờ, đám mờ ảnh XQ chụp phổi bệnh nhân mắc COVID-19” đề tài khó, học viên cần phải tự tìm hiểu, tự nghiên cứu thêm nhiều kiến thức Nhưng thời gian có hạn, vốn ngơn ngữ cịn hạn chế, kỹ làm việc với ngôn ngữ lập trình đại em cịn nhiều khó khăn Do đó, luận văn cịn có nhiều thiếu sót Em mong nhận góp ý, bảo thầy cô bạn để luận văn thạc sỹ hoàn thiện Học viên thực Chomechanh Lorkham aien iii MỤC LỤC LỜI CAM ĐOAN i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC HÌNH ẢNH v DANH MỤC CÁC TỪ VIẾT TẮT vii MỞ ĐẦU .1 Chương I CÁC KIẾN THỨC CƠ BẢN VỀ ẢNH Y TẾ VÀ KỸ THUẬT XỬ LÝ ẢNH 1.1 Các kiến thức ảnh y tế .2 1.2 Một số phương pháp thu nhận hình ảnh y tế .3 1.2.1 Chiếu X-quang: 1.2.2 Chụp X-quang: 1.3 Xử lý ảnh số .10 1.3.1 Một số khái niệm 11 1.4 Một số kỹ thuật xử lý ảnh 12 1.4.1 Nắn chỉnh biến dạng 12 1.4.2 Khử nhiễu` 12 1.4.3 Chỉnh số mức xám 13 1.4.4 Phân tích ảnh .13 1.4.5 Nhận dạng phân loại ảnh 13 1.5 Một số kỹ thuật xử lý ảnh y tế 16 1.5.1 Khái quát biên phân loại kỹ thuật dò biên 19 1.5.2 Các kỹ thuật phát biên: .20 1.5.3 Phát biên cục phân vùng ảnh 22 Chương II NỐT MỜ, VẾT MỜ, ĐÁM MỜ TRÊN ẢNH XQ VÀ VẤN ĐỀ ỨNG DỤNG TRONG HỖ TRỢ CHẨN ĐOÁN BỆNH NHÂN COVID-19 25 2.1 Vấn đề nốt mờ, vết mờ, đám mờ .25 2.2 Sơ lược chế bệnh sinh viêm phổi virus .28 2.3 Tổn thương giải phẫu bệnh viêm phổi virus .29 2.4 Đặc điểm tổn thương phổi COVID-19 hình ảnh X-quang 30 iv 2.4.1 Đặc điểm tổn thương phổi COVID-19 hình ảnh cắt lớp vi tính 32 2.4.2 Chẩn đoán đánh giá mức độ tiến triển tổn thương phổi COVID-19 cắt lớp vi tính 35 2.4.3 Hình ảnh tổn thương phổi số ca nhiễm COVID-19 X-quang 39 KẾT LUẬN CHƯƠNG 42 Chương III CÀI ĐẶT THỬ NGHIỆM .43 3.1 Giải thuật hỗ trợ phát nốt mờ, đốm mơ đám mờ 43 3.1.1 Vấn đề dò biên 43 3.1.2 Các thuật tốn tìm đường bao (Contour Tracing Algorithm) 43 3.2 Các sơ đồ khối mơ tả thuật tốn 47 3.3 Công nghệ áp dụng 50 3.4 Thu thập liệu .50 3.5 Kết xử lý 52 3.6 So sánh đánh giá giải thuật .52 KẾT LUẬN .53 PHỤ LỤC 55 TÀI LIỆU THAM KHẢO 67 v DANH MỤC HÌNH ẢNH Hình 1.1 Hình ảnh X-quang bàn tay bà Rontgen Hình 1.2 Chụp X-quang cắt lớp Hình 1.3 Máy chụp cắt lớp kiểu Vallebona Hình 1.4 Hình chụp cắt lớp lúc Hình 1.5 Phương pháp chụp động Hình 1.6 Quá trình xử lý ảnh 10 Hình 1.7 Các bước hệ thống xử lý ảnh 10 Hình 1.8 Quy trình xử lý ảnh Y khoa 16 Hình 1.9 Một cách lý tưởng đồ thị biến thiên mức xám 22 Hình 1.10 Ảnh xám có hai màu 22 Hình 2.1 Hình ảnh tổn thương kính mờ phổi phải (trái) đông đặc thùy hai phổi (phải) X-quang phổi thẳng 25 Hỉnh 2.2 Hỉnh ảnh nốt mờ X-quang phổi thẳng 26 Hình 2.3 Phổi có vết mờ có nhiều nguyên nhân khác 27 Hình 2.4 Hình ảnh giãn mạch máu đám mờ 27 Hình 2.5 Các đám mờ không hai phổi, thấy rõ ngoại vi phổi phải 28 Hình 2.6 Tổn thương phổi bệnh nhân SARS (vách phế nang: Mất biểu mô thay màng hyaline; Phù vách phế nang (mũi tên) 29 Hình 2.7 Hình ảnh tổn thương kính mờ phổi phải (trái) đông đặc thùy hai phổi (phải) X-quang phổi thẳng 31 Hình 2.8 Hình ảnh lưới đơng đặc phổi hai bên X-quang phổi thẳng chụp ngày thứ sau khởi phát 31 Hình 2.9 Hình ảnh nốt mờ X-quang phổi thẳng 32 Hình 2.10 Hình ảnh dày thành phế quản (trái) đường Kerley B phù mô kẽ (phải) X-quang phổi thẳng 32 Hình 2.11 Hình ảnh kính mờ (GGO) 33 Hình 2.12 Hình ảnh lát đá (crazy paving) 34 Hình 2.13 Hình ảnh giãn mạch máu đám mờ 34 Hình 2.14 Hình ảnh giãn phế quản co kéo 34 Hình 2.15 Hình ảnh dải mờ màng phổi gây biến dạng cấu trúc 35 Hình 2.16 CO-RADS 2: Hình ảnh giãn phế quản, dày thành phế quản, chồi (mũi tên) (trái); hình ảnh đông đặc thùy phổi, chồi (mũi tên) gây viêm phổi vi khuẩn (phải) 37 vi Hình 2.17 CO-RADS 3: Ca 1, 2, 3, 4:Hình ảnh đám tổn thương kính mờ đơn độc bên phổi; Ca 5: Nhiều ổ đông đặc bao quanh tổn thương kính mờ 37 Hình 2.18 CO-RADS 4: Ca 1:Các đám thương tổn thương kính mờ thùy phổi trái, PCR: dương tính; Ca 2: Tổn thương kính mờ hai phổi bệnh nhân có khí phế thũng 38 Hình 2.19 CO-RADS 5: Ca 1, 4, 5:Nhiều ổ tổn thương đơng đặc kính mờ hai phổi; Ca 2: Nhiều ổ tổn thương kính mờ hai phổi, giãn mạch máu (vòng tròn), dải mờ màng phổi trái (mũi tên); Ca 3: Nhiều ổ tổn thương đông đặc kính mờ hai phổi, giãn mạch máu (vịng trịn) 38 Hình 2.20 CO-RADS 6: Hình ảnh tổn thương kính mờ hai phổi, dấu hiệu Halo đảo ngược (mũi tên) PCR: dương tính 39 Hình 2.21 Bệnh nhân nam, 65 tuổi: A: Hình X-quang nhập viện thấy tổn thương dạng kính mờ vùng đỉnh phổi trái; B: Hình ảnh X-quang sau ngày thấy tổn thương lan rộng hơn, gồm tổn thương kính mờ đơng đặc 39 Hình 2.22 Các giai đoạn PCR ảnh kính mờ kẽ lan tỏa hai phổi 40 vii DANH MỤC CÁC TỪ VIẾT TẮT KÝ HIỆU CHỨ VIẾT NỘI DUNG VIẾT TẮT TẮT COVID-19 Corona virus Daises 19 MRI Magnetic Resonance Image MRA Mutual Recognition Arrangement CT CTA DICOM PACS Computed Topography Call To Action Digital Imaging and Communication Picture Archiving Communications System LPT Longest Processing Time COM Computer Output Micro-form USB Universal Serial Bus MINI-PACS ADC Co-RADS PCR CLVT RT-PCR SARS SARS-Cov2 MINI- Picture Archiving Communications System Analog-to-Digital Converter Level of suspicion COVID-19 infection Polymerase Chain Reaction Chụp Cắt Lớp Vi Tính Real Time Polymerase Chain Reaction Severe Acute Respiratory Syndrome Severe Acute Respiratory Syndrome-Corona virus2 ARDS Acute Respiratory Distress Syndrome RNA Acid nucleic DNA Deoxyribonucleic acid GGO Ground Glass Opacity MỞ ĐẦU Hiện nay, trước tình hình diễn biến phức tạp dịch COVID-19 Bộ y tế ban hành nhiều văn hướng dẫn chẩn đoán điều trị, điều trị viêm đường hô hấp cấp SAR-CoV-2 (COVID-19) gây Các quy định ban hành theo Quyết định số 1344/QĐ-BYT ngày 25/3/2020 Theo đó, để thực hiện, hướng dẫn gồm có bước bước 5: Theo dõi sát bệnh nhân, đặc biệt ngày thứ 7-10 bệnh, (sử dụng dấu hiệu lâm sàng, thang điểm cảnh báo sớm, theo dõi tiến triển hàng ngày X-quang phổi) để phát xử trí kịp thời biến chứng tiến triển nặng bệnh Để xác định tiến triển bệnh ảnh XQ thướng xuất dấu hiệu sau: Các dấu hiệu điển hình: - Nốt mờ, đám mờ, kính mờ hình trịn đa ổ - Đơng đặc nhu mơ phổi vùng ngoại vi đa ổ (nếu không phân bố ngoại vi coi chưa xác định được) Các dấu hiệu khơng điển hình, COVID-19 nguyên nhân khác: - Đông đặc khu trú thùy phổi - Tràn dịch màng phổi - Mờ tổ chức kẽ quanh rốn phổi - Dày thành phế quản, dày vách liên tiểu thùy - Xẹp phổi - Bệnh lý hạch lympho Do đó, đề tài xây dựng với mục tiêu ứng dụng số thuật toán phát đường Contour ảnh y tế để hỗ trợ phát vùng ảnh nốt mờ, đàm mờ ảnh chụp XQ bệnh nhân, nhằm hỗ trợ bác sỹ dễ dàng việc chẩn đoán Cấu trúc luận văn gồm 03 chương: Chương I: Các kiến thức ảnh y tế kỹ thuật xử lý ảnh Chương II: Nốt mờ, vết mờ, đám mờ ảnh XQ vấn đề ứng dụng hỗ trợ chẩn đoán bệnh nhân Covid-19 Chương III: Cài đặt thử nghiệm Kết luận 53 KẾT LUẬN Luận văn nêu vài kỹ thuật xử lý ảnh tìm đường biên ảnh y tế, trình bày tư tưởng giải thuật tìm đường biên thuật tốn tìm Contour: Squace Tracing; Moore-Neightbor ; Pavlidis Ngồi cài đặt thử nghiệm ba thuật toán Contour tìm đường biên cách lựa chọn điểm vùng ảnh quan tâm xuất Contour vùng Tuy nhiên, việc tìm đường biên có chuẩn xác hay khơng tùy thuộc vào việc kích chọn điểm ảnh Luận văn đưa tối ưu việc sử dụng thuật tốn tìm Contour so với kỹ thuật xử lý ảnh theo Gradient mặt xác định đường biên ảnh vùng đặc biệt cần quan tâm thời gian thực Những vấn đề giải luận văn: - Nêu số kỹ thuật xử lý ảnh y tế - Trình bày, mơ tả thuật tốn tìm Contour: Squace tracing, Moore Neightbor, Pavlidis - Cài đặt thuật toán so sánh với việc xử lý ảnh kỹ thuật Gradient - Dựa vào hình ảnh vùng Contours trích rút từ ảnh Đồng thời dựa vào dấu hiệu nhận biết Nốt mờ, đám mờ, vết mờ theo chuyên môn Y học Vết mờ (nốt mờ có kích thước - 10 mm, đốm mờ kích thước - cm, đám mờ có kích thước - 10 cm Hệ thống gợi ý cho bác sỹ phát xác vị trí - Các loại tổn thương phổi COVID-19 thấy hình ảnh X-quang dấu hiệu điển hình: Nốt mờ, đám mờ, kính mờ hình trịn đa Do đó, q trình sử dụng trình phát biên hệ thống có chức nhấn mạnh vùng tổ thương trịn để bác sỹ quan tâm chẩn đoán nhanh Hạn chế hướng phát triển Trong thời gian nghiên cứu, tình hình dịch Covid diễn phức tạp Nên việc thu thập ảnh thực tế em gặp nhiều khó khăn Nguồn liệu chủ yếu thu thập qua mạng 54 Việc xử lý phát vùng nốt mờ, đàm mờ, vết mờ thu số kết đáng kể Tuy nhiên, việc xác định hình thái khối thông tin chưa thực Nên thời gian tới em nghiên cứu thêm số nội dung sau: Nghiên cứu số phương pháp phát biên giải thuật tân tiến Xây dựng triển khai phá sau phát biên, xác định kích thước hình khối vùng biên để từ hỗ trợ bác sỹ nhiều 55 PHỤ LỤC Code thuật toán sử dụng: Thuật toán truy tìm vng (Squace Tracing) public void SquareTracingAlgorithm(int x1, int y1) { Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); int xstart=0, ystart=0; int xprevstart = 0, yprevstart=0; int xprev=0, yprev=0; int xhientai =0, yhientai=0; int orient = 0; int x,y; xprevstart = xhientai = xstart = x1; yhientai = ystart = y1; yprevstart = y1 + 1; int count = 0; txtDuongBien.Text = ""; //Vong lap int dem = 0; do{ if (xhientai < || xhientai > anhNguon.Width - || yhientai < || yhientai > anhNguon.Height - 1) { xprev = xhientai; yprev = yhientai; orient = (orient < 3) ? (orient + 1) : 0; if (orient % == 0) { yhientai = yhientai - + orient; } else { xhientai = xhientai + - orient; } } else { if (anhNguon.GetPixel(xhientai, yhientai).R != 0) { anhDich.SetPixel(xhientai, yhientai, Color.Red); txtDuongBien.AppendText("(" + xhientai + "," + yhientai + "); "); count++; xprev = xhientai; yprev = yhientai; 56 orient = (orient > 0) ? (orient - 1) : 3; if (orient % == 0) { yhientai = yhientai - + orient; } else { xhientai = xhientai + - orient; } } else { xprev = xhientai; yprev = yhientai; orient = (orient < 3) ? (orient + 1) : 0; if (orient % == 0) { yhientai = yhientai - + orient; } else { xhientai = xhientai + - orient; } } } dem++; if (dem > 10000) { MessageBox.Show("Khơng tìm thấy Contour"); break; } }while(xhientai!=xstart||yhientai!=ystart||xprev!=xprevstart||yprev!=yprevstart); txtDuongBien.AppendText("\nCó " + count + " điểm ảnh đường biên."); stopWatch.Stop(); pictureBoxAnhDich.Image = anhDich; pictureBoxAnhDich.Refresh(); MessageBox.Show("Hoàn thành Square Tracing Algorithm\nThời gian thực hiện: " + ((float)stopWatch.ElapsedMilliseconds / 1000) + "s"); } Thuật tốn truy tìm Moore – Neighbor public void dichChuyenMooreNei(ref int xhientai, ref int yhientai, ref int xprev, ref int yprev) { int[] t = new int[8]; int start = 0, i = 0; if (xhientai == && yhientai != && yhientai != anhNguon.Height 1) 57 { t[0] = t[6] = t[7] = 0; t[1] = anhNguon.GetPixel(xhientai, yhientai - 1).R; t[2] = anhNguon.GetPixel(xhientai + 1, yhientai - 1).R; t[3] = anhNguon.GetPixel(xhientai + 1, yhientai).R; t[4] = anhNguon.GetPixel(xhientai + 1, yhientai + 1).R; t[5] = anhNguon.GetPixel(xhientai, yhientai + 1).R; } else { if (xhientai == anhNguon.Width - && yhientai != && yhientai != anhNguon.Height - 1) { t[2] = t[3] = t[4] = 0; t[0] = anhNguon.GetPixel(xhientai - 1, yhientai - 1).R; t[1] = anhNguon.GetPixel(xhientai, yhientai - 1).R; t[5] = anhNguon.GetPixel(xhientai, yhientai + 1).R; t[6] = anhNguon.GetPixel(xhientai - 1, yhientai + 1).R; t[7] = anhNguon.GetPixel(xhientai - 1, yhientai).R; } else { if (xhientai != && yhientai == && xhientai != anhNguon.Width - 1) { t[0] = t[1] = t[2] = 0; t[3] = anhNguon.GetPixel(xhientai + 1, yhientai).R; t[4] = anhNguon.GetPixel(xhientai + 1, yhientai + 1).R; t[5] = anhNguon.GetPixel(xhientai, yhientai + 1).R; t[6] = anhNguon.GetPixel(xhientai - 1, yhientai + 1).R; t[7] = anhNguon.GetPixel(xhientai - 1, yhientai).R; } else { if (yhientai == anhNguon.Height - && xhientai != && xhientai != anhNguon.Width - 1) { t[4] = t[5] = t[6] = 0; t[0] = anhNguon.GetPixel(xhientai - 1, yhientai 1).R; t[1] = anhNguon.GetPixel(xhientai, yhientai 1).R; 58 t[2] = anhNguon.GetPixel(xhientai + 1, yhientai - 1).R; t[3] = anhNguon.GetPixel(xhientai + 1, yhientai).R; t[7] = anhNguon.GetPixel(xhientai - 1, yhientai).R; } else { if (xhientai == && yhientai == 0) { t[0] = t[1] = t[2] = t[6] = t[7] = 0; t[3] = anhNguon.GetPixel(xhientai + 1, yhientai).R; t[4] = anhNguon.GetPixel(xhientai + 1, yhientai + 1).R; t[5] = anhNguon.GetPixel(xhientai, yhientai + 1).R; } else { if (xhientai == && yhientai == anhNguon.Height - 1) { t[0] = t[4] = t[5] = t[6] = t[7] = 0; t[1] = anhNguon.GetPixel(xhientai, yhientai - 1).R; t[2] = anhNguon.GetPixel(xhientai + 1, yhientai - 1).R; t[3] = anhNguon.GetPixel(xhientai + 1, yhientai).R; } else { if (xhientai == anhNguon.Width - && yhientai == 0) { t[0] = t[1] = t[2] = t[3] = t[4] = 0; t[5] = anhNguon.GetPixel(xhientai, yhientai + 1).R; t[6] = anhNguon.GetPixel(xhientai - 1, yhientai + 1).R; t[7] = anhNguon.GetPixel(xhientai - 1, yhientai).R; } 59 else { if (xhientai == anhNguon.Width - && yhientai == anhNguon.Height - 1) { t[2] = t[3] = t[4] = t[5] = t[6] = 0; t[0] = anhNguon.GetPixel(xhientai - 1, yhientai - 1).R; t[1] = anhNguon.GetPixel(xhientai, yhientai - 1).R; t[7] = anhNguon.GetPixel(xhientai - 1, yhientai).R; } else { t[0] = anhNguon.GetPixel(xhientai - 1, yhientai - 1).R; t[1] = anhNguon.GetPixel(xhientai, yhientai - 1).R; t[2] = anhNguon.GetPixel(xhientai + 1, yhientai - 1).R; t[3] = anhNguon.GetPixel(xhientai + 1, yhientai).R; t[4] = anhNguon.GetPixel(xhientai + 1, yhientai + 1).R; t[5] = anhNguon.GetPixel(xhientai, yhientai + 1).R; t[6] = anhNguon.GetPixel(xhientai - 1, yhientai + 1).R; t[7] = anhNguon.GetPixel(xhientai - 1, yhientai).R; } } } } } } } } if (xprev == xhientai - && yprev == yhientai - 1) start = 0; if (xprev == xhientai && yprev == yhientai - 1) start = 1; if (xprev == xhientai + && yprev == yhientai - 1) start = 2; if (xprev == xhientai + && yprev == yhientai) start = 3; if (xprev == xhientai + && yprev == yhientai + 1) start = 4; 60 if (xprev == xhientai && yprev == yhientai + 1) start = 5; if (xprev == xhientai - && yprev == yhientai + 1) start = 6; if (xprev == xhientai - && yprev == yhientai) start = 7; for (i = start + 1; i < 8; i++) { if (t[i]!=0) break; } if (i == 8) { for (i = 0; i 10000) { MessageBox.Show("Khơng tìm thấy Contour"); break; } } while (xhientai != xstart || yhientai != ystart || xprev != xprevstart || yprev != yprevstart); txtDuongBien.AppendText("\nCó " + count + " điểm ảnh đường biên."); stopWatch.Stop(); pictureBoxAnhDich.Image = anhDich; pictureBoxAnhDich.Refresh(); MessageBox.Show("Hoàn thành Moore-Neighbor Algorithm\nThời gian thực hiện: " + ((float)stopWatch.ElapsedMilliseconds / 1000) + "s"); } 3.Thuật toán Pavlidis public int pixelTiepPavlidis(ref int xnext, ref int ynext, int orient) { int xtemp = xnext; int ytemp = ynext; if (orient == 0) { xtemp = xnext - 1; ytemp = ynext - 1; if (xtemp >= && xtemp = && ytemp = && xtemp = && ytemp = && xtemp = && ytemp = && xtemp = && ytemp = && xtemp = && ytemp = && xtemp = && ytemp = && xtemp = && ytemp = && xtemp = && ytemp = && xtemp = && ytemp = && xtemp = && ytemp = && xtemp = && ytemp = && xtemp = && ytemp 0) ? (orient - 1) : 3; } if (rasp == 0) { 66 orient = (orient < 3) ? (orient + 1) : 0; numarRotatii++; } else { break; } } while (numarRotatii < 4); if (numarRotatii == 4) break; xhientai = xnext; yhientai = ynext; anhDich.SetPixel(xhientai, yhientai, Color.Red); txtDuongBien.AppendText("(" + xhientai + "," + yhientai + "); "); count++; dem++; if (dem > 10000) { MessageBox.Show("Khơng tìm thấy Contour"); break; } } while (xhientai != xstart || yhientai != ystart); txtDuongBien.AppendText("\nCó " + count + " điểm ảnh đường biên."); stopWatch.Stop(); pictureBoxAnhDich.Image = anhDich; pictureBoxAnhDich.Refresh(); MessageBox.Show("Hoàn thành Theo Pavlidis Algorithm\nThời gian thực hiện: " + ((float)stopWatch.ElapsedMilliseconds / 1000) + "s"); } 67 TÀI LIỆU THAM KHẢO TÀI LIỆU TIỀNG VIỆT [1] GS.TS Đỗ Quyết, GS.TS Phạm Minh Thông, etc, “Đặc điểm hình ảnh X-quang viêm phổi corona virus”, Kỷ yếu hội thảo khoa học thường niên lần thứ 22 – An toàn điện quang giai đoạn Covid, Hà Nội, 22/08/2021 [2] GS.TS Đỗ Quyết, GS.TS.Phạm Minh Thông, PGS.TS.Tạ Bá Thắng (2020) Đặc điểm hình ảnh X-quang viêm phổi CORONA virus Kỷ yếu hội thảo khoa học thường niên lần thứ 22 – An toàn điện quang giai đoạn Covid, Hà Nội, 22/08/2021 [3] Phạm Minh Chi, Đỗ Đức Cường (2020) Đặc điểm tổn thương phổi COVID-19 hình ảnh X-quang cắt lớp vi tính, Trang Web bệnh viện Trung ương Quân đội 108, ngày 26/08/2020 TÀI LIỆU TIỀNG ANH [1] Nguyen Hai Minh, Byoung-Kee Yi, Il Kon Kim, et al "Embedding the shapes of regions of interest into a Clinical Document Architecture document", Health Informatics Journal, DOI: 10.1177/1460458213502738, 2013 [2] Mathias P., Wouter V.E, et al (2020), CO-RADS: A Categorical CT Assessment Scheme for Patients Suspected of Having COVID-19 - Definition and Evaluation, Radiology, 296(2), 97-104 [3] Zhichao Fan, Yiyuan Yang, Fan Zhang “School of Computer Science and Technology, Xi’an Jiaotong University, Xi’an 710049, China, 2020 [4] Professor Godfried Toussaint (2000) Contour Tracing Algorithms, accessed on April, 2015 [5] https://radiologyassistant.nl/chest/covid-19/covid19-imaging-findings, accessed in 2020 [6] https://Slideplayer.vn/slide/17091492/, ngày 07/10/2019