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.
38 lines
No EOL
865 B
Python
38 lines
No EOL
865 B
Python
"""
|
||
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] |