function init()

in DICOM-WSI/src/components/dicompathviewer.js [21:88]


function init() {
  console.log(" initializing client");

  /******************************************************
   *  WORKING - PUB SERVER
   ******************************************************/
  const url = "https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs";
  const client = new DICOMwebClient.api.DICOMwebClient({ url });

  const studyInstanceUID = STUDY_ID;
  const seriesInstanceUID = SERIES_ID;

  const searchInstanceOptions = {
    studyInstanceUID,
    seriesInstanceUID,
  };

  /******************************************************
   *  Searching for instances
   ******************************************************/

  client
    .searchForInstances(searchInstanceOptions)
    .then((instances) => {
      const promises = [];
      for (let i = 0; i < instances.length; i++) {
        const seriesInstanceUID = instances[i]["0020000E"]["Value"][0];
        const sopInstanceUID = instances[i]["00080018"]["Value"][0];
        const retrieveInstanceOptions = {
          studyInstanceUID,
          seriesInstanceUID,
          sopInstanceUID,
        };

        const promise = client
          .retrieveInstanceMetadata(retrieveInstanceOptions)
          .then((metadata) => {
            const image = DICOMMicroscopyViewer.metadata.formatMetadata(
              metadata[0]
            );
            if (image.ImageType[2] === "VOLUME") {
              return metadata[0];
            }
          });

        promises.push(promise);
      }

      return Promise.all(promises);
    })
    .then((metadata) => {
      let controls = ["fullscreen","zoom","overview"]
      const viewer =
        new DICOMMicroscopyViewer.api.VLWholeSlideMicroscopyImageViewer({
          client,
          metadata,
          controls,
          retrieveRendered: true,
        });

      const container = document.getElementById("dicomImage");
      viewer.render({ container });

      viewer.activateDrawInteraction({ geometryType: "polygon" });
      viewer.activateSelectInteraction();
      window.viewer = viewer;
    });
}