VSI image to BigTiff conversion

Hi David,

Hope you’re doing great! I want to convert .vsi(Virtual Slide Image) format which is a proprietary format from Olympus Scanner, to BigTiff. Is that possible using Large Image Converter? If not, what do you suggest. Thanks for your response in advance.

Best,
Shiv

Yes, the large image converter will work. Internally, it uses bioformats to read the vsi file and expects the companion directories to the adjacent (vsi files have a file name <name>.vsi and a directory called _<name>_).

You might want to make sure you have a recent version of the python bioformats package (for instance, from the binary wheels we share), as the latest versions of vsi files need comparatively new readers.

– David

Oh that is great to hear! I was planning to use the large image converter docker image to run it at scale on a kubernetes cluster. So the recent bioformats package should be taken care of in the docker image yes?


Also, this is the structure I’m seeing for the .vsi image. I see a .vsi file that is 600kb and a folder containing frame_t.ets(which is 1GB) Any pointers on how to convert this?

I ran the below command, but it just converted the 600kb image and the final image was 1MB.
docker run -v /Users/spatre/Desktop/VSI_CONVERSION/:/opt/images ghcr.io/girder/large_image:latest large_image_converter /opt/images/B-000AE_03_automatic.vsi /opt/images/B-000AE_03_automatic.btf --compression none --format tiff

Can you pull the latest docker image (Package large_image · GitHub) and try again? There was an issue in how the converter selected one of several code paths that has been fixed (Fix when vips is preferred to read images in conversion by manthey · Pull Request #1570 · girder/large_image · GitHub)

– David

Hi David,

I pulled the latest docker image and tried running it on our Ubuntu server. But now I’m seeing the below message.

Test1$ docker run -v /Test1/:/opt/images ghcr.io/girder/large_image:latest large_image_converter /opt/images/B-000AE_03_automatic.vsi /opt/images/B-000AE_03_automatic.btf --compression none --format tiff
Source is not a file (/opt/images/B-000AE_03_automatic.vsi)

I also tried it on my Mac after pulling the latest image and I ran into the below error.

VSI_CONVERSION % docker run -v /Users/spatre/Desktop/VSI_CONVERSION/:/opt/images ghcr.io/girder/large_image:latest large_image_converter /opt/images/B-000AE_03_automatic.vsi /opt/images/B-000AE_03_automatic.btf --compression none --format tiff
OpenBLAS blas_thread_init: pthread_create failed for thread 1 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
OpenBLAS blas_thread_init: pthread_create failed for thread 2 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
OpenBLAS blas_thread_init: pthread_create failed for thread 3 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
OpenBLAS blas_thread_init: pthread_create failed for thread 4 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
OpenBLAS blas_thread_init: pthread_create failed for thread 5 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
OpenBLAS blas_thread_init: pthread_create failed for thread 6 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
OpenBLAS blas_thread_init: pthread_create failed for thread 7 of 8: Operation not permitted
OpenBLAS blas_thread_init: RLIMIT_NPROC -1 current, -1 max
Traceback (most recent call last):
  File "/usr/local/bin/large_image_converter", line 5, in <module>
    from large_image_converter.__main__ import main
  File "/usr/local/lib/python3.12/site-packages/large_image_converter/__init__.py", line 16, in <module>
    import numpy as np
  File "/usr/local/lib/python3.12/site-packages/numpy/__init__.py", line 130, in <module>
    from numpy.__config__ import show as show_config
  File "/usr/local/lib/python3.12/site-packages/numpy/__config__.py", line 4, in <module>
    from numpy.core._multiarray_umath import (
  File "/usr/local/lib/python3.12/site-packages/numpy/core/__init__.py", line 24, in <module>
    from . import multiarray
  File "/usr/local/lib/python3.12/site-packages/numpy/core/multiarray.py", line 10, in <module>
    from . import overrides
  File "/usr/local/lib/python3.12/site-packages/numpy/core/overrides.py", line 8, in <module>
    from numpy.core._multiarray_umath import (
  File "<frozen importlib._bootstrap>", line 463, in _lock_unlock_module