Czego faktycznie dowodzi ten benchmark?
Tego, że konkretny plik z konkretnego skanera, w rzeczywistym rozmiarze, otwiera się w wydanej wersji i wyświetla piksele na ekranie. Ni mniej, ni więcej. Lista obsługiwanych formatów deklaruje możliwość; ten test ją mierzy. Jeśli układ danych producenta pokona dekoder, plik pojawia się w tabeli niepowodzeń z komunikatem błędu, jaki zobaczyłby użytkownik, a nie jako brakujący wiersz.
To test producenta — sami napisaliśmy oprogramowanie i sami przeprowadziliśmy test. Mimo to warto go przeczytać, bo można go sprawdzić: korpusy są publiczne, skrypt testowy jest w naszym repozytorium aplikacji desktopowej, a surowe wyniki dla każdego pliku są na tej stronie.
Jak testowano pliki
Każdy plik trafia do jednorazowego procesu potomnego, który tworzy ten sam moduł wczytujący, którego używa aplikacja, odczytuje wymiary obrazu, dekoduje płaszczyznę i przetwarza ją tą samą ścieżką renderowania Qt, której używa przeglądarka. Uszkodzony plik, który wywraca natywny kodek, zabija tylko ten proces potomny; nadzorca zapisuje, który plik był przetwarzany, i działa dalej. Dzięki takiej konstrukcji benchmark na wielogigabajtowych skanach od producentów w ogóle może się zakończyć i dlatego „awaria” to kategoria, dla której ta tabela może uczciwie podać zero.
- Skrypt testowy:
slidescope-desktop/scripts/publish_format_benchmark.py — jedno polecenie w repozytorium aplikacji desktopowej SlideScope, które wykonuje wszystkie trzy przebiegi i zapisuje dokładnie ten plik JSON, który renderuje ta strona: python scripts/publish_format_benchmark.py --dataset <corpus> --output format-benchmark.json
- Korpusy: publiczny korpus referencyjny Open Microscopy Environment, opublikowane przez OpenSlide preparaty testowe, dane testowe bibliotek
czitools i nd2 oraz próbki od producentów, których sumy sha256 zweryfikowaliśmy z danymi wydawcy.
- Zakres: formaty całych preparatów i formaty mikroskopowe producentów. Pominięto luźne jednopłaszczyznowe pliki TIFF z masowych zrzutów od producentów — nie mówią niczego, czego piramidalny TIFF WSI nie powiedziałby lepiej.
- Zapisywane dla każdego pliku: wykryty format, moduł wczytujący, zdekodowane wymiary T/Z/C/Y/X, typ piksela, rozmiar renderowania, a w razie niepowodzenia typ wyjątku i komunikat pokazywany użytkownikowi.
Formaty obrazów całych preparatów
To formaty skanerów — pliki, które przychodzą z urządzeń Aperio, Hamamatsu, 3DHISTECH, Leica, Ventana, Akoya lub Agilent i rutynowo zajmują po kilka gigabajtów.
Formaty mikroskopowe i obrazowania medycznego
Wielowymiarowe formaty akwizycji, w których ciekawe pytanie nie dotyczy rozmiaru pliku, lecz tego, ile kanałów, płaszczyzn Z i punktów czasowych dotrze na ekran.
Każdy plik, który się nie otworzył, i dlaczego
25 z 792 plików się nie otworzyło i nie jest to jedna historia, lecz dwie. 9 to rzeczywiste ograniczenia: prawdziwy obraz, którego obecnie nie potrafimy odczytać. Pozostałe 16 to pliki, które w ogóle nie zawierają obrazu, więc odmowa jest prawidłową odpowiedzią. Wrzucenie obu grup do jednego worka działałoby na naszą korzyść — uczciwa liczba niepowodzeń w tym przebiegu to 9, a nie 25.
Rzeczywiste ograniczenia: 9 plików, których nie potrafimy odczytać
Każdy z nich jest nienaruszony — sumy kontrolne zgadzają się z danymi wydawcy — więc są to ograniczenia dekoderów i układów danych producentów, a nie uszkodzone próbki. Pozostają na stałe w korpusie jako testy regresji, dzięki czemu dowiemy się, kiedy któryś z nich zacznie działać.
Wzorzec dotyczy układu danych producenta, a nie modalności. Fluorescencyjne NDPI i fluorescencyjne MIRAX otwierają się normalnie; backendy odmawiają w przypadku konkretnych wariantów struktury — SCN bez rozpoznawalnego obrazu głównego, BIF z nieoczekiwanym atrybutem kierunku, kontenera „Imaris Classic” sprzed HDF5. Każdy komunikat podaje przyczynę, zamiast nazywać plik uszkodzonym, bo w każdym z tych przypadków plik jest w porządku, a problem leży po naszej stronie.
To nie niepowodzenia: 16 obiektów bez obrazu
DICOM to w równym stopniu format dokumentów, co format obrazów. DICOMDIR to indeks płyty; stan prezentacji (presentation state) zapisuje, jak ktoś kiedyś ustawił okno dla badania; inne obiekty zawierają raporty lub pomiary. Żaden nie zawiera pikseli. Przeglądarka, która by je otworzyła, nie miałaby czego pokazać, więc SlideScope odmawia z wyjaśnieniem — to prawidłowe zachowanie, liczone osobno, aby nie zawyżało żadnej z kolumn.
Wymienione z nazwy, aby nic nie ukryło się za kategorią: DICOMDIR, PS_0026, PS_0108, PS_0128, PS_0154, PS_0181, XX_0027, XX_0109, XX_0155, XX_0182, XX_0183.
Gdzie SlideScope otworzył plik i pokazał nie to, co trzeba
To rodzaj niepowodzenia, który ma największe znaczenie i do którego tabele formatów nigdy się nie przyznają, więc oto nasz.
Multipleksowy skan Akoya .qptiff — referencyjny plik siedmiokolorowy Vectra — otworzył się bez żadnego błędu. Plik zawiera pięć jednokanałowych stron fluorescencyjnych w pełnej rozdzielczości (DAPI, FITC, CY3, Texas Red, CY5) o wymiarach 34 560 × 24 960 na 33 stronach, co niezależnie potwierdzono za pomocą tifffile. SlideScope kierował każdy plik .qptiff do backendu OpenSlide, który jest czytnikiem dla jasnego pola, więc zgłaszał jeden kanał i zwracał wycinek RGB. Kanały fluorescencyjne były nieosiągalne, a kontrolki kanałów nie miały nic do zaoferowania.
Nic Cię nie ostrzegało. Skany QPTIFF H&E w jasnym polu z tego samego korpusu otwierają się idealnie i właśnie dlatego nikt tego nie zauważył.
Naprawione w SlideScope 1.8.48 (18 września 2026): backend jest teraz wybierany dla każdego pliku, a nie według rozszerzenia. Skan multipleksowy trafia do czytnika, który zwraca wszystkie pięć kanałów; QPTIFF z jasnego pola nadal korzysta z OpenSlide i jego kafelkowania w pełnej rozdzielczości. Kompromis jest jawny, a nie ukryty: multipleksowy QPTIFF jest wyświetlany w obniżonej rozdzielczości, o czym informuje panel szczegółów pliku. Przebieg na tej stronie uwzględnia już tę poprawkę — wiersz QPTIFF wymienia oba moduły wczytujące i pięć kanałów.
Ten przebieg dowodzi, że pliki się otwierają. Poprawność pikseli to osobna kwestia i testujemy ją osobno: drugi przebieg dekoduje te same płaszczyzny za pomocą bazowej biblioteki i porównuje je z tym, co zwraca moduł wczytujący. Właśnie tak wykryto przypadek QPTIFF.
Czego SlideScope odmawia otwarcia
Nie ma ogólnego czytnika awaryjnego, a to, jak przeglądarka radzi sobie z plikiem, dla którego nigdy nie powstała, ma takie samo znaczenie jak pliki, dla których powstała. Wzięliśmy najmniejszy prawdziwy plik z każdym nieobsługiwanym rozszerzeniem z korpusu referencyjnego — 93 pliki — i przepuściliśmy każdy przez fabrykę modułów wczytujących z wydanej wersji.
93 z 93 zostały odrzucone z jasnym komunikatem. Żaden nie spowodował awarii. Żaden nie został otwarty połowicznie jako coś, co wyglądało na obraz, a nim nie było. Lista obejmuje formaty, które ludzie mogą chcieć otworzyć — .jpg, .lof, .nii, .oib, .oir, .png, .psd, .raw, .vsi — w czasie tego przebiegu były wśród nich .png i .jpg, które zostały odrzucone z komunikatem, zamiast otwierania na chybił trafił.
Od czasu tego przebiegu: SlideScope 1.10.0 (16 października 2026) otwiera 18 kolejnych formatów, w tym kilka odrzuconych tutaj: Olympus .vsi, .oib i .oir, Leica .lof i .xlef, Hamamatsu .ndpis oraz PNG, JPEG i inne zwykłe obrazy. Liczby na tej stronie pochodzą z pomiaru z 18 września; formaty dodane w 1.10.0 nie były jego częścią. SlideScope 1.20.0 otwiera pięć kolejnych, których ten przebieg nie testował: Philips .isyntax, KFBio .kfb, ICS/IDS, Gatan .dm3 i .dm4 oraz Olympus .sis. Aktualną listę znajdziesz w zestawieniu zgodności plików.
Czego ten benchmark Ci nie powie
- Dwa formaty nie mają w ogóle pokrycia prawdziwymi plikami. Nie istnieje żadna publiczna próbka
.vmu ani .svslide — OpenSlide nie publikuje żadnej z nich — więc te moduły wczytujące są sprawdzane tylko na syntetycznych przypadkach brzegowych. Nie deklarujemy dla nich przetestowanej obsługi.
- To nie jest test szybkości. Czas do pierwszego piksela zależy od Twojego dysku, a te przebiegi były lokalne.
- To nie jest audyt dokładności wykraczający poza opisany wyżej przebieg porównujący piksele ani walidacja kliniczna. SlideScope służy do badań naukowych, edukacji i przeglądu — nie do diagnozy.
- To migawka. Datowana na 2026-09-18, dla wersji aktualnej w tym dniu. Aktualizacje dekoderów mogą zmieniać te liczby w obu kierunkach.
Pytania o ten benchmark
Które formaty mikroskopowe i formaty całych preparatów SlideScope faktycznie otwiera?
Osiemnaście rozszerzeń plików: .svs, .ndpi, .mrxs, .scn, .bif, .vms, .vmu, .svslide, .qptiff, .avs, .czi, .nd2, .lif, .ims, .dcm, .dicom, .tif i .tiff. Nie ma ogólnego czytnika awaryjnego — wszystko spoza tej listy jest odrzucane z prostym komunikatem, zamiast być źle otwierane.
Czy ten benchmark jest niezależny?
Nie. SlideScope publikuje go na temat SlideScope, więc traktuj go jako test producenta, a nie audyt zewnętrzny. Zamiast niezależności możemy zaoferować możliwość sprawdzenia: korpusy są publiczne, skrypt testowy jest w naszym otwartym katalogu skryptów, plik z surowymi wynikami jest podlinkowany na tej stronie, a niepowodzenia są wymienione równie szczegółowo jak sukcesy.
Dlaczego niektóre pliki się nie otwierają?
Prawie zawsze dlatego, że producent zapisał układ danych, którego bazowy backend open source nie potrafi odczytać — na przykład OpenSlide zgłasza „Can't find main image” dla fluorescencyjnego SCN. To ograniczenia po stronie bibliotek źródłowych, które ujawniamy, zamiast je ukrywać. Pliki, które się nie otwierają, są nienaruszone: ich sumy kontrolne zgadzają się z danymi wydawcy.
Czy otwarcie pliku oznacza, że obraz jest poprawny?
Samo w sobie nie, dlatego testujemy oba aspekty. Ten przebieg dowodzi, że pliki się otwierają; poprawność pikseli osobno sprawdza sweep_format_reference.py, który dekoduje te same płaszczyzny za pomocą bazowej biblioteki i porównuje je z tym, co renderuje SlideScope. Jeden znany przypadek — multipleksowy Akoya QPTIFF — otwierał się bez błędu, a mimo to pokazywał nie to, co trzeba, dopóki nie naprawił tego SlideScope 1.8.48. Opisujemy go na tej stronie.
Czy mogę to odtworzyć?
Tak. Korpus referencyjny Open Microscopy Environment można pobrać publicznie, próbki od producentów pochodzą z OpenSlide i z danych testowych bibliotek obsługujących formaty, a skrypt testowy jest w repozytorium aplikacji desktopowej SlideScope. Surowy plik JSON, na którym opiera się każda tabela na tej stronie, jest podlinkowany powyżej.
Czy SlideScope jest dopuszczony do diagnostyki klinicznej?
Nie. SlideScope służy do badań naukowych, edukacji i przeglądu. Nie jest wyrobem diagnostycznym i nie wolno go używać do stawiania diagnozy pierwotnej.
Liczy się tylko Twój test
Nasz korpus to nie Twoja szuflada z preparatami. Zainstaluj SlideScope, otwórz pliki, które naprawdę sprawiają Ci kłopot, a jeśli któryś się nie otworzy, wyślij go do nas — niepowodzenia na tej stronie trafiły tutaj, bo ktoś tak zrobił.
Pobierz SlideScope