我想加载一个我已经放在我的虚拟目录的IIS中的dicom文件,我使用的角膜-瓦多-图像加载器来实现同样的。但我的错误是:
"TypeError:未能在‘FileReader’上执行'readAsArrayBuffer‘:参数1的类型不是'Blob’。
在_global.(匿名函数).(匿名函数) as readAsArrayBuffer
在http://localhost:4200/vendor.js:138552:35977
新ZoneAwarePromise (http://localhost:4200/polyfills.js:4111:29)
at Ie (http://localhost:4200/vendor.js:138552:35867)
在Object.load (http://localhost:4200/vendor.js:138552:31691)
at Ae (http://localhost:4200/vendor.js:138552:37680)
在loadImageFromImageLoader (http://localhost:4200/vendor.js:96174:25)
在Object.loadAndCacheImage (http://localhost:4200/vendor.js:96237:21)
在ViewImageComponent.ngAfterViewInit (http://localhost:4200/main.js:777:65)
在callProviderLifecycles (http://localhost:4200/vendor.js:66735:18)"“
我为之编写的代码是:
import {Component,OnInit,Input,ElementRef,ViewChild, AfterViewInit} from "@angular/core";
import cornerstone from "cornerstone-core";
import cornerstoneMath from "cornerstone-math";
import cornerstoneTools from "cornerstone-tools";
import Hammer from "hammerjs";
import cornerstoneWebImageLoader from "cornerstone-web-image-loader";
import cornerstoneWADOImageLoader from "cornerstone-wado-image-loader";
import { Router, ActivatedRoute } from "@angular/router";
import { switchMap, map } from "rxjs/operators";
import dicomParser from "dicom-parser";
var config = {
maxWebWorkers: navigator.hardwareConcurrency || 1,
startWebWorkersOnDemand: true,
};
cornerstoneWADOImageLoader.webWorkerManager.initialize(config);
@Component({
selector: "app-view-image",
templateUrl: "./view-image.component.html",
styleUrls: ["./view-image.component.css"]
})
export class ViewImageComponent implements OnInit, AfterViewInit {
constructor(private router: Router, private route: ActivatedRoute) {
}
ngOnInit() {
cornerstoneWADOImageLoader.external.cornerstone = cornerstone;
cornerstoneWADOImageLoader.external.dicomParser = dicomParser;
}
ngAfterViewInit() {
const element = document.querySelector(".image-canvas");
const DCMPath = "http://localhost/images/Abdomen.Dcm";
cornerstone.enable(element);
cornerstone.loadAndCacheImage("dicomfile:" + DCMPath).then(imageData => {
console.log(imageData);
cornerstone.displayImage(element, imageData);
}).catch( error => { console.error(error) });
cornerstoneWADOImageLoader.wadouri.fileManager.remove(imageID);
}
}
我的package.json有以下版本的依赖项:
“基石-核心”:"^2.3.0",
“基石-数学”:"^0.1.8“
“基石-工具”:"^4.8.0",
“基石-瓦多-图像加载器”:"^2.2.4",
“基石-网页-图像载入器”:"^2.1.1",
“dicom-解析器”:"^1.8.3",
“文件系统”:"^2.2.2",
“锤子”:"^2.0.8“
"pako":"^1.0.10",
我试着用基石web图像加载器加载jpg/png图像,它工作得很好,但是当我更改为wado图像加载器时,我无法得到想要的结果。
发布于 2019-12-04 15:50:33
我做了以下两项修改,以使它对我有用:
var config = {
webWorkerPath: '/assets/cornerstone/webworkers/cornerstoneWADOImageLoaderWebWorker.js',
taskConfiguration: {
'decodeTask': {
codecsPath: '/assets/cornerstone/codecs/cornerstoneWADOImageLoaderCodecs.js'
}
}
}。
cornerstone.loadAndCacheImage("wadouri:" + DCMPath).then(imageData => {
console.log(imageData);
cornerstone.displayImage(element, imageData);
}).catch( error => { console.error(error) });https://stackoverflow.com/questions/59030752
复制相似问题