Ắp ráp linh kiện trên thiết bị

Một phần của tài liệu Ứng dụng xử lý ảnh trong xác định nhóm máu bằng gelcard (Trang 57)

Lắp đặt camera

Thiết bị sử dụng 2 camera với 2 mục đích khác nhau nên được thiết kế và lắp

đặt tại các vị trí hồn tồn khác nhau. Camera thu ảnh gelcard được bố trí tại vị trí

ở đầu chính giữa của hệ thống với nhiệm vụ thu nhận chính xác hình ảnh các cột

gel để xử lý. Camera 1 thu nhận ảnh gelcard được đặt lên bệsao cho độ cao của camera so với sàn là d = 8 cm. Camera thu ảnh QRcode được đặt đối diện camera thu ảnh gelcard để có thể đồng thời thu ảnh 2 mặt của gelcard từ 2 camera này.

Camera được đặt tại vị trí chính giữa gelcard cách gelcard khoảng cách 4.0(cm), cho quá trình thu ảnh QRcode chính xác nhờ tính năng lấy nét tự động. Camera

được kết nối trực tiếp với máy tính xử lý thơng qua cáp kết nối USB.

46

Lắp đặt Gelcard và khung vỏ

Gelcard được đặt lên giá và ở vị trí cách camera 1 thu nhận hình ảnh cột gel một khoảng cách là 7.6 cm. Chiều cao của giá là 5.7 cm. Tầm bìa nền trắng có kích

thước 22x16.6 cm được đặt tại vị trí cách mắt camera 1 khoảng cách là 21.2 cm sao cho nó lấp đầy khung hình 640x480 pixel.

Để việc thu nhận ảnh các gelcard từcamera được thuận lợi nhất, tránh các tác nhân nhiễu từ bên ngoài, các chi tiết gelcard và camera được đặt bên trong khung vỏ của thiết bị cách biệt với ánh sáng ngồi mơi trường. Kích thước khung vỏđược thiết kế dạng hình hộp chữ nhật với kích thước độ rộng, chiều dài, độ cao là 40 x 28 x 24 cm. Khung vỏ của thiết bị được thể hiện như hình 3.2

47 Hệ thống đèn Led được tính tốn lắp đặt tại nắp của thiết bị, giúp cho quá trình thu nhận ảnh Gelcard đạt hiệu quả tốt nhất. Thiết bị được sử dụng loại Led thanh

12V, cho ánh sáng trung tính. Đèn Led được bố trí tại nắp của thiết bị.

Phần khung vỏ của thiết bị được thiết kế với bìa mơ hình trắng, tránh đối đa

các ánh sáng nhiễu lọt vào trong quá trình thu nhận ảnh. Phần nắp trên được thiết kế với bản lềgiúp q trình đóng mở nắp đểđưa gelcard vào xử lý dễdàng hơn.

Kết qu xnh

Quá trình xử lý ảnh được thực hiện trên máy tính với mơi trường là python 3.9, ngơn ngữ lập trình trong mơi trường là python, và giao điện được thiết kế sử dụng PyQt5.

Kết quả xứ lý ảnh QRcode

Camera 2 thu ảnh mặt sau của gelcard, nơi chứa QRcode/Barcode của nhà sản xuất và gửi về bộ xử lý trung tâm. Camera sẽ thu các bức ảnh có kích thước 1024x720 pixel và gửi về cho bộ xử lý trung tâm. Tại đây sử dụng thư viện pyzbar

để xử lý phát hiện mã code có chứa trên các thẻ. Kết quả trả về sẽ là vị trí của code trong ảnh, loại của code (QRcode hoặc Barcode) và mã code. Mã code sau khi

được nhận diện sẽđược giải mã theo mã hóa UTF-8 đểcó được thơng tin của thẻ.

Hình 3.3 thể hiện hình ảnh thu nhận từ Camera 2 và kết quảđọc Barcode.

Hình 3.3 Hình ảnh thu được t camera 2 và kết quđọc Qrcode/Barcode và kết quđọc Qrcode/Barcode

48 Trong Hình 3.3 hình ảnh mặt sau của gelcard chứa mã code được thu nhận với

kích thước hiển thị 300x200. Sau q trình thu nhận xử lý hình ảnh mặt sau gelcard và giải mã code kết quả trả về là chuỗi ký tự ‘718310220120299709’. Chuỗi ký tự

cho ta biết thẻ gelcard sử dụng định đạng CODE128, lot 21012.02, hạn sử dụng 10/2022.

Kết quả xử lý ảnh phát hiện ngưng kết

Sau khi bắt đầu chương trình phân loại nhóm máu và thực hiện lệnh “start” khởi tạo camera, hình ảnh ban đầu thu được từ camera số1 có kích thước là 640 x 480 pixel thể hiện ở hình 3.4. Để xử lý phát hiện được các mức ngưng kết, đầu tiên ta phải xác định và cắt vùng quan tâm toàn cục. Đó là khu vực mà chứa các buồng phản ứng và phần nhãn dán tên kháng thểtương ứng từng cột gel cũng như nơi ghi

chú thông tin bệnh nhân. Hình 3.5 là ảnh mơ tả trích xuất lấy vùng quan tâm tồn cục.

Hình 3.4 Hình nh gelcard thu trc tiếp t camera

Thông qua việc bố trí và lắp đặt các linh kiện được nêu trong mục 2.3.1.3, với các thơng sốkích thước, khoảng cách cũng như vị trí đặt camera, gelcard và tấm bìa khung nền, dễ dàng tính tốn xác định được kích thước của vùng quan tâm toàn cục là 524 x 303 pixel, với tọa độ2 điểm góc là (58, 127) và (582, 430). Ảnh vùng quan tâm toàn cục chứa đầy đủ thông tin các cột gel và phần thông tin mẫu bệnh phẩm do kỹ thuật viên đánh dấu sẽđược sử dụng cho tồn bộ q trình xử lý.

49

Hình 3.5 Hình nh trích xut vùng quan tâm tồn cc

Sau khi có vùng quan tâm tồn cục, đểxác định mức ngưng kết của các cột gel một cách dễ dàng, hình ảnh tiếp tục được tách ra vùng quan tâm cục bộ. Vùng quan tâm cục bộ chỉ chứa hình ảnh 6 cột gel với kích thước 524 x 127 pixel được thể

hiện tại Hình 3.6. Vùng quan tâm cục bộ được tăng sáng để dễ dàng quan sát và phân tách các mức ngưng kết. phân tách các mức ngưng kết.

Hình 3.6 Vùng quan tâm cc b

Hình ảnh sau khi được tăng sáng cho thấy rõ bản chất màu của các mức ngưng

kết hơn so với hình ảnh vùng quan tâm cục bộlúc trước. Hình ảnh khi chưa được

tăng sáng có các mức ngưng kết màu bị lẫn màu do nền tối, sau khi tăng sáng các

mức ngưng kết nổi bật so với vùng nền còn lại.

Trong bước làm nổi bật màu, ta tiếp tục chuyển ảnh sang miền HSV và phân

ngưỡng ảnh theo giá trịS (độxám). Để làm nổi bật rõ vịtrí ngưng kết so với phần nền ta phân ngưỡng với thang xám từ 0 đến 255 để làm nổi bật màu sắc các cột

ngưng kết so với phần nền. Sau khi phân ngưỡng điểm ảnh nào có giá trị dưới

ngưỡng sẽcó độ xám lớn nhất, điểm ảnh nào có giá trị trên ngưỡng sẽcó độ xám nhỏ nhất.

50

Hình 3.7 Ảnh thu được sau khi phân ngưỡng

Ảnh sau khi được làm nổi bật màu sắc bằng phân ngưỡng các phần nền có giá trị xám thấp chuyển hẳn thành màu xám trắng, một số có giá trị hơn ngưỡng thì

được nổi bật nhưng có bản chất màu là màu vàng và xanh nhạt, các khối ngưng kết sẽđược tăng cường màu sắc là màu đỏ.

Sau khi làm nổi bật màu sắc, ta thấy rõ các ngưng kết sẽcó màu đỏ, cịn phần nền là màu xám trắng, và xen lẫn màu xanh nhạt. Do đó khi chuyển ảnh về thang màu xanh lá, sẽlàm tăng cường độ hiển thị của các khối ngưng kết. Hình ảnh thu

được sau khi chuyển sang thang màu xanh lá được thể hiện tại Hình 3.8.

Hình 3.8 Hình nh sau khi chuyn sang thang màu xanh lá

Phần ngưng kết tách biệt hoàn toàn so với phần còn lại của bức ảnh trong thang màu xanh lá. Hình ảnh chỉcịn rõ 2 đối tượng phân tích là ngưng kết và phần nền.

Để chuẩn bịcho bước chuyển ảnh sang thang nhịphân để phân tích, ta chuyển

ảnh qua thang xám để dễ dàng xét ngưỡng tách riêng các khối ngưng kết ra so với phần nền. Trong thang xám các điểm ảnh có giá trị xám từ 0 đến 255, lựa chọn

ngưỡng 47 để tách phần ngững kết ra so với phần nền còn lại. Hình 3.9 thu được sau quá trình chuyển sang thang xám và làm mờ bởi bộ lọc Gauss.

51

Sau khi thu được ảnh tại thang xám, tiếp tục sử dụng bộ lọc Gauss để làm mờ các điểm nhiễu. Sau đó ảnh được lấy ngưỡng cốđịnh và chuyển sang ảnh nhị phân

như tại Hình 3.10.

Hình 3.10 Ảnh được lấy ngưỡng và chuyn sang nh phân

Do sau khi thực hiện nhị phân hóa ảnh, một sốvùng ngưng kết được phân tách

còn bé, chưa rõ ràng. Ta vận dụng sử dụng thêm phép toán dilate và erode đểtăng cường cho việc xác định đường biên ngưng kết. Kết quảthu được như hình 3.11.

Hình 3.11 nh nh phân sau phép Dilate và Erode

Sau khi phân vùng chính xác từng vị trí ngưng kết, ta sử dụng thuật toán phát hiện đường biên (Contour) cho ảnh nhị phân hóa để thực hiện khoanh vùng các

đường bao được phân tách ra và hiển thị lên ảnh ban đầu. Kết quảthu được là các

đường bao khối ngưng kết trên hình ảnh vùng quan tâm tồn cục như trên hình

3.12.

52

Xác định vùng bao của từng ngưng kết trong các cột gel, từđó tính tốn ra tọa

độ trọng tâm của vùng ngưng kết. Vì vị trí của từng cột gel ta có thểtính tốn được cụ thể nên ta sẽ chỉ giữ lại các vật thểmà xác định được ởbước trước nằm trong cột gel sau khi tính tốn trọng tâm, diện tích vật thể. Các vật thể nằm trong từng cột gel sẽđược đánh giá vùng mà nó xuất hiện. Tổng hợp các đánh giá sẽ cho ta

được kết quả của các mức ngưng kết. Kết quả của xác quá trình xác định ngưng

kết được mơ tả tại Hình 3.13.

Hình 3.13 Kết ququá trình xác định mức ngưng kết

Trong Hình 3.13 các cột gel được xử lý các vùng ngưng kết sau khi sử dụng phát hiện đường biên được thể hiện bằng viền màu đỏ khép kín, trọng tâm của các

53 khối ngưng kết thể hiện bằng chấm tròn trắng nằm giữa. Từđường biên và trọng tâm của vùng ngưng kết, tham khảo tài liệu hướng dẫn phân loại mức độ ngưng

kết gelcard của bộ y tế Hình 1.4 và từ việc so sánh trọng tâm khối ngưng kết có nằm trong các vùng đã phân tích nêu trong mc b phn 2.3.2.2 có thể suy ra mức

ngưng kết từ các cột gel: cột gel số 1 dương tính 4+, cột gel số 2 âm tính, cột gel số3 dương tính 3+, cột gel số 4 âm tính, cột gel số5 dương tính 3 +, cột gel số 6 âm tính, cột gel số7 dương tính 4+, cột gel số 8 âm tính. Sau khi đã có chuỗi các mức ngưng kết, dữ liệu các chuỗi ngưng kết sẽ được tổng hợp với mã QRcode/Barcode của thẻđể cho ra kết quảđịnh danh nhóm máu. Như vậy với 1 thẻ gelcard này sẽđịnh danh cho được 2 bệnh nhân cùng 1 lúc.

Dựa theo kết quảđịnh danh nhóm máu hệ ABO, Rh của bộ y tếở bng 1.4 và bng 1.5 mc 1.3.3.1, ta suy ra bảng phân loại định danh nhóm máu từ các mức

ngưng kết cụ thể trong bảng 3.1:

Bng 3.1 Bng phân loại định danh nhóm máu ABO/Rh

Anti-A Anti-B Ctl Anti-D Nhóm máu Loi Rh

3+ đến 4+ Âm tính hoặc 1+ Âm tính 4+ hoặc 3+ A Rh+ Âm tính hoặc 1+ 3+ đến 4+ Âm tính 2+ hoặc 1+ B Rh+ Weak 3+ đến 4+ 3+ đến 4+ Âm tính Âm tính AB Rh - Âm tính hoặc 1+ Âm tính hoặc 1+ Âm tính O

Dữ liệu phân tích ở bảng 3.1 kết hợp với thơng tin mã Qrcode/Barcode cung cấp, kết quảđịnh danh nhóm máu và thơng tin bệnh nhân sẽđược hiển thị lên bảng kết quả bao gồm họ tên, nhóm máu, loại Rh của hai người bệnh tương ứng như

54

Hình 3.14 Kết quđịnh danh nhóm máu

Một số kết quảđịnh danh nhóm máu cho bệnh nhân khác được thể hiện thêm tại hình 3.15. Cụ thểnhư sau:

55

Giao din ng dng qun lý d liu

Sau khi thiết bịđã được kết nối các bộ nguồn và cáp dữ liệu, mẫu Gelcard được kỹ thuật viên đặt lên giá. Kỹ thuật viên sẽ đăng nhập với một tài khoản và mật khẩu mặc định vào hệ thống quản lý Gelcard được thiết kế với mơi trường .NET ngơn ngữ lập trình là Windowform, C# như trong Hình 3.16. Phần mềm quản lý

Gelcard được thiết kế một cách đơn giản và thao tác sử dụng dễ dàng.

Hình 3.16 Giao diện đăng nhập chương trình

Tại đây, kỹ thuật viên sẽ sử dụng tài khoản và mật khẩu được cung cấp sẵn trên hệ thống đểđăng nhập. Sau khi đăng nhập, giao diện phần mềm hiển thị trên hình

3.17. Để tiến hành chạy định danh nhóm máu đối với gelcard, kỹ thuật viên vào mục thông tin bệnh nhân để kiểm tra mã Qrcode/Barcode của gelcard đồng thời khai báo các thông tin của bệnh nhân vào từng trường. Hình 3.18 mơ tả quá trình

đăng ký bệnh nhân.

56

Hình 3.18 Giao diện đăng ký thông tin bệnh nhân

Sau khi lưu lại, thông tin bệnh nhân sẽđược lưu trữ trên hệ thống server, cụ thể

là MySQL server. Ngay sau khi đăng ký được thông tin bệnh nhân, các kỹ thuật viên sẽ tiến hành chạy mẫu gelcard bệnh nhân trên thiết bị. Kỹ thuật viên hay bác sỹ có thể tra cứu kết quảđịnh danh nhóm máu cho từng cặp mẫu bệnh nhân thơng qua việc vào mục kết quả trên phần mềm quản lý này. Hình 3.19 mơ tảtính năng

trả kết quả.

57 Tại đây, kỹ thuật viên nhập mã Qrcode/Barcode tương ứng được cung cấp trên thẻgelcard để tìm kiếm kết quả cho bệnh nhân. Thông tin các kết quả của 2 bệnh nhân sẽ hiển thị tương ứng lên phần mềm bao gồm họ tên, tuổi, nhóm máu, loại Rh và hình ảnh minh họa. Ở đây, kỹ thuật viên có thể thao tác chỉnh sửa hoặc xóa

đi kết quảvà lưu lại với giá trị mới.

Ngoài ra các kỹ thuật viên có thể tìm kiếm danh sách bệnh nhân đã thực hiện xét nghiệm thông qua họtên. Người sử dụng vào mục tìm kiếm ở giao diện màn hình menu của chương trình, và nhập họ tên người bệnh cần truy xuất vào ô textbox. Hình 3.20 mơ tả giao diện chức năng này.

Hình 3.20: Giao din chức năng tìm kiếm theo tên bnh nhân

Đánh giá độ chính xác ca thiết b

Thiết bị đã tiến hành thử nghiệm để đọc xác định mức ngưng kết với Gelcard thực tế. Quá trình thử nghiệm diễn ra với 30 Gelcard loại 8 cột dưới sựđánh giá

của các kỹ thuật viên kinh nghiệm. Kết quảđánh giá độ chính xác thể hiện qua đồ

58

Hình 3.21 Mức độ chính xác ca thiết btrong q trình xác định ngưng kết

Trên 30 gelcard loại 8 cột gel ứng với tổng 240 cột ngưng kết, thiết bịxác định

đúng: 102/105 ngưng kết âm tính đạt 97.1%; 32/35 ngưng kết dương tính 1+ đạt 91.4%; 5/7 ngưng kết dương tính 2+ đạt 71.4%; 29/31 ngưng kết dương tính 3+ đạt 93.5%; 60/62 ngưng kết dương tính 4+ đạt 96.7%. So với thực tế chỉ sử dụng mức âm tính, dương tính 3+ và dương tính 4+, kết quả thu được từ thiết bị được

đánh giá đáng tin cậy.

Ngoài ra với 30 gelcard chạy thử nghiệm trên thiết bị, kết quả phân loại nhóm

máu cũng được lấy mẫu so sánh kiểm chứng với kết quả mà các kỹ thuật viên bác sỹđọc. Kết quả tham chiếu được thể hiện trên hình 3.22.

Hình 3.22 Độ chính xác ca thiết b trong phân loi nhóm máu

Với 30 gelcard này tương đương với 60 mẫu bệnh nhân được chạy thử nghiệm

định danh nhóm máu trong đó có 7 mẫu khơng phân loại. Các kết quả phân nhóm ABO và Rh+ / Rh- được so sánh tham chiếu với kết quả mà các kỹ thuật viên bác sỹđã đọc. Cụ thể với nhóm máu A / Rh+ đúng 12/13 đạt 92.3%, nhóm máu B/ Rh+

96.70% 93.50% 71.40% 91.40% 97.10% 0% 20% 40% 60% 80% 100% 4+ 3+ 2+ 1+ Âm tính Mức độ chính xác

Một phần của tài liệu Ứng dụng xử lý ảnh trong xác định nhóm máu bằng gelcard (Trang 57)

Tải bản đầy đủ (PDF)

(73 trang)