棋盘格用途

在进行图像配准时,棋盘格供用户浏览和查看,观察配准前后两组数据的变化、视觉上可以检验配准的效果,一般情况下,CBCT图像引导系统软件均包含有这类功能(如瓦里安)。

基本流程

假设两组数据分别为image1和image2:

  1. 先对两组数据进行叠加,有两种方法,一种是利用vtkImageBlend 添加两组数据,一种是将两组数据放在actor里,叠加actor;
  2. 实现vtkCommand的派生类,用于处理交互事件 ;
  3. 在派生类交互事件中,根据鼠标点击区域和截取范围,利用vtkExtractVOI 分别提取两组数据的ROI;
  4. 如果ROI1与ROI2的尺寸大小不一致时,后面会发生报错,因此需要先检测尺寸是否一致,不一致则需要重采样;
  5. 这里笔者之前采用vtkImageChangeInformation,但是发现其尺寸不好改变,即使发生改变,也不能在XYZ三个方向同时满足指定尺寸,因此采用vtkImageReslice ,将ROI2的尺寸与ROI1一致;
  6. 最终将两组大小一致的ROI放入vtkImageCheckerboard 生成棋盘格;
  7. 棋盘格的显示和隐藏是通过vtkImageActor来实现的。

部分代码

vtkImageReslice改变尺寸大小:

 double origin[3]; double spacing[3]; int ext[6];extractVOI1->GetOutput()->GetOrigin(origin);extractVOI1->GetOutput()->GetSpacing(spacing);extractVOI1->GetOutput()->GetExtent(ext);//Reslice current overlay roi to the same size of reference imagevtkSmartPointer<vtkImageReslice> overlayExtentReslice = vtkSmartPointer<vtkImageReslice>::New();overlayExtentReslice->SetOutputExtent(ext[0], ext[1], ext[2], ext[3], ext[4], ext[5]);overlayExtentReslice->SetOutputSpacing(spacing[0], spacing[1], spacing[2]);overlayExtentReslice->SetOutputOrigin(origin[0], origin[1], origin[2]);overlayExtentReslice->SetInputConnection(extractVOI2->GetOutputPort());overlayExtentReslice->SetOutputDimensionality(3);overlayExtentReslice->SetInterpolationModeToLinear();overlayExtentReslice->AutoCropOutputOff();overlayExtentReslice->SetResliceAxesOrigin(0, 0, 0);overlayExtentReslice->Update();checker->SetInputConnection(0, extractVOI1->GetOutputPort());checker->SetInputConnection(1, overlayExtentReslice->GetOutputPort());

三视图方向变化:

       // Reset checkboard orientationswitch (orientation){case 0:checker->SetNumberOfDivisions(2, 2, 1);break;case 1:checker->SetNumberOfDivisions(2, 1, 2);break;case 2:checker->SetNumberOfDivisions(1, 2, 2);break;}

图例


vtkImageCheckerboard生成棋盘格,跟随鼠标移动显示相关推荐

  1. DIV层跟随鼠标位置显示提示

    虽然IE也带提示功能,只要给title属性赋值,如下代码 <a href="http://chenxp2032.blog.163.com/blog/#" title=&quo ...

  2. python物体跟着鼠标走_用Python写一个跟随鼠标运动的自定义窗口

    背景:因为项目需要,要开发一个在PC上运行的应用程序,生成一个跟随鼠标运动的窗口,并且监听鼠标的点击事件,并在窗口上做相应的显示. 平台:Win7 64位 + Python27 64位 支持库:PyH ...

  3. cocos creator 3.x 精灵不显示、加载动态图片、物理碰撞、人物跟随鼠标移动、碰撞后节点销毁

    温馨提醒:即刻转去Unity3d 精灵不显示: 不要在空节点下直接添加组件 正确的做法是:在空节点(Node)上右键创建一个精灵才会给看到 或者直接拖曳一个图片放到场景编辑器中也可 cocos cre ...

  4. 鼠标经过,显示层并跟随鼠标

    效果图: HTML: <script src="../js/jquery-1.7.2.min.js" type="text/javascript"> ...

  5. 精灵跟随鼠标移动以及鼠标图标的显示与关闭

    今天讲一点小知识,如何让某对象跟着鼠标移动呢,如何让鼠标箭头被隐藏,接下来我用代码来解释.(注意:我用的是NGUI创建的精灵,代码上定义精灵和unity自带的精灵有一丢丢区别).spriteTest精 ...

  6. 求救啊~~zedgraph鼠标移动并显示相应的X轴和Y轴值鼠标移动的时候,有一条纵轴线跟随鼠标移动,同时显示

    [问题点数:100分,结帖人mdjs198] mdjs198 等级 结帖率 100% 好痛苦啊 ,自己做出来的效果太坑了...求救啊 zedgraph 鼠标移动并显示相应的X轴和Y轴值 鼠标移动的时候 ...

  7. 微信截图黑屏拖动鼠标显示绿色框,PrintScreen功能失效,截图显示绿框,截图显示POS和RGB的绿框,电脑截图失效跟随鼠标显示绿框

    问题描述 只要使用截图软件屏幕就会变黑(微信截图ALT+A,QQ截图等),并出现下面情形,跟随鼠标出现绿框 并且键盘上面带的PrintScreen失效 解决 最近买了个网课,给了个看视频的软件,大黄蜂 ...

  8. JavaScript基础13-day15【DOM增删改、DOM添加删除记录、操作内联样式、获取元素的样式、DOM Element 对象、滚动条练习、事件对象、div跟随鼠标移动、事件冒泡】

    学习地址: 谷粒学院--尚硅谷 哔哩哔哩网站--尚硅谷最新版JavaScript基础全套教程完整版(140集实战教学,JS从入门到精通) JavaScript基础.高级学习笔记汇总表[尚硅谷最新版Ja ...

  9. 图片跟随鼠标移动并放大js特效

    js实现图片放大,并跟随鼠标移动 图片跟随鼠标移动并放大js特效 很多网站有类似于淘宝放大镜的效果,只不过这里说的是 " 不仅能直接放大,而且会跟随鼠标移动 " ! 类似于&quo ...

最新文章

  1. Java利用Qrcode生成二维码
  2. 如何adb shell进入ctia模式
  3. c语言小游戏贪吃神,[原创]自己编的一个贪吃蛇小游戏
  4. Libra教程之:来了,你最爱的Move语言
  5. 掌握 Angular2 的服务 (service)
  6. 助力苏州、星火相传,广苏两地微软技术俱乐部交流纪实
  7. django 1.8 官方文档翻译:13-3 日志
  8. a6gpp php,内行人才知道的古董级玛莎拉蒂A6G 2000
  9. html flex 的高度,html – 使flexbox行成为最短子元素的高度?
  10. 配置codeblocks 的养眼colour theme ;鼠标颜色与型状配置,界面汉化,以及调试入门
  11. 用PPT制作 电子相册,进行抽奖准备.
  12. 用计算机模拟实验技术路线,自然科学基金申请书模板
  13. c语言宿舍管理系统程序,C语言——学生宿舍管理系统
  14. 关于Linux/kernel.h中的offsetof和container_of宏
  15. 天勤数据结构高分笔记二叉排序树的实现
  16. h5 右下角浮动按钮_基于javascript实现右下角浮动广告效果
  17. Oracle 从入门到精通系列 - 思维导图计划
  18. 小确幸BBS论坛-1-前期准备
  19. ROS简介-从零开始讲解ROS(适合超零基础阅读)
  20. ZigBee XBee:什么区别?终极解释

热门文章

  1. 你与顶级UI设计师的区别在哪里
  2. 教你如何求一个集合的所有非空子集的方差和
  3. 让我差点中计的电话诈骗套路!|凹凸日常
  4. vs2017 15.5.x dll调试不成功问题
  5. 为VMware vSphere创建Ubuntu 16.04 Terraform模板
  6. 画布渐变以及svg图形
  7. 技术研发方面工作经验总结
  8. 论文:DKN:Deep Knowledge-Aware Network for News Recommendatio
  9. 杭州软件测试人员工资水平,杭州软件测试工资待遇如何?
  10. 自旋对于synchronized关键字的底层意义与价值分析: