From 6f1241d437a475a8e30a618bbcdf914501814bfe Mon Sep 17 00:00:00 2001 From: Flook Date: Fri, 7 Nov 2025 05:27:24 +0700 Subject: [PATCH] =?UTF-8?q?Spleen=20Segmentation=20(=E0=B8=A1=E0=B9=89?= =?UTF-8?q?=E0=B8=B2=E0=B8=A1)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ai-medical/app.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/ai-medical/app.py b/ai-medical/app.py index e44e566..337f07d 100644 --- a/ai-medical/app.py +++ b/ai-medical/app.py @@ -182,7 +182,6 @@ async def spleen_segmentation(file: UploadFile = File(...)): predictor=model, overlap=0.5, mode="gaussian" ) - # ... (Softmax/Sigmoid/Argmax Logic - เหมือนเดิม) ... if prediction_raw.shape[1] > 1: prediction_prob = torch.softmax(prediction_raw, dim=1) segmentation_map = torch.argmax(prediction_prob, dim=1).cpu().numpy()[0] @@ -202,11 +201,6 @@ async def spleen_segmentation(file: UploadFile = File(...)): spleen_voxels = int(np.sum(segmentation_map == 1)) - # ต้อง Inverse Transform Segmentation Map กลับไปยัง Spacing เดิม - # อย่างไรก็ตาม ในการใช้งานจริง มักใช้ Voxel Volume ของ Resampled Image (ซึ่งมี Spacing คงที่) - # เนื่องจาก Monai/Inferer มักจะทำการ Resample ก่อน และ Volume Calculation ในงานวิจัย - # ส่วนใหญ่จะใช้น้ำหนัก Spacing หลัง Resample แล้ว (target_spacing) เพื่อรักษาความสม่ำเสมอ - # เราจะใช้ target_spacing เพื่อความสอดคล้องกับ Segmentation Map ที่ได้ resampled_voxel_volume_mm3 = float(np.prod(target_spacing))