fetchInstances()

in src/dicomImageSequencer.js [78:102]


  fetchInstances(onImageReady) {
    for (const instance of this.instances) {
      // Generate urls for individual frames to support multi-frame instances
      const numFrames = instance[DICOM_TAGS.NUM_FRAMES] ?
          instance[DICOM_TAGS.NUM_FRAMES].Value[0] : 1;

      for (let frameNum = 1; frameNum <= numFrames; frameNum++) {
        // Add fetches and instances to respective queues
        const imageURL = `${IMAGE_LOADER_PREFIX}://healthcare.googleapis.com/v1/projects/${this.project}/locations/${this.location}/datasets/${this.dataset}/dicomStores/${this.dicomStore}/dicomWeb/studies/${this.study[DICOM_TAGS.STUDY_UID].Value[0]}/series/${this.series[DICOM_TAGS.SERIES_UID].Value[0]}/instances/${instance[DICOM_TAGS.INSTANCE_UID].Value[0]}/frames/${frameNum}`;
        this.instanceQueue.push(imageURL);
        this.fetchQueue.push(imageURL);

        // Store metaData in dicomImageLoader to
        // be used for creating image object
        setMetadata(imageURL, instance);
      }
    }

    const totalImages = this.instanceQueue.length;

    // Begin making fetch requests
    this.checkFetchQueue(onImageReady);

    return totalImages;
  }