Javascript 如何使用基石在angular 7项目中加载dicom文件
我想加载一个dicom文件,我把它放在我的IIS虚拟目录中,我正在使用cornestone wado映像加载程序来实现同样的功能。但我得到了以下错误: TypeError:未能对“FileReader”执行“readAsArrayBuffer”:参数1不是“Blob”类型。Javascript 如何使用基石在angular 7项目中加载dicom文件,javascript,angular,dicom,Javascript,Angular,Dicom,我想加载一个dicom文件,我把它放在我的IIS虚拟目录中,我正在使用cornestone wado映像加载程序来实现同样的功能。但我得到了以下错误: TypeError:未能对“FileReader”执行“readAsArrayBuffer”:参数1不是“Blob”类型。 at_global.(匿名函数)。(匿名函数)[as readAsArrayBuffer]() 在 在新的ZoneAwarePromise() 在Ie() 在Object.load() 在Ae() 在loadImageFro
at_global.(匿名函数)。(匿名函数)[as readAsArrayBuffer]()
在
在新的ZoneAwarePromise()
在Ie()
在Object.load()
在Ae()
在loadImageFromImageLoader()
在Object.loadAndCacheImage()
在ViewImageComponent.ngAfterViewInit()
在callProviderLifecycles()“
我为此编写的代码是:
import{Component,OnInit,Input,ElementRef,ViewChild,AfterViewInit}来自“@angular/core”;
从“基石核心”导入基石;
从“基石数学”导入cornerstoneMath;
从“基石工具”导入基石工具;
从“hammerjs”导入Hammer;
从“基石web图像加载器”导入cornerstoneWebImageLoader;
从“基石wado图像加载器”导入角石wado图像加载器;
从“@angular/Router”导入{Router,ActivatedRoute}”;
从“rxjs/operators”导入{switchMap,map};
从“dicom解析器”导入dicomParser;
变量配置={
maxWebWorkers:navigator.hardwareConcurrency | | 1,
startWebWorkersOnDemand:没错,
};
cornerstoneWADOImageLoader.webWorkerManager.initialize(配置);
@组成部分({
选择器:“应用程序视图图像”,
templateUrl:“./view image.component.html”,
样式URL:[”/view image.component.css“]
})
导出类ViewImageComponent实现OnInit,AfterViewInit{
构造函数(专用路由器:路由器,专用路由:ActivatedRoute){
}
恩戈尼尼特(){
cornerstoneWADOImageLoader.external.Cornersone=基石;
cornerstoneWADOImageLoader.external.dicomParser=双计算机;
}
ngAfterViewInit(){
const元素=document.querySelector(“.image canvas”);
常数DCMPath=”http://localhost/images/Abdomen.Dcm";
基石.使能(要素);
loadAndCacheImage(“dicomfile:+DCMPath”)。然后(imageData=>{
控制台日志(imageData);
基石.显示图像(元素,图像数据);
}).catch(错误=>{console.error(错误)});
cornerstoneWADOImageLoader.wadouri.fileManager.remove(imageID);
}
}
为了让它适合我,我做了以下两个更改:1.配置变量更改,我没有添加codespath和webWorkerPaths
var config = {
webWorkerPath: '/assets/cornerstone/webworkers/cornerstoneWADOImageLoaderWebWorker.js',
taskConfiguration: {
'decodeTask': {
codecsPath: '/assets/cornerstone/codecs/cornerstoneWADOImageLoaderCodecs.js'
}
}
}
2.将加载程序从“dicomfile”更改为“wadouri”
cornerstone.loadAndCacheImage("wadouri:" + DCMPath).then(imageData => {
console.log(imageData);
cornerstone.displayImage(element, imageData);
}).catch( error => { console.error(error) });