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;
}