CornerstoneJs React restoreImageIdToolState не загружает аннотации автоматически после запуска кода

После выполнения этого кода мне нужно навести курсор на anglestoneViewport, чтобы активировать аннотации, которые я хочу, чтобы эта аннотация отображалась после запуска этого кода без наведения на 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);
  };

1 ответ

У меня есть этот бит кода, который может помочь

      Promise.all(imageIds.map(imageId => cs.loadAndCacheImage(imageId)))
  .then(image => {
      //... do stuff ... 
      setLoading(false);
  })
  .catch(error => console.log(error));

Этот блок работает в useEffect. Как видите, я использую «Promise.all», чтобы иметь доступ к обратному вызову, когда все изображения загружены, и в этот момент использую механику setState.

Другие вопросы по тегам