三维重建模块VR,3DCursor,MPR与VR的坐标转换

MPR里的reslicecursor 的坐标与 vtkimage 坐标一致。

但三维窗格里的vtkvolume 的坐标是相对坐标,坐标值依然是MM单位。

用中心点的偏移量比较容易实现,交互中Reslicercursor中心点 距离 vtkimagedata 的中心点   的偏移量,用于vtkvolume即可。

//转换为3D VTKVOLUME 坐标系
void MprBoxControlInteral::CalculateCursorCenter(double center[3])
{
    if (!m_resliceCursor || !m_imageData || !m_volume) {
        double* volCenter = m_volume ? m_volume->GetCenter() : nullptr;
        if (volCenter) {
            center[0] = volCenter[0];
            center[1] = volCenter[1];
            center[2] = volCenter[2];
        }
        return;
    }

    double* cursorCenter = m_resliceCursor->GetCenter();
    double* imageDataCenter = m_imageData->GetCenter();
    double* volCenter = m_volume->GetCenter();

    double offset[3] = { 0, 0, 0 };
    offset[0] = cursorCenter[0] - imageDataCenter[0];
    offset[1] = cursorCenter[1] - imageDataCenter[1];
    offset[2] = cursorCenter[2] - imageDataCenter[2];

    center[0] = volCenter[0] + offset[0];
    center[1] = volCenter[1] - offset[1];
    center[2] = volCenter[2] - offset[2];
}

有一个问题,我这个vtkvulome的  上下 前后,与vtkimagedata 是反的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

灿烂李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值