1. NIfTI 坐标系与 DICOM 坐标系的差异
DICOM 坐标系:
- 使用 左手系:
- X 轴:从患者左侧到右侧(L → R)。
- Y 轴:从患者背部到前部(P → A)。
- Z 轴:从患者脚部到头部(F → H)。
NIfTI 坐标系:
- 使用 右手系:
- X 轴:从左到右。
- Y 轴:从后到前。
- Z 轴:从下到上。
由于这两个坐标系的手性不同,在从 DICOM 转换到 NIfTI 时,方向可能会发生翻转。这会影响 image_position_patient
的计算和显示。
如果不进行坐标系转换,代码如下
def dicom_to_nifti(dicom_path, output_nii_path):
# 获取所有 DICOM 文件路径
dicom_files = [os.path.join(dicom_path, f) for f in os.listdir(dicom_path) if f.endswith('.dcm')]
# 加载 DICOM 数据并按 InstanceNumber 排序
dicom_data = [pydicom.dcmread(f) for f in dicom_files]
dicom_data.sort(key=lambda x: float(x.ImagePositionPatient[2