运行此代码后,我必须将cornerstoneViewport悬停以激活注释,我希望该注释在此代码运行后显示,而无需悬停CVport
const restore = () => {
let element;
const stack = {
currentImageIdIndex: 0,
imageIds,
};
console.log(dicomAnnotaionList);
imageIds.forEach((imageId) => {
element = document.getElementsByClassName("cornerstone-canvas")[0];
cornerstone.enable(element);
dicomAnnotaionList.forEach((ann) => {
cornerstone.loadImage(imageId).then(function (image) {
cornerstone.displayImage(element, image);
cornerstoneTools.addStackStateManager(element, ["stack"]);
cornerstoneTools.addToolState(element, "stack", stack);
cornerstone.draw(element);
const ToolStateManager =
cornerstoneTools.globalImageIdSpecificToolStateManager;
ToolStateManager.restoreImageIdToolState(imageId, {
...ann,
});
});
});
});
cornerstoneTools.addTool(cornerstoneTools.LengthTool);
cornerstoneTools.setToolPassive("Length");
cornerstoneTools.addTool(cornerstoneTools.RectangleRoiTool);
cornerstoneTools.setToolPassive("RectangleRoi");
cornerstoneTools.addTool(cornerstoneTools.EllipticalRoiTool);
cornerstoneTools.setToolPassive("EllipticalRoi");
cornerstoneTools.addTool(cornerstoneTools.FreehandRoiTool);
cornerstoneTools.setToolPassive("FreehandRoi");
setIsRestored(true);
};发布于 2022-09-05 12:11:10
我有一些代码可以帮上忙
Promise.all(imageIds.map(imageId => cs.loadAndCacheImage(imageId)))
.then(image => {
//... do stuff ...
setLoading(false);
})
.catch(error => console.log(error));这个块运行在一个useEffect中。如您所见,在加载所有映像时,我使用"Promise.all“访问回调,此时使用setState机制。
https://stackoverflow.com/questions/73608956
复制相似问题