# عارض DICOM — افتح ملف ‎.dcm‎ في متصفحك

CT وMR والأشعة السينية والموجات فوق الصوتية، ومعها النافذة والترويسة والقياسات.

> افتح صور CT وMR والأشعة السينية والموجات فوق الصوتية في متصفحك. اضبط النافذة والمستوى، وتصفّح سلسلة كاملة، وقِس بالمليمترات، واقرأ كل وسم DICOM، وانظر ما الذي في الملف يعرّف المريض بالضبط. ولا يُرفع شيء.

هذه الصفحة أداة تفاعلية تعمل بالكامل داخل متصفحك، على العنوان https://abox.tools/ar/عارض-dicom/ — ولا يُرفَع أي شيء تعطيه إياها. وفيما يلي كل ما تقوله الصفحة عن الأداة بالكلمات؛ لاستخدامها، افتح العنوان.

## صور أشعتك لا تُرفع **أبدا**. لا يوجد خادم.

يفتح متصفحك أنت الصورة ويفكّ ترميزها: الترويسة، والبكسلات، والنافذة، والقياسات. ولا يقف في الطرف الآخر من هذه الصفحة خادم تُرسَل إليه معلومات صحية محمية، حتى لو أراد شيء هنا ذلك، ولا يُقرأ عن الملف شيء على أحد — لا اسم المريض، ولا الدراسة، ولا اسم الملف.

- ✗ بلا رفع
- ✗ بلا حساب
- ✓ يعمل دون اتصال
- ✓ مفتوح المصدر
- ✓ الملفات تبقى على جهازك

## كيف تفتح ملف DICOM

1. **اختر الملفات.** ملف `.dcm` واحد، أو المجلد كله من القرص — فصورة CT أو MR ملفٌّ لكل شريحة، وإفلاتُها كلها دفعة واحدة هو ما يعيد بناء السلسلة. ويقرأ المتصفح الملفات من قرصك مباشرة؛ ولا يُرسَل شيء إلى أي مكان أثناء ذلك.
2. **اختر السلسلة.** الدراسة تحمل عدة سلاسل عادةً: الصورة الاستطلاعية، ثم كل اكتساب. وتُرصَف كل واحدة بالترتيب الذي أخذها به الجهاز، مستنتَجاً من موضع كل شريحة في المريض لا من الترقيم، فالترقيم ليس دائماً في الاتجاه نفسه.
3. **اضبط النافذة.** هذا هو التحكّم الذي يجعل الصورة مقروءة، وهو الذي لا يملكه محرِّر الصور. اسحب عبر الصورة لتوسيع النافذة، وإلى أعلى أو أسفل لتحريك مركزها، أو اختر إحدى النوافذ المسمّاة — الرئة، والعظم، والدماغ، والأنسجة الرخوة — على صورة CT، حيث الوحدات هي هي على كل جهاز في العالم.
4. **تصفّح الرصّة.** المِزلاج تحت الصورة يتنقّل بين الشرائح، ومفاتيح الأسهم تفعل الشيء نفسه متى نقرت على الصورة. والملف متعدّد الإطارات — حلقة موجات فوق صوتية، أو تصوير أوعية — يُشغَّل بالزر الذي بجانبه.
5. **قِس شيئاً.** حوِّل إلى «قياس» واسحب خطاً. فحيث يقول الملف كم تبعد بكسلاته بعضها عن بعض، يأتي الجواب بالمليمترات ويأخذ في حسابه البكسلات غير المربّعة؛ وحيث لا يقول الملف، يأتي الجواب بالبكسلات ويقول ذلك بدل أن يخترع مقياساً.
6. **اقرأ الترويسة.** كل عنصر في الملف، برقمه، وبما يسمّيه المعيار، وبما يحمله، قابلاً للبحث. وفوقه قائمةُ ما يعرّف المريض في هذا الملف بعينه — وهو أكثر بكثير من الاسم.
7. **خذ ما تحتاجه.** الإطار الذي على الشاشة بصيغة PNG، بالنافذة التي ضبطتها ولا شيء محروق فيه، أو الترويسة كلها نصّاً صِرفاً. وكلاهما مبنيّ في الصفحة مما هو فيها أصلاً.

## النسخة الأطول

[كيف تفتح ملف DICOM، وما الذي بداخله](https://abox.tools/ar/أدلة/فتح-ملف-dicom/): ما الذي على قرص المستشفى، ولماذا لا امتداد لهذه الملفات، وكيف تفتح فحص dcm. في متصفح، وماذا تفعل النافذةُ والمستوى فعلاً، وماذا يحمل الفحصُ عن المريض سوى الصورة.

## أيضا في الصندوق

- [الصورة إلى ICO](https://abox.tools/ar/إنشاء-فافيكون/): صورة واحدة تدخل. وتخرج بكل حجم يطلبه متصفح أو Windows أو Mac.
- [الصورة إلى Data URI](https://abox.tools/ar/تحويل-الصورة-إلى-base64/): الصورة كلها في سطر نصّ واحد. الصقه في CSS أو HTML مباشرة.
- [SVG إلى صورة](https://abox.tools/ar/تحويل-svg-إلى-png/): حدّد الحجم. فالرسم المتجهي لا حجم له يخسره.
- [صورة إلى SVG](https://abox.tools/ar/تحويل-صورة-إلى-svg/): شكل واحد، وخط محيط واحد. أشِر إلى ما لا ينبغي أن يكون هناك.

## أسئلة

### هل تُرفع صورتي إلى أي مكان؟

لا. يقرأ متصفحك أنت الملف ويفكّ ترميزه ويرسمه على جهازك أنت. ولا جانب خادمَ لهذه الأداة، و`Content-Security-Policy` الخاصة بالصفحة تُسمّي كل عنوان يجوز لها الاتصال به — وليس واحد منها لنا. اقطع الاتصال بالشبكة وستظل تفتح الصور. \
\
وذلك هنا أثمن منه في أي صفحة أخرى من هذا الموقع. فملف DICOM يحمل اسم المريض وتاريخ ميلاده ورقمه في المستشفى في ترويسته، فرفعُ واحد منها إلى عارض يعني مناولة غريبٍ سجلّاً طبياً، لا صورة.

### ما ملفات DICOM التي يستطيع فتحها؟

الملفات غير المضغوطة في أي من صيغ النقل الأساسية الثلاث — الضمنية والصريحة بترتيب البايت الصغير أولاً، والصيغة المتقاعدة بترتيب البايت الكبير أولاً — ومعها المنكمشة، وRLE Lossless، وJPEG الأساسية، وJPEG Lossless، وهي التي ضُغِط بها أكثر دراسات CT وMR على أقراص المستشفيات. \
\
ولا يستطيع فكّ ترميز JPEG 2000 ولا JPEG-LS ولا صيغتَي MPEG وHEVC المستعملتين للفيديو. فتلك تحتاج إلى مرمِّزات هي ميغابايتات من مكتبة مُصرَّفة، وصفحةٌ تنزّل واحدة عند الطلب لن تكون صفحة تعمل دون اتصال. والملف بإحداها يُفتَح رغم ذلك: فتُقرأ الترويسة كلها وتُعرَض، ويُستبدَل بالصورة سطرٌ يُسمّي المرمِّز، بدل أيقونة صورة معطوبة لا تقول لك شيئاً.

### ما «النافذة والمستوى»، ولماذا أحتاج إليهما؟

شريحة CT تحمل نحو أربعة آلاف قيمة متمايزة، وشاشتك تعرض ستة وخمسين ومئتين من الرماديّات. والنافذة هي اختيار أي شريحة من ذلك المدى تنال الرماديّات كلها: فما دونها أسود، وما فوقها أبيض، وما بينهما مبسوط على الرماديّات. \
\
ولهذا يبدو الملف نفسه صورةً أخرى تحت إعدادين، ولهذا لا يمكن رؤية الرئة والعظم معاً. وعلى صورة CT تكون الأرقام وحدات هاونسفيلد، وهي معرَّفة تعريفاً مطلقاً — الماء 0 والهواء −1000 — فالنوافذ المسمّاة على هذه الصفحة هي الأرقام نفسها التي يستعملها أخصائي الأشعة على محطة عمله. أما على MR أو الموجات فوق الصوتية فلا مقياس كهذا، والنافذة التي تُفتَح هي التي يطلبها الملف نفسه.

### لماذا يقول إن قياسي بالبكسلات؟

لأن ذلك الملف لا يقول كم يبلغ حجم البكسل. فـ Pixel Spacing (0028,0030) هو ما يحمل ذلك، بالمليمترات، وكثير جداً من صور الموجات فوق الصوتية والمستندات الممسوحة ضوئياً واللقطات الثانوية لا تحمله ببساطة. \
\
وحيث يكون موجوداً، يأتي القياس بالمليمترات ويُقاس كل محور بتباعده هو، وذلك مهمّ في الصور التي بكسلاتها ليست مربّعة. وحيث لا يكون، فالجواب الصادق عددُ بكسلات، وهذا يقول ذلك بدل أن يختار مقياساً ويقدّم النتيجة على أنها طول.

### فتح مجلدي على أنه عدة سلاسل. لماذا؟

لأن ذلك ما فيه. فالدراسة مكوَّنة من سلاسل — الصورة الاستطلاعية، ثم كل اكتساب أو إعادة بناء — وكل ملف يقول إلى أيها ينتمي في Series Instance UID (0020,000E). والقائمة المنسدلة مبنيّة من ذلك لا من المجلد، فالمجلد فيه عادةً كلها مختلطة في قائمة أسماء واحدة. \
\
وداخل السلسلة تُرتَّب الشرائح بموضع كل واحدة في المريض، مستنتَجاً من Image Position وImage Orientation. أما Instance Number فهو المفتاح البديهي وهو البديل لا الخيار الأول: إذ يسنده ما كتب الملفات، وليس عليه أن يجري في الاتجاه الذي يجري فيه المريض.

### ماذا تعني قائمة «ما يعرّف المريض»؟

هي كل حقل في ملفك يُسمّي الشخص الذي الصورة له، أو يضيّق دائرة مَن قد يكون، مقروءاً من هذا الملف على جهازك. والقائمة مأخوذة من PS3.15 من معيار DICOM — الجزء الذي يقول ما الذي يجب أن يزول قبل أن تُسمّى مجموعة بيانات منزوعةَ الهوية. \
\
وهي هناك لأن الذي يخطئ فيه الناس ليس أن في الصورة اسماً. بل كم فيها من غيره: تاريخ الميلاد، ورقم الطلب، والطبيب المُحيل، والمؤسسة، والرقم التسلسلي للجهاز، ومعرِّفات الدراسة، وهي مفاتيح تامّة تعود بك إلى الأرشيف الذي صنع الملف. فالصورة التي مُحي منها الاسم لا غير ليست مجهولة الهوية. \
\
وهذه الأداة تعرض عليك لا أكثر. فهي لا تكتب شيئاً ولا تغيّر شيئاً، فلا تستطيع إخراج شيء من ذلك.

### هل يستطيع نزع هوية صورة؟

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

### هل يستطيع فتح ملف بلا امتداد ‎.dcm‎، أو ملف معطوب؟

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

### هل هذا عارض تشخيصي؟

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

### هل يغيّر ملفي؟

لا. فهذه الأداة تقرأ لا غير. ولا ملف خَرج ولا إعادة ترميز ولا زرّ هنا يكتب ملف DICOM — والذي يمكنك تنزيله صورةُ PNG للإطار الذي على الشاشة ونسخةٌ نصّية صِرفة من الترويسة. وأصلك على قرصك لم يُمسّ.

### هل هو مجاني، وهل أحتاج إلى حساب؟

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

### هل يعمل دون اتصال؟

نعم. حمِّل الصفحة مرة، ثم اقطع اتصالك بالإنترنت وستظل تعمل. وهذه أيضاً أبسط طريقة لإثبات أنه لا يُرفع شيء: فأداةٌ ترسل صورتك بعيداً لتُعرَض كانت ستتوقف في اللحظة التي تقطع فيها الاتصال.

## كيف يمكن التحقق من وعد الخصوصية

- **صورتك لا سبيل لها إلى الخروج.** تُسمّي Content-Security-Policy كل عنوان يجوز لهذه الصفحة الاتصال به، وليس واحد منها لنا. فلا يوجد هنا طرفٌ يُجمَع عنده ملفك، ولا في الشيفرة ما يرسله إليه لو وُجد. وقد كان هذا يقول `connect-src 'none'`، وكان مطلقاً؛ فكلّفت إضافةُ الإعلانات ذلك، وقولُه جزء من الصفقة.
- **هذا هنا أهمّ منه في بقية الصفحات.** ملف DICOM ليس صورة عليها بعض البيانات الوصفية. هو سجلّ طبي فيه صورة: فاسم المريض، وتاريخ ميلاده، ورقمه في المستشفى، ورقم الطلب، والطبيب المُحيل، والمؤسسة، والرقم التسلسلي للجهاز، كلها حقول في الترويسة، وكلها تسافر مع الملف حيثما ذهب. ورفعُ واحد منها إلى موقع لتنظر إليه يعني مناولة ذلك كله لمن يدير الموقع. وذلك هو الشيء الذي وُجِدت هذه الصفحة كي لا تفعله.
- **القارئ أربعة عشر ملفاً في هذا المستودع.** ولا شيء هنا يستعمل مكتبة مجلوبة من أي مكان. فـ `src/dicom.js` يمشي في الملف، و `src/dictionary.js` يعرف أسماء الوسوم، و `src/pixels.js` يعيد البايتات قياسات، و`src/rle.js` و`src/jpeg-lossless.js` يفكّان الصيغتين المضغوطتين اللتين تستطيع هذه الصفحة فكّهما، و`src/window.js` يُسقِط ما قِيس على رماديّات شاشتك.
- **المعرِّفات تُسرَد لك أنت، ولا أحد سواك.** تطبع الصفحة كل حقل في ملفك يُسمّي الشخص الذي هي له أو يضيّق دائرة مَن قد يكون، لأن ذلك سؤالٌ يحتاج من هو على وشك مشاركة شريحة إلى جوابه ولا يجيبه عارض. ويُوضَع على الشاشة أمامك ولا يذهب إلى أي مكان آخر: فلا حدث تحليلات في هذا المستودع يحمل شيئاً منه، ولا تستطيع الصفحة إرسال واحد لو وُجد.
- **يقرأ. ولا يكتب.** لا يوجد هنا زرٌّ يغيّر ملفك، ولا شيفرة تستطيع ذلك. والذي يمكنك أخذه صورةُ PNG للإطار الذي على الشاشة ونسخةٌ نصّية من الترويسة، وكلتاهما مبنيّة في الصفحة مما هو عليها أصلاً. وأصلك على قرصك لم يُمسّ، وهو أيضاً الجواب الصادق عمّا يحدث إن أغلقت التبويب.
- **ما تُحمّله Google، وما لا يُعطى لها.** نصوص الإعلانات والقياس تأتي من Google. ولا يُعطى أيٌّ منهما شيئاً عن ملفك: لا البكسلات، ولا مصغَّرة، ولا اسم، ولا وسم، ولا مريض، ولا اسم ملف. وكل سطر يحلّل صورة أو يفكّ ترميزها أو يرسمها يُخدَم من هذا الأصل نفسه ومُدرَج في المستودع.
- **ما يُحمّله زر التبرّع، وما لا يُعطى له.** زر «Buy me a coffee» في الترويسة يرسمه نصٌّ برمجي من cdnjs.buymeacoffee.com ويأخذ حروفه من Google Fonts. وهو رابط لا أكثر: لا يبلّغ عن زيارة، ولا يُعطى شيئاً عنك ولا عن ملفاتك. ولا يحدث شيء ما لم تنقره، والذي ستنتقل إليه بالنقر موقعُ شخص آخر.
- **يعمل دون اتصال.** اقطع الاتصال بالشبكة، ويظل كل جزء من هذه الصفحة يعمل. وهذا أبسط برهان على الإطلاق: فأداةٌ ترسل صورتك بعيداً لتُعرَض كانت ستتوقف في اللحظة التي تقطع فيها الاتصال.

**تحقّق بنفسك.** لا شيء مما سبق عليك تصديقه دون تحقق. تُولَّد هذه الصفحة من القوالب والإعدادات في المستودع بواسطة سكربت بناء يمكنك قراءته وتشغيله بنفسك، والنتيجة موجودة في فرع `dist` — فقارِن إذن بين ما يُقدَّم فعلا وما ينتجه بناء المصادر: https://github.com/A-Box-of-Tools/website

الملفات الجديرة بالقراءة أولا هي `config/site.toml` من أجل سياسة أمان المحتوى (Content-Security-Policy)، و`src/dicom.js` للمحلِّل الذي يمشي في الملف، و`src/pixels.js` لفكّ ترميز البكسلات، و `src/jpeg-lossless.js` للمرمِّز الذي تستعمله أكثر تصديرات المستشفيات، و`src/window.js` للنافذة والمستوى — وليس في واحد منها سطر يمكن أن يبلغ الشبكة.
