[Viewer] Rendering issue with transfer syntax 1.2.840.10008.1.2.4.50 - JPEG Baseline Process 1

Describe Your Question

  • Hi guys, I am working with a forked version of OHIF viewer, Now I got an issue when render compressed image with transfer syntax 1.2.840.10008.1.2.4.50 - JPEG Baseline Process 1
  • Which OHIF version you are using? → I forked from 3.10, but I also sync code base from your origin repo. The dev viewer does not have this issue
  • Cornerstone version: 4.5.6

Reproduce Issue

  • Use default S3 datasource:
  • Open study: Siim Neela - StudyInstanceUIDs=1.3.6.1.4.1.5962.99.1.1126.3483.1620329455972.1.2.1
  • Error 1 Load series XC: SeriesInstanceUID=1.3.6.1.4.1.5962.99.1.1133.1614.1620336083558.1.3.1.1
  • Error 2 Load series SeriesInstanceUID=1.3.6.1.4.1.5962.99.1.1123.1145.1620326578825.1.3.1.1

So I created this topic to ask what configuration or logic I missed to accomplish the display of compressed images

State from viewer dev
**


**

Finally I found the root cause,
I configured the thumbnail rendering like this

/**
 * @param {*} cornerstone
 * @param {*} imageId
 */
const getImageSrcFromImageId = (cornerstone, imageId) => {
	return new Promise((resolve, reject) => {
		const canvas = document.createElement('canvas');
		cornerstone.utilities
			.loadImageToCanvas({ canvas, imageId, useCPURendering: true })
			.then((_imageId) => {
				resolve(canvas.toDataURL());
			})
			.catch(reject);
	});
};

export default getImageSrcFromImageId;

So can someone explain in more detail the difference between the 2 configurations and why this issue occurs?