QuangStation V2 là một hệ thống lập kế hoạch xạ trị mã nguồn mở tiên tiến, được phát triển bởi Mạc Đăng Quang. Phần mềm được thiết kế để hỗ trợ các chuyên gia y tế trong quá trình lập kế hoạch điều trị ung thư chính xác và hiệu quả, kết hợp các công nghệ tiên tiến và thuật toán vật lý phức tạp.
- Quản lý toàn diện dữ liệu DICOM
- Hỗ trợ đầy đủ CT, MRI, RT Structure, RT Dose, RT Plan, RT Image
- Nhập/xuất DICOM theo chuẩn DICOM RT
- Sao lưu và phục hồi dữ liệu
- Quản lý bệnh nhân và kế hoạch
- Lưu trữ và quản lý thông tin bệnh nhân
- Quản lý nhiều kế hoạch xạ trị cho một bệnh nhân
- Hệ thống phiên làm việc an toàn với khôi phục tự động
- Hiển thị hình ảnh 2D/3D tiên tiến
- Hiển thị đa mặt phẳng (MPR) với Axial, Sagittal, Coronal
- Rendering 3D với khả năng xoay, phóng to/thu nhỏ
- Điều chỉnh độ tương phản, độ sáng và các bộ lọc hình ảnh
- Công cụ điều khiển hình ảnh
- Đo khoảng cách, góc và diện tích trên hình ảnh
- Hiển thị giá trị HU tại điểm quan tâm
- Chức năng thay đổi độ trong suốt và màu sắc hiển thị
- Công cụ vẽ và chỉnh sửa Contour chuyên nghiệp
- Vẽ contour thủ công với nhiều công cụ vẽ khác nhau
- Chỉnh sửa contour với các công cụ push/pull, smooth, interpolate
- Tạo cấu trúc từ phép toán boolean (union, intersection, subtraction)
- Tạo margin tự động (expansion, contraction)
- Phân đoạn tự động với AI
- Phân đoạn tự động các cơ quan nguy cấp (OAR) sử dụng mạng U-Net
- Hỗ trợ tải và sử dụng nhiều mô hình đã huấn luyện
- Tự động điều chỉnh và tinh chỉnh kết quả phân đoạn
- Đa dạng thuật toán tính toán liều xạ trị
- Collapsed Cone Convolution (CCC)
- Pencil Beam
- Analytical Anisotropic Algorithm (AAA)
- Acuros XB
- Convolution Superposition
- Monte Carlo
- Mô hình vật lý nâng cao
- Tính toán TERMA (Total Energy Released per unit MAss)
- Mô hình hóa đầy đủ tương tác chùm tia-vật chất
- Hiệu chỉnh không đồng nhất (heterogeneity correction)
- Mô phỏng các hiệu ứng tán xạ và hấp thụ
- Hỗ trợ nhiều kỹ thuật xạ trị
- 3D-CRT (Conformal Radiation Therapy)
- IMRT (Intensity Modulated Radiation Therapy)
- VMAT (Volumetric Modulated Arc Therapy)
- SRS/SBRT (Stereotactic Radiosurgery/Stereotactic Body Radiation Therapy)
- Proton Therapy
- Adaptive Radiation Therapy
- Quản lý MLC (Multi-Leaf Collimator)
- Hiển thị và điều chỉnh MLC trong Beam's Eye View (BEV)
- Tự động điều chỉnh lá MLC dựa trên hình dạng cấu trúc
- Mô phỏng chuyển động của MLC trong kỹ thuật VMAT
- Tối ưu hóa liều xạ trị
- Tối ưu hóa dựa trên ràng buộc (Constraint-based optimization)
- Tối ưu hóa dựa trên mục tiêu (Objective-based optimization)
- Tối ưu hóa MCO (Multi-Criteria Optimization)
- Tự động điều chỉnh trọng số tối ưu
- Tối ưu hóa dựa trên kiến thức (KBP - Knowledge-Based Planning)
- Dự đoán DVH tối ưu dựa trên dữ liệu lịch sử
- Tối ưu hóa tự động dựa trên kế hoạch tương tự
- Tạo mục tiêu tối ưu dựa trên dữ liệu học máy
- Đánh giá kế hoạch qua Biểu đồ Liều-Thể tích (DVH)
- Hiển thị DVH tương tác với nhiều tùy chọn hiển thị
- Phân tích thống kê DVH với các chỉ số Dmin, Dmax, Dmean, Vx, Dx
- Xuất dữ liệu DVH sang nhiều định dạng
- Chỉ số đánh giá kế hoạch
- Chỉ số đồng dạng (Conformity Index - CI)
- Chỉ số đồng nhất (Homogeneity Index - HI)
- Chỉ số gradient (Gradient Index - GI)
- Phân tích liều điểm nóng (Hotspot Analysis)
- Tính toán hiệu quả sinh học
- Tính BED (Biologically Effective Dose)
- Tính EQD2 (Equivalent Dose in 2Gy fractions)
- Mô hình TCP (Tumor Control Probability)
- Mô hình NTCP (Normal Tissue Complication Probability)
- Tạo báo cáo điều trị chi tiết
- Báo cáo kế hoạch điều trị với hình ảnh và đồ thị
- Báo cáo QA (Quality Assurance)
- Báo cáo so sánh kế hoạch
- Báo cáo theo dõi điều trị
- Xuất dữ liệu đa dạng
- Xuất DICOM RT theo chuẩn
- Xuất báo cáo dạng PDF, DOCX
- Xuất dữ liệu phân tích dạng CSV, Excel
- Xuất hình ảnh và đồ thị dạng PNG, JPEG, SVG
- Python: 3.8 trở lên
- Hệ điều hành: Windows 10+, macOS, Linux
- Phần cứng:
- CPU: 4 nhân trở lên
- RAM: 8GB trở lên (khuyến nghị 16GB cho dữ liệu lớn)
- Không gian đĩa: 10GB trống
- Khuyến nghị: GPU hỗ trợ CUDA (cho tính toán Monte Carlo và AI)
pip install quangstation# Clone repository
git clone https://github.com/QuangMacHust/QuangStationV2.git
cd QuangStationV2
# Cài đặt các phụ thuộc
pip install -r requirements.txt
# Cài đặt trong chế độ phát triển
pip install -e .
# Khởi chạy ứng dụng
python launcher.pyQuangStation V2 đã được tái cấu trúc thành một dự án có tổ chức theo nguyên tắc phân chia trách nhiệm rõ ràng. Dưới đây là chi tiết về cấu trúc thư mục mới:
QuangStationV2/
├── quangstation/ # Package chính
│ ├── core/ # Module cốt lõi
│ │ ├── data_models/ # Các mô hình dữ liệu
│ │ ├── io/ # Đọc/ghi dữ liệu
│ │ └── utils/ # Công cụ tiện ích
│ │
│ ├── clinical/ # Module lâm sàng
│ │ ├── data_management/ # Quản lý dữ liệu bệnh nhân, kế hoạch
│ │ ├── contouring/ # Phân đoạn và contour
│ │ ├── planning/ # Lập kế hoạch điều trị
│ │ │ └── techniques/ # Các kỹ thuật điều trị
│ │ ├── dose_calculation/ # Tính toán liều lượng
│ │ ├── optimization/ # Tối ưu hóa kế hoạch
│ │ └── plan_evaluation/ # Đánh giá kế hoạch
│ │
│ ├── gui/ # Giao diện người dùng
│ │ ├── widgets/ # Các widget tùy chỉnh
│ │ ├── views/ # Các màn hình chính
│ │ └── dialogs/ # Hộp thoại
│ │
│ ├── quality/ # Đảm bảo chất lượng & báo cáo
│ │ ├── quality_assurance/ # Kiểm tra chất lượng
│ │ └── reporting/ # Tạo báo cáo
│ │
│ ├── services/ # Dịch vụ hỗ trợ
│ │ ├── image_processing/ # Xử lý hình ảnh
│ │ └── integration/ # Tích hợp hệ thống
│ │
│ ├── __init__.py # Khởi tạo package
│ └── __main__.py # Điểm vào chính
│
├── resources/ # Tài nguyên ứng dụng
│ ├── icons/ # Biểu tượng giao diện
│ ├── templates/ # Mẫu báo cáo
│ ├── models/ # Mô hình AI đã huấn luyện
│ └── data/ # Dữ liệu tham chiếu
│
├── docs/ # Tài liệu
│ ├── user_manual/ # Hướng dẫn người dùng
│ ├── developer_guide/ # Hướng dẫn phát triển
│ └── api/ # Tài liệu API
│
├── tests/ # Kiểm thử
├── scripts/ # Script hỗ trợ
├── launcher.py # Script khởi chạy ứng dụng
├── setup.py # Script cài đặt
└── requirements.txt # Phụ thuộc
-
data_models/: Định nghĩa các cấu trúc dữ liệu cơ bản
image_data.py: Mô hình dữ liệu hình ảnh y tế (CT, MRI, PET)structure_data.py: Mô hình dữ liệu cấu trúc giải phẫuplan_data.py: Mô hình dữ liệu kế hoạch xạ trịdose_data.py: Mô hình dữ liệu liều xạ trịpatient_data.py: Mô hình dữ liệu bệnh nhânbeam_data.py: Mô hình dữ liệu chùm tia
-
io/: Xử lý nhập/xuất dữ liệu
dicom_parser.py: Phân tích dữ liệu DICOMdicom_import.py: Nhập dữ liệu từ DICOMdicom_export.py: Xuất dữ liệu sang DICOMdicom_export_rt.py: Xuất dữ liệu xạ trị sang DICOM RTdicom_constants.py: Các hằng số DICOMfile_utils.py: Tiện ích xử lý file
-
utils/: Các công cụ tiện ích
logging.py: Hệ thống ghi logconfig.py: Quản lý cấu hìnhexternal_integration.py: Tích hợp thư viện bên ngoàigeometry.py: Các hàm hình học không giandata_validation.py: Kiểm tra tính hợp lệ của dữ liệuperformance.py: Đo lường và tối ưu hiệu suất
-
data_management/: Quản lý dữ liệu lâm sàng
patient_db.py: Cơ sở dữ liệu bệnh nhânsession_management.py: Quản lý phiên làm việcplan_manager.py: Quản lý kế hoạch xạ trịimport_interface.py: Giao diện nhập dữ liệu
-
contouring/: Công cụ phân đoạn và vẽ contour
contour_tools.py: Công cụ vẽ contourauto_segmentation.py: Phân đoạn tự động với AIorgan_library.py: Thư viện cơ quan giải phẫu
-
planning/: Lập kế hoạch điều trị
plan_config.py: Cấu hình kế hoạchbeam_management.py: Quản lý chùm tiamlc_manager.py: Quản lý MLC (Multi-Leaf Collimator)bolus_manager.py: Quản lý bolustechniques/: Thư mục chứa các kỹ thuật xạ trịbase.py: Lớp cơ sở cho các kỹ thuậtconventional.py: 3D-CRTimrt.py: IMRT (Intensity Modulated Radiation Therapy)vmat.py: VMAT (Volumetric Modulated Arc Therapy)stereotactic.py: SRS/SBRT (Stereotactic)proton_therapy.py: Proton Therapyadaptive_rt.py: Adaptive Radiation Therapyfif.py: Field-in-Field technique
-
dose_calculation/: Tính toán liều lượng
dose_engine_wrapper.py: Wrapper cho các thuật toán tính liềuadvanced_algorithms.py: Các thuật toán tính liều nâng caomonte_carlo.py: Thuật toán Monte Carlodose_engine.cpp: Module C++ tính liều hiệu suất cao
-
optimization/: Tối ưu hóa kế hoạch
goal_optimizer.py: Tối ưu hóa dựa trên mục tiêuplan_optimizer.py: Tối ưu hóa kế hoạchoptimizer_wrapper.py: Wrapper cho các thuật toán tối ưukbp_optimizer.py: Tối ưu hóa dựa trên kiến thức (KBP)optimizer.cpp: Module C++ tối ưu hóa hiệu suất cao
-
plan_evaluation/: Đánh giá kế hoạch
dvh.py: Tính toán Dose Volume Histogramplan_metrics.py: Các chỉ số đánh giá kế hoạchbiological_effects.py: Mô hình hiệu ứng sinh họcbiological_metrics.py: Chỉ số đánh giá sinh họcplan_comparison.py: So sánh kế hoạchplan_qa.py: QA (Quality Assurance) kế hoạch
-
widgets/: Các widget tùy chỉnh
mpr_viewer.py: Viewer hình ảnh đa mặt phẳngdvh_viewer.py: Viewer Dose Volume Histogramviewer_3d.py: Viewer 3D
-
views/: Các màn hình chính
main_view.py: Màn hình chínhpatient_view.py: Màn hình quản lý bệnh nhânplan_view.py: Màn hình lập kế hoạchcontour_view.py: Màn hình contourdose_view.py: Màn hình hiển thị liềuevaluation_view.py: Màn hình đánh giá kế hoạch
-
dialogs/: Hộp thoại
import_dialog.py: Hộp thoại nhập dữ liệuexport_dialog.py: Hộp thoại xuất dữ liệukbp_trainer_dialog.py: Hộp thoại huấn luyện KBPgoal_optimizer_dialog.py: Hộp thoại tối ưu mục tiêu
-
splash_screen.py: Màn hình chào đón -
struct_panel.py: Panel quản lý cấu trúc -
mlc_animation.py: Hiển thị chuyển động MLC -
main_window.py: Cửa sổ chính ứng dụng -
patient_manager.py: Quản lý bệnh nhân -
plan_design.py: Thiết kế kế hoạch (cần tách thành các file nhỏ hơn)
-
quality_assurance/: Kiểm tra chất lượng
qa_tools.py: Công cụ QAadvanced_qa.py: Công cụ QA nâng cao
-
reporting/: Tạo báo cáo
report_gen.py: Tạo báo cáo cơ bảnpdf_report.py: Tạo báo cáo PDFqa_report.py: Báo cáo QAcomprehensive_report.py: Báo cáo toàn diệnenhanced_report.py: Báo cáo nâng cao
-
image_processing/: Xử lý hình ảnh
image_loader.py: Đọc và xử lý hình ảnhsegmentation.py: Thuật toán phân đoạn hình ảnh
-
integration/: Tích hợp hệ thống
integration.py: Tích hợp với các hệ thống bên ngoài
Để triển khai cấu trúc thư mục mới, bạn cần thực hiện các bước sau:
# Tạo thư mục chính
mkdir -p quangstation/{core,clinical,gui,quality,services}
# Tạo các thư mục con trong core
mkdir -p quangstation/core/{data_models,io,utils}
# Tạo các thư mục con trong clinical
mkdir -p quangstation/clinical/{data_management,contouring,planning/techniques,dose_calculation,optimization,plan_evaluation}
# Tạo các thư mục con trong gui
mkdir -p quangstation/gui/{widgets,views,dialogs}
# Tạo các thư mục con trong quality
mkdir -p quangstation/quality/{quality_assurance,reporting}
# Tạo các thư mục con trong services
mkdir -p quangstation/services/{image_processing,integration}Ví dụ di chuyển các file mô hình dữ liệu:
# Di chuyển các file data_models
cp quangstation/data_models/*.py quangstation/core/data_models/
# Di chuyển các file io
cp quangstation/io/*.py quangstation/core/io/
# Di chuyển các file utils
cp quangstation/utils/*.py quangstation/core/utils/
# Tương tự cho các module khác...Sau khi di chuyển các file, bạn cần cập nhật tất cả các import trong các file để phản ánh cấu trúc thư mục mới. Ví dụ:
- Thay đổi từ
from quangstation.data_models import image_datathànhfrom quangstation.core.data_models import image_data - Thay đổi từ
from quangstation.io import dicom_parserthànhfrom quangstation.core.io import dicom_parser - v.v.
Thao tác này có thể thực hiện thủ công hoặc sử dụng script để tự động thay thế.
Cập nhật file setup.py để phản ánh cấu trúc thư mục mới:
from setuptools import setup, find_packages
setup(
name="quangstation",
version="2.0.0",
packages=find_packages(),
# ...
)Sau khi triển khai cấu trúc mới, chạy các kiểm tra để đảm bảo mọi thứ hoạt động bình thường:
# Kiểm tra cài đặt
pip install -e .
# Chạy ứng dụng
python launcher.pyMột số file trong dự án hiện tại có kích thước rất lớn và nên được tách thành các file nhỏ hơn:
File này nên được tách thành nhiều file nhỏ hơn, mỗi file đại diện cho một chức năng cụ thể:
gui/views/plan_design_view.py: Cấu trúc chính của màn hìnhgui/views/beam_setup_view.py: Thiết lập chùm tiagui/views/dose_view.py: Hiển thị liềugui/views/structure_view.py: Quản lý cấu trúcgui/views/optimization_view.py: Giao diện tối ưu hóa
File này nên được tách thành các module khác nhau theo chức năng:
core/app.py: Khởi tạo ứng dụngcore/session.py: Quản lý phiên làm việcgui/main_application.py: Điểm vào giao diệnservices/app_service.py: Dịch vụ ứng dụng
- Tác giả: Mạc Đăng Quang
- Email: quangmacdang@gmail.com
- Điện thoại: 0974478238
- Website: quangstation.com
Dự án được phân phối dưới Giấy phép MIT. Xem LICENSE để biết chi tiết.
- Phiên bản: 2.0.0-beta
- Tiến độ: 65%
- Dự kiến phát hành chính thức: tháng 6/2024
Nếu bạn thấy dự án hữu ích, hãy cho chúng tôi một sao ⭐ trên GitHub!