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

专业网站设计专家响应式网站怎么做pc端的

专业网站设计专家,响应式网站怎么做pc端的,网站建设建站在线建站,新乡外贸网站建设一、Cornerstone3D 是什么? Cornerstone3D官网:https://www.cornerstonejs.org/ 在线查看显示效果(加载需时间,可先点击运行),欢迎fork 二、代码示例 了解了Cornerstone是什么,有什么作用后&…

一、Cornerstone3D 是什么?

介绍

  • Cornerstone3D官网:https://www.cornerstonejs.org/

  • 在线查看显示效果(加载需时间,可先点击运行),欢迎fork

二、代码示例

了解了Cornerstone是什么,有什么作用后,我们先看一下如何去渲染两种比较重要的影像,栈影像和Volume影像,感受一下代码的逻辑及运行顺序,先有个初始的了解。

1. 渲染一个栈图的核心片段

// 准备一个渲染引擎 => renderingEngine
const renderingEngine = new RenderingEngine(this.renderingEngineId);// 在渲染引擎中创建并加载视图,使视图与HTML元素绑定
const viewportId = "CT_AXIAL_STACK";
const viewportInput = {viewportId: viewportId,element: document.querySelector("#element1"),type: csEnums.ViewportType.STACK,
};
renderingEngine.enableElement(viewportInput);const viewport = renderingEngine.getViewport(viewportId);
viewport.setStack(imageIds, 60);
viewport.render();

2. 渲染一个Volume图的核心代码


// 准备一个渲染引擎 => renderingEngine
const renderingEngine = new RenderingEngine(this.renderingEngineId);// 去创建并缓存一个Volume
const volume = await volumeLoader.createAndCacheVolume(this.volumeId, {imageIds,
});// 在渲染引擎中创建并加载视图,使视图与HTML元素绑定
const viewportId1 = "CT_AXIAL";
const viewportId2 = "CT_SAGITTAL";
const viewportId3 = "CT_CORONAL";
const viewportInputArray = [{viewportId: viewportId1,type: csEnums.ViewportType.ORTHOGRAPHIC,element: document.querySelector("#element1"),defaultOptions: {orientation: csEnums.OrientationAxis.AXIAL,},},{viewportId: viewportId2,type: csEnums.ViewportType.ORTHOGRAPHIC,element: document.querySelector("#element2"),defaultOptions: {orientation: csEnums.OrientationAxis.SAGITTAL,},},{viewportId: viewportId3,type: csEnums.ViewportType.ORTHOGRAPHIC,element: document.querySelector("#element3"),defaultOptions: {orientation: csEnums.OrientationAxis.CORONAL,},},
];
renderingEngine.setViewports(viewportInputArray);// 加载Volume => 注意:创建是创建,加载是加载,加载时才会去请求Dicom文件
volume.load();// 在视图上设置Volume
await setVolumesForViewports(renderingEngine,[{volumeId: this.volumeId,},],[viewportId1, viewportId2, viewportId3]
);// 渲染图像
renderingEngine.renderViewports([viewportId1, viewportId2, viewportId3]);

三、渲染流程解析

我们在有了初始印象后,就要开始看一下它具体是如何执行的。如果想要在自己的项目中使用这个库应该如何去做,下面对渲染流程在步骤上进行一个详解的解读,至于运行原理会在后面源码解析篇展开。

  • 👉 在项目中安装Cornerstone3D库
# 关注node版本,较低版本(16.10以下)可能会安装失败
npm install @cornerstonejs/core
npm install @cornerstonejs/tools
npm install @cornerstonejs/streaming-image-volume-loader
  • 👉 准备Dom元素及加载的Dicom文件

Cornerstone官网已部署了一部分测试Dicom文件,相关调用可查看演示代码

  <div id="demo-wrap"><div id="element1" class="cornerstone-item"></div><div id="element2" class="cornerstone-item"></div><div id="element3" class="cornerstone-item"></div></div>
  • 👉 准备一个渲染引擎 => renderingEngine
const renderingEngine = new RenderingEngine(this.renderingEngineId);
  • 👉 创建并缓存一个Volume
const volume = await volumeLoader.createAndCacheVolume(this.volumeId, {imageIds,
});
  • 👉 在渲染引擎中创建并加载视图,使视图与HTML元素绑定
const viewportId1 = "CT_AXIAL";
const viewportId2 = "CT_SAGITTAL";
const viewportId3 = "CT_CORONAL";
const viewportInputArray = [
{viewportId: viewportId1,type: csEnums.ViewportType.ORTHOGRAPHIC,element: document.querySelector("#element1"),defaultOptions: {orientation: csEnums.OrientationAxis.AXIAL,},
},
{viewportId: viewportId2,type: csEnums.ViewportType.ORTHOGRAPHIC,element: document.querySelector("#element2"),defaultOptions: {orientation: csEnums.OrientationAxis.SAGITTAL,},
},
{viewportId: viewportId3,type: csEnums.ViewportType.ORTHOGRAPHIC,element: document.querySelector("#element3"),defaultOptions: {orientation: csEnums.OrientationAxis.CORONAL,},
},
];
renderingEngine.setViewports(viewportInputArray);
  • 👉 加载Volume => 注意:创建是创建,加载是加载,加载时才会去请求Dicom文件
 volume.load();
  • 👉 在视图上设置Volume
  await setVolumesForViewports(renderingEngine,[{volumeId: this.volumeId,},],[viewportId1, viewportId2, viewportId3]);
  • 👉 渲染图像
renderingEngine.renderViewports([viewportId1, viewportId2, viewportId3]);
  • 🎉 bingo 渲染结果
    在这里插入图片描述

四、核心概念解析

当然,上面的代码虽然运行成功了,但是还是要刨根问底,知道每个步骤涉及到的核心点是什么,有什么作用,做到知己知彼,才能在我们的代码中少踩坑。下面是涉及到的几个核心的基础概念解读

ImageId

在这里插入图片描述

imageLoader

在这里插入图片描述

RenderingEngine

在这里插入图片描述

该系列为从浅入深Cornerstone系列,包括cornerstone核心概念、基础使用、常见案例、工具使用、运行原理、源码解读等等,欢迎Fork演示Github:https://github.com/jianyaoo/vue-cornerstone-demo,一起讨论更多Cornerstone相关实践。

http://www.yayakq.cn/news/849349/

相关文章:

  • 如果评价网站做的好不好专业柳州网站建设哪家好
  • wordpress邮箱链接修复seo做的比较牛的公司
  • 学习资料黄页网站免费中国菲律宾商会
  • 网站版式有哪几种徐州网站建设培训班
  • 想做个网站找谁做揭阳市建设局网站
  • asp网站相册河南十大营销策划公司
  • 网站怎么做备份数据库建设一个企业网站一般多少钱
  • 专业网站建设网站推广如何建立平台网站
  • 专业微信网站建设网站空间支持下载但不能下载文件
  • 网站建设与管理专业就业方向营销型网站建设企业营销型网站平台
  • 做ic比较有名的网站个人网站开发的背景
  • 网站推广是做什么工作ai网页界面设计
  • 建设网站300多块钱aspx网站架设教程
  • 郑州网站推广公司排名快站科技是什么
  • 网站推广资讯做电影网站解析
  • 服装公司网站建设方案网站设计制作公司推荐
  • 西安分销商城网站建设学生如何自己做网站
  • 网站设计有限公司个人网站开发技术要求
  • c 网站开发的书籍南宁建行 网站
  • 电子技术支持 东莞网站建设南京有哪些做网站的公司
  • 宁波市住房和城乡建设厅网站wordpress用户验证码
  • 网站开发哪里好做绿植o2o网站怎么样
  • 海口市住房和城乡建设局网站永泰县建设局网站
  • 做网站支付系统难度网站优化多少钱
  • 哈尔滨建设网站公司哪家好上海二手房
  • 最好的免费建站网站iframe wordpress
  • 做以个一元购的网站多少钱网站验证码系统
  • 设计头条app官方网站江苏建站管理系统信息
  • 网站建设.龙兵北京专业网站开发
  • 虚拟机主机网站建设的几个步骤那个网站卖数据库