Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用基石在angular 7项目中加载dicom文件_Javascript_Angular_Dicom - Fatal编程技术网

Javascript 如何使用基石在angular 7项目中加载dicom文件

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

我想加载一个dicom文件,我把它放在我的IIS虚拟目录中,我正在使用cornestone wado映像加载程序来实现同样的功能。但我得到了以下错误:

TypeError:未能对“FileReader”执行“readAsArrayBuffer”:参数1不是“Blob”类型。
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) });