بيانات اختبار أصلية

فتحنا 792 ملف شرائح حقيقيًا ونشرنا كل نتيجة

جداول دعم الصيغ عادةً ما تكون قائمة امتدادات كتبها شخص ما. أما هذا الجدول فهو قياس. فُتح كل ملف عبر 14 عائلة صيغ — 44.1 GB من مسوحات الشركات المصنّعة والصور المرجعية العامة — وعُرض بأدوات التحميل الموجودة في إصدار SlideScope المنشور، بمعدل ملف واحد لكل عملية فرعية قابلة للتضحية بها، وسُجّلت النتيجة. فُتح 767 ملفًا. وتعذّرت قراءة 9، وهي مسمّاة أدناه. وتبيّن أن 16 لا تحمل أي صورة على الإطلاق. ولم يتسبب أيٌّ منها في تعطّل العارض.

792 ملفًا 14 عائلة صيغ 44.1 GB مختبرة التشغيل في 2026-09-18

ما الذي يثبته هذا الاختبار فعلًا؟

يثبت أن ملفًا مسمّى، من ماسح مسمّى، بحجمه الحقيقي، يُفتح في الإصدار المنشور ويضع البكسلات على الشاشة. لا أكثر ولا أقل. قائمة دعم الصيغ تدّعي قدرة؛ أما هذا فيقيسها. وإذا هزمت بنية ملفات إحدى الشركات المصنّعة أداة فك الترميز، يظهر ذلك الملف في جدول حالات الفشل مع نص الخطأ الذي سيراه المستخدم، لا كصف مفقود.

إنه اختبار أجرته الجهة المطوِّرة نفسها — نحن كتبنا البرنامج ونحن أجرينا الاختبار. وما يجعله جديرًا بالقراءة رغم ذلك هو أنك تستطيع التحقق منه: مجموعات الملفات عامة، وأداة التشغيل موجودة في مستودع تطبيقنا المكتبي، والنتائج الخام لكل ملف موجودة في هذه الصفحة.

كيف اختُبرت الملفات

يُسلَّم كل ملف إلى عملية فرعية قابلة للتضحية بها، تبني أداة التحميل نفسها التي يبنيها التطبيق، وتقرأ أبعاد الصورة، وتفك ترميز مستوى واحد، وتحوّله عبر مسار العرض نفسه في Qt الذي يستخدمه العارض. والملف المشوّه الذي يُسقط مفكّك ترميز أصليًا لا يقتل إلا تلك العملية الفرعية؛ فيسجّل المشرف الملف الذي كان قيد المعالجة ويواصل العمل. هذا التصميم هو سبب إمكانية إتمام اختبار على مسوحات تبلغ عدة غيغابايتات أصلًا، وسبب أن “التعطّل” فئة يستطيع هذا الجدول أن يُبلغ عنها بأمانة بالصفر.

  • أداة التشغيل: slidescope-desktop/scripts/publish_format_benchmark.py — أمر واحد، في مستودع SlideScope المكتبي، يشغّل المراحل الثلاث كلها ويكتب ملف JSON نفسه الذي تعرضه هذه الصفحة: python scripts/publish_format_benchmark.py --dataset <corpus> --output format-benchmark.json
  • مجموعات الملفات: مجموعة الملفات المرجعية العامة من Open Microscopy Environment، وشرائح الاختبار التي نشرتها OpenSlide، وبيانات الاختبار الخاصة بمكتبتي czitools وnd2، وعينات من الشركات المصنّعة تحققنا من قيمة sha256 الخاصة بها مقابل ما نشره المصدر.
  • النطاق: صيغ الشرائح الكاملة وصيغ المجهر الخاصة بالشركات المصنّعة. استُبعدت ملفات TIFF المتفرقة أحادية المستوى القادمة من حزم بيانات ضخمة للشركات المصنّعة — فهي لا تضيف شيئًا لا يقوله ملف WSI TIFF هرمي بشكل أفضل.
  • ما يُسجّل لكل ملف: الصيغة المكتشفة، وأداة التحميل، وأبعاد T/Z/C/Y/X بعد فك الترميز، ونوع البكسل، وحجم العرض، وعند الفشل نوع الاستثناء والرسالة المعروضة للمستخدم.

صيغ صور الشرائح الكاملة

هذه صيغ الماسحات — الملفات التي تصل من أجهزة Aperio أو Hamamatsu أو 3DHISTECH أو Leica أو Ventana أو Akoya أو Agilent، ويبلغ حجمها عادةً عدة غيغابايتات.

الصيغة الملفات فُتح النتيجة أكبر صورة أكبر ملف المحاور المتاحة أنواع البكسل
.avs Agilent ARGOS AVS 2 2 فُتحت كلها 130,546 × 57,440 (7499 MP) 439 MB مستوى واحد uint8
.bif Ventana BIF 2 1 1 غير مقروء 114,943 × 76,349 (8776 MP) 2.5 GB مستوى واحد uint8
.mrxs 3DHISTECH MIRAX 6 6 فُتحت كلها 109,240 × 220,696 (24109 MP) 72 KB مستوى واحد uint8
.ndpi Hamamatsu NDPI 5 5 فُتحت كلها 211,200 × 95,744 (20221 MP) 4.2 GB مستوى واحد uint8
.qptiff Akoya QPTIFF 2 2 فُتحت كلها 30,720 × 26,640 (818 MP) 1.9 GB 5C uint8
.scn Leica SCN 3 1 2 غير مقروءين 53,130 × 153,470 (8154 MP) 2.8 GB مستوى واحد uint8
.svs Aperio SVS 7 7 فُتحت كلها 96,999 × 45,667 (4430 MP) 671 MB مستوى واحد uint8
.vms Hamamatsu VMS 3 3 فُتحت كلها 143,360 × 101,888 (14607 MP) 1 KB مستوى واحد uint8

صيغ المجهر والتصوير الطبي

صيغ الالتقاط متعددة الأبعاد، حيث لا يكون السؤال المهم هو حجم الملف، بل عدد القنوات ومستويات Z والنقاط الزمنية التي تصل سليمة إلى الشاشة.

الصيغة الملفات فُتح النتيجة أكبر صورة أكبر ملف المحاور المتاحة أنواع البكسل
.czi Zeiss CZI 48 48 فُتحت كلها 6,000 × 6,000 (36 MP) 4.2 GB 8C · 56Z · 10T uint16، uint8
.dcm DICOM 378 362 16 لا تحمل أي صورة 77,687 × 73,366 (5700 MP) 1.2 GB 137Z int16، uint16، uint8
.dicom DICOM 1 1 فُتحت كلها 512 × 512 (0 MP) 514 KB مستوى واحد uint16
.ims Imaris IMS 17 11 6 غير مقروءة 4,096 × 4,096 (17 MP) 946 MB 3C · 98Z · 10T uint16، uint8
.lif Leica LIF 3 3 فُتحت كلها 1,024 × 1,024 (1 MP) 2.8 GB 5C · 5T uint16، uint8
.nd2 Nikon ND2 82 82 فُتحت كلها 2,400 × 2,400 (6 MP) 376 MB 5C · 35Z · 288T uint16، uint8
.tif TIFF / OME-TIFF 200 200 فُتحت كلها 17,927 × 20,273 (363 MP) 1.0 GB 8C · 10Z · 43T float32، int8، uint8
.tiff TIFF / OME-TIFF 33 33 فُتحت كلها 45,056 × 35,840 (1615 MP) 2.5 GB 3C · 38Z · 7T float32، int8، uint8

كل ملف لم يُفتح، ولماذا

لم يُفتح 25 ملفًا من أصل 792، وهي ليست قصة واحدة بل قصتان. 9 منها قيود حقيقية: صورة فعلية لا نستطيع قراءتها حاليًا. أما الـ 16 الأخرى فملفات لا تحتوي على صورة أصلًا، ويكون رفضها هو الإجابة الصحيحة. وخلط الفئتين معًا سيجمّل صورتنا — فالعدد الصادق لحالات الفشل في هذا التشغيل هو 9، لا 25.

قيود حقيقية: 9 ملفات لا نستطيع قراءتها

كل واحد من هذه الملفات سليم تمامًا — فالمجاميع الاختبارية مطابقة لما نشره المصدر — لذا فهذه حدود في أدوات فك الترميز وفي بنية ملفات الشركات المصنّعة، لا عينات تالفة. وتبقى في مجموعة الملفات بشكل دائم لتغطية الانحدار، وهكذا نعرف اليوم الذي يبدأ فيه أحدها بالعمل.

الملف الحجم الخطأ ما يخبر به SlideScope المستخدم
.bif Ventana-1.bif 217 MB ImageLoadError تستخدم هذه الشريحة بنية ملفات خاصة بالشركة المصنّعة لا تستطيع واجهة OpenSlide الخلفية فتحها. الملف نفسه غير تالف.
.ims Convallaria_3C_10T_confocal_IMS3.ims 68 MB ImageLoadError ملف .ims هذا ليس بصيغة Imaris المبنية على HDF5 التي يدعمها SlideScope. تستخدم ملفات Imaris الأقدم المصدّرة قبل HDF5 (التي تُسمّى أحيانًا "Imaris Classic") حاوية مختلفة، وهي غير مدعومة حاليًا.
.ims Convallaria_3C_1T_2x2grid_confocal_IMS3.ims 23 MB ImageLoadError ملف .ims هذا ليس بصيغة Imaris المبنية على HDF5 التي يدعمها SlideScope. تستخدم ملفات Imaris الأقدم المصدّرة قبل HDF5 (التي تُسمّى أحيانًا "Imaris Classic") حاوية مختلفة، وهي غير مدعومة حاليًا.
.ims Convallaria_3C_1T_confocal_IMS3.ims 8 MB ImageLoadError ملف .ims هذا ليس بصيغة Imaris المبنية على HDF5 التي يدعمها SlideScope. تستخدم ملفات Imaris الأقدم المصدّرة قبل HDF5 (التي تُسمّى أحيانًا "Imaris Classic") حاوية مختلفة، وهي غير مدعومة حاليًا.
.ims Convallaria_3C_3T_2x2grid_confocal_IMS3.ims 66 MB ImageLoadError ملف .ims هذا ليس بصيغة Imaris المبنية على HDF5 التي يدعمها SlideScope. تستخدم ملفات Imaris الأقدم المصدّرة قبل HDF5 (التي تُسمّى أحيانًا "Imaris Classic") حاوية مختلفة، وهي غير مدعومة حاليًا.
.ims Convallaria_3C_3T_35Z_confocal_deconvolved_IMS3.ims 661 MB ImageLoadError ملف .ims هذا ليس بصيغة Imaris المبنية على HDF5 التي يدعمها SlideScope. تستخدم ملفات Imaris الأقدم المصدّرة قبل HDF5 (التي تُسمّى أحيانًا "Imaris Classic") حاوية مختلفة، وهي غير مدعومة حاليًا.
.ims TransFactors_2C_SRRF_IMS3.ims 26 MB ImageLoadError ملف .ims هذا ليس بصيغة Imaris المبنية على HDF5 التي يدعمها SlideScope. تستخدم ملفات Imaris الأقدم المصدّرة قبل HDF5 (التي تُسمّى أحيانًا "Imaris Classic") حاوية مختلفة، وهي غير مدعومة حاليًا.
.scn Leica-Fluorescence-1.scn 21 MB ImageLoadError تستخدم هذه الشريحة بنية ملفات خاصة بالشركة المصنّعة لا تستطيع واجهة OpenSlide الخلفية فتحها. الملف نفسه غير تالف.
.scn Leica-3.scn 2.8 GB ImageLoadError تستخدم هذه الشريحة بنية ملفات خاصة بالشركة المصنّعة لا تستطيع واجهة OpenSlide الخلفية فتحها. الملف نفسه غير تالف.

النمط هنا هو بنية ملفات الشركة المصنّعة، لا نوع التصوير. فملفات NDPI وMIRAX للتألق تُفتح كلاهما بشكل طبيعي؛ والمشكلة في متغيّرات هيكلية محددة — ملف SCN بلا صورة رئيسية يمكن تحديدها، وملف BIF بسمة اتجاه غير متوقعة، وحاوية "Imaris Classic" من قبل HDF5 — ترفضها الواجهات الخلفية. وكل رسالة تسمّي السبب بدلًا من وصف الملف بأنه تالف، لأن الملف في كل هذه الحالات سليم والقصور منّا.

ليست حالات فشل: 16 كائنًا لا تحمل أي صورة

DICOM صيغة مستندات بقدر ما هي صيغة صور. ملف DICOMDIR فهرس لقرص؛ وحالة العرض (presentation state) تسجّل كيف ضبط أحدهم نافذة دراسة ما ذات مرة؛ وكائنات أخرى تحتوي على تقارير أو قياسات. ولا يحتوي أيٌّ منها على بكسلات. والعارض الذي يفتحها لن يكون لديه ما يعرضه، لذا يرفضها SlideScope مع شرح — وهذا هو السلوك الصحيح، ويُحتسب بشكل منفصل حتى لا يضخّم أيًّا من العمودين.

مسمّاة بالكامل حتى لا يُخفى شيء خلف فئة: DICOMDIR وPS_0026 وPS_0108 وPS_0128 وPS_0154 وPS_0181 وXX_0027 وXX_0109 وXX_0155 وXX_0182 وXX_0183.

حيث فتح SlideScope ملفًا وعرض الشيء الخطأ

هذا هو نمط الفشل الأهم، والذي لا تعترف به جداول الصيغ أبدًا، لذا إليك حالتنا.

فُتح مسح Akoya .qptiff متعدد الواسمات (multiplex) — ملف Vectra المرجعي بسبعة ألوان — دون أي خطأ على الإطلاق. يحتوي الملف على خمس صفحات تألق أحادية القناة بالدقة الكاملة (DAPI وFITC وCY3 وTexas Red وCY5) بحجم 34,560 × 24,960 عبر 33 صفحة، وهو ما تأكدنا منه بشكل مستقل باستخدام tifffile. كان SlideScope يوجّه كل ملف .qptiff إلى واجهة OpenSlide الخلفية، وهي قارئ للمجال الساطع، فأبلغ عن قناة واحدة وأرجع شريحة RGB. وتعذّر الوصول إلى قنوات التألق، ولم يكن لدى عناصر التحكم في القنوات ما تقدّمه.

لم يحذّرك شيء. أما مسوحات QPTIFF للمجال الساطع بصبغة H&E في مجموعة الملفات نفسها فتُفتح على أكمل وجه، وهذا بالضبط سبب عدم ملاحظة المشكلة.

أُصلح في SlideScope 1.8.48 (18 سبتمبر 2026): تُختار الواجهة الخلفية الآن لكل ملف على حدة، لا لكل امتداد. فالمسح متعدد الواسمات يذهب إلى قارئ يُرجع القنوات الخمس كلها؛ وتحتفظ ملفات QPTIFF للمجال الساطع بـ OpenSlide وتقسيمه إلى بلاطات بالدقة الكاملة. والمقايضة مذكورة لا مخفية: يُعرض ملف QPTIFF متعدد الواسمات بدقة مخفّضة، وتذكر لوحة تفاصيل الملف ذلك. والتشغيل المعروض في هذه الصفحة يعكس الإصلاح بالفعل — إذ يسرد صف QPTIFF أداتي التحميل وخمس قنوات.

يثبت هذا التشغيل القدرة على الفتح. أما صحة البكسلات فمسألة منفصلة، ونختبرها بشكل منفصل: مسح ثانٍ يفك ترميز المستويات نفسها عبر المكتبة الأساسية ويقارنها بما تُرجعه أداة التحميل. وهكذا اكتُشفت حالة QPTIFF.

ما يرفض SlideScope فتحه

لا يوجد قارئ احتياطي عام، وطريقة تعامل العارض مع ملف لم يُبنَ له أصلًا لا تقل أهمية عن الملفات التي بُني لها. أخذنا أصغر ملف حقيقي من كل امتداد غير مدعوم في مجموعة الملفات المرجعية — 93 ملفًا — ومرّرنا كلًّا منها عبر مصنع أدوات التحميل في الإصدار المنشور.

رُفض 93 من أصل 93 برسالة واضحة. ولم يتعطّل أيٌّ منها. ولم يُفتح أيٌّ منها نصف فتح إلى شيء يبدو كصورة وهو ليس كذلك. تتضمن القائمة صيغًا قد يجرّبها الناس فعلًا — .jpg و.lof و.nii و.oib و.oir و.png و.psd و.raw و.vsi — وفي وقت هذا التشغيل كانت تشمل .png و.jpg، اللتين رُفضتا برسالة بدلًا من محاولة التخمين.

منذ هذا التشغيل: يفتح SlideScope 1.10.0 (16 أكتوبر 2026) 18 صيغة إضافية، منها عدة صيغ رُفضت هنا: Olympus .vsi و.oib و.oir، وLeica .lof و.xlef، وHamamatsu .ndpis، وPNG وJPEG وغيرها من الصور اليومية. الأرقام في هذه الصفحة هي أرقام تشغيل 18 سبتمبر كما قيست؛ والصيغ المضافة في 1.10.0 لم تكن جزءًا منه. ويفتح SlideScope 1.20.0 خمس صيغ أخرى لم يختبرها هذا التشغيل: Philips .isyntax، وKFBio .kfb، وICS/IDS، وGatan .dm3 و.dm4، وOlympus .sis. راجع مرجع توافق الملفات للاطلاع على القائمة الحالية.

ما لا يخبرك به هذا الاختبار

  • صيغتان لا تغطيهما أي ملفات حقيقية على الإطلاق. لا توجد عينة عامة من .vmu أو .svslide — فلم تنشر OpenSlide أيًّا منهما — لذا لا تُختبر أدوات التحميل الخاصة بهما إلا بحالات حدّية اصطناعية. ولا ندّعي دعمًا مُختبرًا لهما.
  • ليس اختبارًا للسرعة. فالوقت حتى ظهور أول بكسل يعتمد على قرصك، وقد أُجريت هذه التشغيلات محليًا.
  • ليس تدقيقًا للدقة بما يتجاوز مسح مقارنة البكسلات الموصوف أعلاه، وليس تحققًا سريريًا. SlideScope مخصص للبحث والتعليم والمراجعة — لا للتشخيص.
  • إنه لقطة في لحظة زمنية. بتاريخ 2026-09-18 على الإصدار الحالي في ذلك اليوم. وتحديثات أدوات فك الترميز تحرّك هذه الأرقام في الاتجاهين.

أسئلة حول هذا الاختبار

ما صيغ المجهر والشرائح الكاملة التي يفتحها SlideScope فعلًا؟

ثمانية عشر امتدادًا للملفات: .svs و.ndpi و.mrxs و.scn و.bif و.vms و.vmu و.svslide و.qptiff و.avs و.czi و.nd2 و.lif و.ims و.dcm و.dicom و.tif و.tiff. لا يوجد قارئ احتياطي عام — فأي شيء خارج هذه القائمة يُرفض برسالة واضحة بدلًا من أن يُفتح بشكل سيئ.

هل هذا الاختبار مستقل؟

لا. تنشره SlideScope عن SlideScope، لذا تعامل معه كاختبار من الجهة المطوِّرة، لا كتدقيق من طرف ثالث. وما نستطيع تقديمه بدلًا من الاستقلالية هو قابلية التحقق: مجموعات الملفات عامة، وأداة التشغيل موجودة في دليل النصوص البرمجية المفتوح لدينا، وملف النتائج الخام مرتبط في هذه الصفحة، وحالات الفشل مدرجة بالتفصيل نفسه الذي أُدرجت به حالات النجاح.

لماذا تفشل بعض الملفات؟

دائمًا تقريبًا لأن الشركة المصنّعة كتبت بنية لا تستطيع الواجهة الخلفية مفتوحة المصدر الأساسية قراءتها — كأن تُبلغ OpenSlide عن "Can't find main image" في ملف SCN للتألق، على سبيل المثال. هذه قيود في المكتبات الأساسية نُظهرها بدلًا من إخفائها. والملفات الفاشلة سليمة تمامًا: مجاميعها الاختبارية مطابقة لما نشره المصدر.

هل يعني فتح الملف أن الصورة صحيحة؟

ليس بحد ذاته، ولهذا نختبر الأمرين. يثبت هذا التشغيل القدرة على الفتح؛ أما صحة البكسلات فيثبتها بشكل منفصل sweep_format_reference.py، الذي يفك ترميز المستويات نفسها عبر المكتبة الأساسية ويقارنها بما يعرضه SlideScope. وهناك حالة معروفة واحدة — ملف Akoya QPTIFF متعدد الواسمات — فُتحت دون خطأ ومع ذلك عرضت الشيء الخطأ حتى أصلحها SlideScope 1.8.48. وهي موثّقة في هذه الصفحة.

هل يمكنني إعادة إجراء هذا الاختبار؟

نعم. مجموعة الملفات المرجعية من Open Microscopy Environment متاحة للتنزيل العام، وعينات الشركات المصنّعة مأخوذة من OpenSlide ومن بيانات الاختبار الخاصة بمكتبات الصيغ نفسها، وأداة التشغيل موجودة في مستودع SlideScope المكتبي. وملف JSON الخام الذي تستند إليه كل الجداول في هذه الصفحة مرتبط أعلاه.

هل SlideScope معتمد للتشخيص السريري؟

لا. SlideScope مخصص للبحث والتعليم والمراجعة. وهو ليس جهازًا تشخيصيًا ويجب ألا يُستخدم لإجراء تشخيص أولي.

الاختبار الوحيد المهم هو اختبارك

مجموعة ملفاتنا ليست درج شرائحك. ثبّت SlideScope، وافتح الملفات التي تسبب لك المتاعب فعلًا، وإذا فشل أحدها فأرسله إلينا — فحالات الفشل في هذه الصفحة وصلت إلى هنا لأن أحدهم فعل ذلك.

نزّل SlideScope