RAS坐标与IJK世界坐标转换
RAS是解剖坐标系,单位 mm
IJk是像素/体素坐标系, 单位像素pixel/ 体素 Voxel
需要了解的另外两个概念是 origin 和 spacing
- origin原点表示 第一个体素 Voxel(0,0,0) 在解剖坐标系中的位置
- 间距 spacing 表示沿指定轴上两个体素之间的距离
使用origin和spacing可以实现RAS坐标和IJK坐标之间的转换
- RAS坐标转换为IJK世界坐标时:
将原先的RAS坐标减去对应的原点坐标 再除以对应轴的spacing
void EdgeBall::rasToIJK(double ras[], int ijk[3]){
ijk[0] = (ras[0] - this->origin[0])/this->spacing[0];
ijk[1] = (ras[1] - this->origin[1])/this->spacing[1];
ijk[2] = (ras[2] - this->origin[2])/this->spacing[2];
}
- IJK 坐标转换为RAS坐标
IJK坐标乘上对应轴上的spacing再加上origin
void EdgeBall::ijkToRAS(int ijk[], double ras[3]){
ras[0] = (ijk[0])*this->spacing[0] + this->origin[0];
ras[1] = (ijk[1])*this->spacing[1] + this->origin[1];
ras[2] = (ijk[2])*this->spacing[2] + this->origin[2];
}
标签:origin,ijk,坐标,spacing,世界坐标,ras,IJK,RAS
From: https://blog.csdn.net/sinat_41053216/article/details/139856491