三维重建模块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 是反的。

相关推荐
心疼你的一切1 小时前
三维创世:CANN加速的实时3D内容生成
数据仓库·深度学习·3d·aigc·cann
3DVisionary10 小时前
掌控发动机“心脏”精度:蓝光3D扫描在凸轮轴全尺寸检测中的应用
3d·图形渲染·汽车发动机·精密测量·蓝光3d扫描·凸轮轴检测·形位公差
coder攻城狮17 小时前
VTK系列1:在屏幕绘制多边形
c++·3d
PHOSKEY19 小时前
3D工业相机如何“读透”每一个字符?快速识别、高精度3D测量
数码相机·3d
XX風1 天前
7.2 harris 3d
3d
多恩Stone1 天前
【3D-AICG 系列-3】Trellis 2 的O-voxel (下) Material: Volumetric Surface Attributes
人工智能·3d·aigc
多恩Stone1 天前
【3D-AICG 系列-1】Trellis v1 和 Trellis v2 的区别和改进
人工智能·pytorch·python·算法·3d·aigc
三年模拟五年烧烤1 天前
easy-threesdk快速一键搭建threejs3d可视化场景
3d·threejs
top_designer1 天前
Materialize:手绘地表太假?“PBR 纹理炼金术” 5分钟生成次世代材质
游戏·3d·aigc·材质·设计师·游戏美术·pbr
esmap1 天前
OpenClaw与ESMAP AOA定位系统融合技术分析
前端·人工智能·计算机视觉·3d·ai·js