We have a number of Aperio VERSA .scn files that we are trying to open with QuPath. I’ve attached the OME-XML header below of a representative scn file.
SCN_OME-XML_HEADER.txt (34.3 KB)
The problem we’ve encountered is that because of a tissue detection step to minimize imaging empty areas during the acquisition process, the resulting scanned areas are stored as separate pyramids in the header (Images 13 to 19 for the first sample, vs Images 20 to 26 for the second sample). These images can be opened as a single overall pyramid with Aperio ImageScope, but opening in QuPath results in four new pyramids (macro, overall grayscale, sample1, sample 2), and opening in ImageJ results in 28 different images (not pyramids).
Interestingly, the rendered output in ImageScope somehow properly overlays the sub-images on top of the overall grayscale pyramid (Images 6 to 12, possibly from the tissue detection step), which seems to get assigned to the first spectral channel (any dust in the overall grayscale pyramid is colored as if it were in the DAPI channel of the sub-images). The overall grayscale pyramid’s microns-per-pixel values also align with that of the sub-images’ pyramids.
ImageScope is also able to get spectral channel names, which are not in the OME-XML header, but that seems a bit too deep of a dive for now.
As for the offsets, there is a Plane tag within the sub-images’ Pixel tags that contains information about the offset from some origin in ‘reference frame’ units ((7,141,569, 15,485,926) for sample 1, (9,401,199, 30,563,639) for sample 2). I’m wondering if it’d be possible to somehow leverage this information to render the scn file like ImageScope does.
This wouldn’t normally be a big deal, but because we are now generating dozens of multiplexed IF slides a month, we would like to be able to analyze these slides at moderate throughput through QuPath. I’d appreciate any guidance on how to support this in QuPath and if I’ve missed any important details here.