当前位置: 首页 > news >正文

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

http://www.xdnf.cn/news/123517.html

相关文章:

  • 【MongoDB】卸载、安装低版本
  • RabbitMQ 中的队列声明
  • 动态规划dp专题-(下)
  • Ollama工具调用(Tool Calls)业务应用案例
  • 网站高可用架构设计基础——高可用策略和架构原则
  • 实现Variant
  • Ubuntu中选择Python虚拟环境
  • 仿真每日一练 | ABAQUS应力松弛
  • 【Java 数据结构】泛型
  • golang的cgo的一点小心得
  • 智能电网第5期 | 老旧电力设备智能化改造:协议转换与边缘计算
  • Spring Boot默认缓存管理
  • 第J5周:DenseNet+SE-Net实战
  • 手机端本地服务与后端微服务的技术差异
  • 模板元编程(Template Metaprogramming, TMP)
  • Redis 完整配置模板
  • 【UML建模】starUML工具
  • 房地产安装工程师简历模板
  • BBRv2,v3 吞吐为什么不如 BBRv1
  • Python元组全面解析:从基础到高级应用指南
  • AI文生图模型对比
  • 详解数据存储中的端到端数据校验技术
  • .NETCore部署流程
  • Caffeine 深度解析:从核心原理到生产实践
  • 保安员理论考试要点总结
  • 如何初入学习编程包含学习流程图
  • 多路转接epoll原理详解
  • SLAM常用地图对比示例
  • OSI七层模型和TCP/IP四层模型
  • Kotlin函数体详解:表达式函数体 vs 代码块函数体——使用场景与最佳实践