cornerstoneWADOImageLoader-加载DICOM文件

2024-03-25 01:08

本文主要是介绍cornerstoneWADOImageLoader-加载DICOM文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

cornerstoneWADOImageLoader-加载DICOM文件

  • 使用文档
    • 介绍
    • 主要特征
    • 示列
    • 安装
    • 用法
    • 完整示例代码
    • 每天免费领取外卖卷,点外卖更便宜!WX搜索:“一块吃外卖 ” 或 扫↓↓↓↓↓

使用文档

介绍

官方是这样子介绍简单概括的:用于通过HTTP请求WADO-URI或WADO-RS文件

WADO-URI与WADO-RS都是基于HTTP(或者HTTPS)协议之上的一种实现方式,WADO-URI采用的是HTTP的GET方法,通过URL配置参数的方式来完成DICOM数据的交互;WADO-RS同样采用HTTP的GET方法(当然后续扩展的数据上传采用的是HTTP的POST,这个后续会单独介绍);WADO-WS采用的是HTTP的POST方法,通过SOAP协议的方式来完成DICOM数据的交互操作。

主要特征

  • DICOM Part 10 images
  • 支持 WADO-URI 和 WADO-RS 文件
  • 支持多帧 DICOM 实例
  • 支持从 File 对象读取 DICOM 文件

示列

  1. git项目实例地址:cornerstoneWADOImageLoader/master/examples

  2. 与connerstone结合的示例地址:https://github.com/chafey/cornerstoneDemo

安装

有两种引入方式,可结合自己的实际情况引入即可。

  1. 静态资源引入,可根据自己的需要选择性引入即可。
    • 开发环境(不是最小化):cornerstoneWADOImageLoader.js
    • 生产环境(最小化):cornerstoneWADOImageLoader.bundle.min.js
  2. npm安装
  npm i cornerstone-wado-image-loaderimport cornerstoneWADOImageLoaderfrom 'cornerstone-wado-image-loader/dist/cornerstoneWADOImageLoaderNoWebWorkers.bundle.min'

用法

注意:cornerstoneWADOImageLoader依赖以下外部库,这些库应该在它之前加载:

  • dicomParser:用于解析DICOM图像
    npm i dicom-parser
    import dicomParser from 'dicom-parser/dist/dicomParser.min'
    注:对DICOM图像解析比较感兴趣的话,可以看看dcmjs
  • cornerstone
  • 为基石指定加载器:
  cornerstoneWADOImageLoader.external.cornerstone = cornerstone;
  • 在代码中配置web work 框架

web workers 配置参数

var config = {maxWebWorkers: navigator.hardwareConcurrency || 1,startWebWorkersOnDemand: true,
};
cornerstoneWADOImageLoader.webWorkerManager.initialize(config);

完整示例代码


import * as  cornerstone from "cornerstone-core";
import dicomParser from 'dicom-parser/dist/dicomParser.min'
import cornerstoneWADOImageLoaderfrom 'cornerstone-wado-image-loader/dist/cornerstoneWADOImageLoaderNoWebWorkers.bundle.min'cornerstoneWADOImageLoader.external.cornerstone = cornerstone;
cornerstoneWADOImageLoader.external.dicomParser = dicomParser;cornerstoneWADOImageLoader.configure({beforeSend: function (xhr) {const apiKey = localStorage.getItem('token');if (apiKey) {xhr.setRequestHeader('token', apiKey);}}
});var config = {maxWebWorkers: navigator.hardwareConcurrency || 1,//创建web worker的最大数量,默认为1startWebWorkersOnDemand: true, //默认情况下在需要时才创建web worker,如果希望在项目初始化时创建可设置为:falsetaskConfiguration: {decodeTask: {initializeCodecsOnStartup: false,//默认情况下web worker 不会在启动时初始化图片解码器,如果希望开启设置为:true}},
};
cornerstoneWADOImageLoader.webWorkerManager.initialize(config);export default {name: "WADO-index",mounted() {const element = this.$refs.WADO_wrapcornerstone.enable(element);cornerstone.loadAndCacheImage('wadouri:https://assets.qiesou.com/data/DownloadImage.dcm').then(image => {const viewport = cornerstone.getDefaultViewportForImage(element, image);cornerstone.displayImage(element, image, viewport);})}
}

欢迎大家对我以上概述不准确地方及时作出指正,谢谢!

每天免费领取外卖卷,点外卖更便宜!WX搜索:“一块吃外卖 ” 或 扫↓↓↓↓↓

在这里插入图片描述

这篇关于cornerstoneWADOImageLoader-加载DICOM文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/843390

相关文章

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

Android WebView无法加载H5页面的常见问题和解决方法

《AndroidWebView无法加载H5页面的常见问题和解决方法》AndroidWebView是一种视图组件,使得Android应用能够显示网页内容,它基于Chromium,具备现代浏览器的许多功... 目录1. WebView 简介2. 常见问题3. 网络权限设置4. 启用 JavaScript5. D

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

spring-boot-starter-thymeleaf加载外部html文件方式

《spring-boot-starter-thymeleaf加载外部html文件方式》本文介绍了在SpringMVC中使用Thymeleaf模板引擎加载外部HTML文件的方法,以及在SpringBoo... 目录1.Thymeleaf介绍2.springboot使用thymeleaf2.1.引入spring

关于Spring @Bean 相同加载顺序不同结果不同的问题记录

《关于Spring@Bean相同加载顺序不同结果不同的问题记录》本文主要探讨了在Spring5.1.3.RELEASE版本下,当有两个全注解类定义相同类型的Bean时,由于加载顺序不同,最终生成的... 目录问题说明测试输出1测试输出2@Bean注解的BeanDefiChina编程nition加入时机总结问题说明

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

SpringBoot项目删除Bean或者不加载Bean的问题解决

《SpringBoot项目删除Bean或者不加载Bean的问题解决》文章介绍了在SpringBoot项目中如何使用@ComponentScan注解和自定义过滤器实现不加载某些Bean的方法,本文通过实... 使用@ComponentScan注解中的@ComponentScan.Filter标记不加载。@C

springboot 加载本地jar到maven的实现方法

《springboot加载本地jar到maven的实现方法》如何在SpringBoot项目中加载本地jar到Maven本地仓库,使用Maven的install-file目标来实现,本文结合实例代码给... 在Spring Boothttp://www.chinasem.cn项目中,如果你想要加载一个本地的ja

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

MyBatis延迟加载的处理方案

《MyBatis延迟加载的处理方案》MyBatis支持延迟加载(LazyLoading),允许在需要数据时才从数据库加载,而不是在查询结果第一次返回时就立即加载所有数据,延迟加载的核心思想是,将关联对... 目录MyBATis如何处理延迟加载?延迟加载的原理1. 开启延迟加载2. 延迟加载的配置2.1 使用