choosehappy / HistoQC

HistoQC is an open-source quality control tool for digital pathology slides
BSD 3-Clause Clear License
266 stars 105 forks source link

Unsupported or missing image file #318

Closed Himanshunitrr closed 2 months ago

Himanshunitrr commented 2 months ago

I am trying to run histoqc on selected files in a dataset (TCGA Breast) using

python -m histoqc -c /workspace/histoqc_config.ini -n 3 /workspace/tcga_path_histoqc.tsv

where tcga_path_histoqc.tsv looks is a tsv file containing list of all files of interest as mentioned in docs

... .more files . /data/TCGA-XX-A89A-01Z-00-DX1.671E2AD6-4D1A-4579-88C1-5B0B15818126.svs, /data/TCGA-Z7-A8R6-01Z-00-DX1.CE4ED818-D762-4324-9DEA-2ACB38B9B0B9.svs,] The error which I am getting is : 2024-08-26 22:00:16,886 - ERROR - /data/TCGA-XX-A89A-01Z-00-DX1.671E2AD6-4D1A-4579-88C1-5B0B15818126.svs, - Error analyzing file (skipping):     <class 'openslide.lowlevel.OpenSlideUnsupportedFormatError'> OpenSlide does not support the requested file. Import this from openslide rather than from openslide.lowlevel. Unsupported or missing image file But I can open the file using openslide:

image

The path is also correct (i think so) root@3241fa9fceee:/opt/HistoQC# ls /data | grep TCGA-XX-A89A-01Z-00-DX1.671E2AD6-4D1A-4579-88C1-5B0B15818126 TCGA-XX-A89A-01Z-00-DX1.671E2AD6-4D1A-4579-88C1-5B0B15818126.svs So, wanted to know if this is a bug or if I am using something wrongly.

jacksonjacobs1 commented 2 months ago

Hi @Himanshunitrr , Can you try using openslide.OpenSlide() instead of open_slide()?

Also, it looks like your jupyter notebook was run outside of your HistoQC docker container. Try opening the image from within the docker container to ensure the environment is exactly the same.

Himanshunitrr commented 2 months ago

I looked in the code in __main__.py,

files = [] with open("tcga_path_histoqc.tsv", 'rt') as f: for line in f: if line[0] == "#": continue fn = line.strip().split("\t")[0] print(fn)

it gave the entire list as a single file name, the tsv file was corrupted. I made the changes (ensured that the tabs delimiter are there) and its now running