CBT_project/config/constant.py
Xiao Furen 2ae08ac2cd refactor(imaging): improve orientation detection and segmentation robustness
Refactor the preprocessing and segmentation pipeline to handle AP orientation
variations and improve anatomical boundary detection.

Key changes include:
- Implement automated AP orientation detection in `process_single_image`
  to handle prone scans by flipping CT and labels when necessary.
- Enhance `segment_spinous_process` using a gap-based approach to identify
  the spinal canal, providing more stable thresholds for spinous process
  and vertebral body segmentation.
- Improve optimization search space by using the vertebral body (VBODY)
  projection for x/z bounding box calculation instead of the whole bone.
- Refactor `render_bone_figure` to unify 2D/3D visualization and support
  detailed anatomical coloring (VBODY, spinous process).
- Update `cl_score_torch_xfr` with more robust penalty handling for
  out-of-bone and null-voxel regions.
- Add `retry_robust` utility to handle transient NFS file system errors.
- Update `xfr_preprocess.py` to include anatomical segmentation coloring
  in rotated level visualizations.
2026-09-07 18:46:06 +08:00

38 lines
No EOL
865 B
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
LABEL_MAP: 一般脊椎與label對應的順序若是自己標記的需要額外修改定義。
ALLOWED_DIAMETERS: 螺絲直徑範圍。
ALLOWED_LENGTHS: 螺絲長度範圍。
OVERLAP_THRESH: 圓柱體與骨頭接觸的比例0-1若低於這個閾值則會重跑。
spacing: 影像的spacing。
"""
LABEL_MAP = {
1: "C1", 2: "C2", 3: "C3", 4: "C4", 5: "C5", 6: "C6", 7: "C7",
8: "T1", 9: "T2", 10: "T3", 11: "T4", 12: "T5", 13: "T6", 14: "T7",
15: "T8", 16: "T9", 17: "T10", 18: "T11", 19: "T12",
20: "L1", 21: "L2", 22: "L3", 23: "L4", 24: "L5"
}
ALLOWED_DIAMETERS = [
# 3.5,
# 4.0,
4.5,
5.0,
5.5,
6.0,
6.5,
# 7.0,
# 7.5,
]
ALLOWED_LENGTHS = [
# 25,
30,
35,
40,
45,
# 50,
# 60,
# 70,
# 80,
]
OVERLAP_THRESH = 0.50
DEFAULT_SPACING = [0.5, 0.5, 0.5]