【js】【cornerstone】cornerstone使用url方式加载图像
引入cornerstoneWebImageLoader
import * as cornerstone from 'cornerstone-core'
import * as cornerstoneWebImageLoader from 'cornerstone-web-image-loader'
import * as cornerstoneTools from 'cornerstone-tools';
import Hammer from 'hammerjs';
import * as cornerstoneMath from 'cornerstone-math';
import '../assets/css/imagedetail.css'
import axios from 'axios';
cornerstoneTools.external.cornerstoneMath = cornerstoneMath;
cornerstoneTools.external.cornerstone = cornerstone;
cornerstoneTools.external.Hammer = Hammer;
cornerstoneTools.init(
{
showSVGCursors: true,
}
);
cornerstoneWebImageLoader.external.cornerstone = cornerstone;
cornerstoneWebImageLoader.configure({
beforeSend: function(xhr) {
console.log('cornerstoneWebImageLoader.beforeSend', xhr);
// Add custom headers here (e.g. auth tokens)
// xhr.setRequestHeader('x-auth-token', 'my auth token');
}
});
loadImage
通过loadImageData
加载图像。
loadImageData(img_url){
let that = this;
const imgIdItem = 'http://'+window.location.host+'/' + img_url;
cornerstone.loadImage(imgIdItem).then(function(image) {
that.imageHeight = image.height;
that.imageWidth = image.width;
var viewport = cornerstone.getDefaultViewportForImage(that.img_show_element, image);
cornerstone.displayImage(that.img_show_element, image, viewport);
that.getWadouriImage(imgIdItem);
cornerstone.updateImage(that.img_show_element);
});
},
使用自定义的getWadouriImage
加载图像上的预标注信息。
getWadouriImage(imageId){
this.imageId = imageId
let that = this;
// 处理出firstLoadData
...
const ToolStateManager = cornerstoneTools.globalImageIdSpecificToolStateManager;
ToolStateManager.restoreImageIdToolState(imageId, {
FreehandRoi: { data: firstLoadData }
});
cornerstoneTools.addTool(cornerstoneTools.FreehandRoiTool);
cornerstoneTools.setToolPassive("FreehandRoi");
},