openslide/openslide-python

"OpenSlideError: Cannot read slide position info: Expected 1 value" opening MIRAX data

VanishingRasengan opened this issue · 1 comments

Context

Issue type: compatibility
Operating system : Windows 11, Google Colab
Platform (e.g. 64-bit x86, 32-bit ARM): 64-bit x86, Google Colab
OpenSlide Python version: openslide-python-1.1.2
Slide format (e.g. SVS, NDPI, MRXS): MRXS

Details

Dear Openslide Python,

first of all I want to say thank you for developing and maintaining this unique interface for reading virtual slides!
However, I have a problem when it comes to open MRXS files with Openslide. I know that MRXS is a very problematic format and there are lots of discussions around it but unfortunately I have lots of scanned slides in this format and I am desperately trying to make use of them...

I use OpenSlide on Google Colab and used the following code:

from openslide import open_slide
import openslide
from PIL import Image
import numpy as np
from matplotlib import pyplot as plt

path= './drive/MyDrive/DigitalSlide_E10M_2S_1_10-6-2021_04-31-03.mrxs'
slide = open_slide(path)

In the end I get the following error:

---------------------------------------------------------------------------

OpenSlideError                            Traceback (most recent call last)

<ipython-input-24-41a0213c9dad> in <module>()
      1 path= './drive/MyDrive/DigitalSlide_E10M_2S_1_10-6-2021_04-31-03.mrxs'
----> 2 slide = open_slide(path)

2 frames

/usr/local/lib/python3.7/dist-packages/openslide/__init__.py in open_slide(filename)
    386     object for other types of images."""
    387     try:
--> 388         return OpenSlide(filename)
    389     except OpenSlideUnsupportedFormatError:
    390         return ImageSlide(filename)

/usr/local/lib/python3.7/dist-packages/openslide/__init__.py in __init__(self, filename)
    158         AbstractSlide.__init__(self)
    159         self._filename = filename
--> 160         self._osr = lowlevel.open(filename)
    161 
    162     def __repr__(self):

/usr/local/lib/python3.7/dist-packages/openslide/lowlevel.py in _check_open(result, _func, _args)
    131     err = get_error(slide)
    132     if err is not None:
--> 133         raise OpenSlideError(err)
    134     return slide
    135 

OpenSlideError: Cannot read slide position info: Expected 1 value

I have already seen some ideas to make it work like converting MRXS to MRXS with the SlideMaster software but I does not work anymore. Is there any solution to tackle this problem?

@VanishingRasengan This is a known problem; see openslide/openslide#251. Your slides are triggering a safety check inside OpenSlide. If you're up for it, you could try deleting the check and see whether the slides appear to read correctly. If you try this, please post your results in the OpenSlide bug linked above. I'll go ahead and close this as a duplicate issue.

@NeelKanwal Please don't reuse existing bugs for unrelated problems. The black background strongly suggests that HistoLab does not correctly handle premultiplied alpha.