SlicerNNUnet là một extension mã nguồn mở cho 3D Slicer giúp bạn cài đặt và chạy các mô hình nnUNet chỉ với thư mục huấn luyện. Repo này giải quyết nỗi đau tích hợp nnUNet vào môi trường Slicer vốn phức tạp trước đây, dành cho các nhà phát triển và nhà nghiên cứu muốn triển khai segmentation y tế nhanh chóng.
Thank you for reading this post, don't forget to subscribe!Những điểm chính
- Tích hợp trực tiếp nnUNet vào 3D Slicer chỉ với vài click, không cần cấu hình thủ công.
- Tự động cài đặt nnUNet và quản lý phiên bản ngay trong giao diện Slicer.
- Hỗ trợ cấu trúc thư mục weights chuẩn của nnUNet, giúp tránh lỗi inference.
- Phù hợp cho các nhà nghiên cứu y tế và developer muốn chạy segmentation 3D bằng deep learning.
SlicerNNUnet là gì và giải quyết vấn đề gì?

SlicerNNUnet là một module mở rộng cho 3D Slicer, được phát triển bởi KitwareMedical, cho phép bạn cài đặt nnUNet và chạy các mô hình huấn luyện trực tiếp trong Slicer. Trước đây, việc tích hợp nnUNet đòi hỏi nhiều bước thủ công bên ngoài, nhưng extension này gói gọn mọi thứ vào một widget duy nhất. Bạn chỉ cần cung cấp thư mục chứa weights và dataset.json, phần còn lại extension xử lý tự động. Dự án được đồng tài trợ bởi Fédération Française d’Orthodontie và COSY RHU Project, cho thấy độ tin cậy trong ứng dụng lâm sàng.
Bạn có thể xem chi tiết tại repository gốc trên GitHub.
Những tính năng nổi bật

Extension này có giao diện trực quan với các nút Install, Run Settings và Apply. Sau khi cài đặt nnUNet, bạn sẽ thấy phiên bản hiện tại (nếu là None nghĩa là chưa cài). Đường dẫn model được lưu lại cho lần sau. Quá trình inference hiển thị log chi tiết và kết quả segmentation tự động nạp vào Segment Editor. Một điểm cần lưu ý: extension yêu cầu cấu trúc thư mục weights đúng chuẩn (Dataset ID, trainer name, fold folders, weight file checkpoint_final.pth). Nếu sai, sẽ báo lỗi và có phương thức isValid để kiểm tra.
Hướng dẫn cài đặt & sử dụng

Dưới đây là các bước cơ bản để bắt đầu với SlicerNNUnet:
- Cài đặt extension từ Extension Manager trong 3D Slicer (tìm ‘SlicerNNUnet’).
- Sau khi cài, vào menu Segmentation > nnUNet hoặc tìm trong modules.
- Nhấn nút ‘nnUNet Install’ để cài đặt thư viện nnUNet. Có thể cần restart Slicer.
- Sau khi cài xong, nhấn ‘nnUNet Run Settings’ để chỉ đường dẫn đến thư mục model. Thư mục này phải chứa file
dataset.json. - Chọn volume đầu vào trong Volume Input Editor.
- Nhấn Apply và theo dõi log. Kết quả sẽ hiện trong Segment Editor.
Cấu trúc thư mục weights phải tuân theo: Dataset001 (hoặc tên bắt đầu bằng Dataset hoặc số), bên trong là nnUNetTrainer__nnUNetPlans__3d_fullres, rồi các thư mục fold_0, fold_1… chứa file checkpoint_final.pth. Ngoài ra cần có dataset.json ở cấp cao nhất.
Ai nên dùng — ai không nên?

Đối tượng phù hợp: các nhà phát triển AI y tế đã huấn luyện mô hình nnUNet và muốn triển khai trong 3D Slicer để phân tích hình ảnh; các bác sĩ nghiên cứu muốn chạy phân đoạn tự động trên dữ liệu của họ. Đối tượng không phù hợp: người mới bắt đầu chưa quen với nnUNet hoặc 3D Slicer; những ai cần inference thời gian thực vì extension này chạy offline; hoặc nếu bạn có mô hình với cấu trúc thư mục không chuẩn, bạn sẽ gặp lỗi.
Câu hỏi thường gặp
Có cần restart 3D Slicer sau khi cài nnUNet không?
Có, README khuyến cáo restart Slicer sau khi cài đặt nnUNet để đảm bảo mọi thứ hoạt động đúng trước khi chạy inference.
Cấu trúc thư mục weights bắt buộc như thế nào?
Thư mục phải chứa dataset.json ở root và tuân theo cấu trúc: thư mục Dataset, trainer name, fold folders, và file checkpoint_final.pth. Nếu sai, prediction sẽ báo lỗi và bạn có thể dùng phương thức isValid để kiểm tra.
Có thể chạy nhiều mô hình khác nhau không?
Có, bạn chỉ cần thay đổi đường dẫn model trong Run Settings. Đường dẫn được lưu lại sau lần đầu, giúp bạn dễ dàng chuyển đổi giữa các mô hình.
Kết luận
SlicerNNUnet là công cụ hữu ích cho bất kỳ ai đang làm việc với nnUNet và 3D Slicer, giúp rút ngắn thời gian tích hợp và giảm lỗi cấu hình. Hãy truy cập repository GitHub để tải về và bắt đầu ngay hôm nay nha!

