المشاركات

عرض المشاركات من يناير, 2021

التجريد ‏في ‏البرمجة ‏الكائنية ‏التوجه

صورة
هناك أربع مبادئ رئيسية في البرمجة الكائنية التوجه Abstraction, encapsulation, inheritance and polymorphism في هذه التدوينة سأتكلم عن التجريد abstraction المفهوم ببساطة هو التجرد من التعقيدات والتفصيلات الدقيقة التي لا يهمني معرفتها كي اقوم بتنفيذ ميثود معين داخل كلاس كتبه مبرمج آخر! يعني مثلا لا يهمني اني اعرف كيف تم عمل  'dcba'.sort() كيف رتبت هذه الميثود الموجودة في كلاس String مابهمني هو فقط أتأكد بأن وظيفتها تطابق حاجتي وكيف اقوم باستخدامها ك(كيفية الاستدعاء، عدد العوامل الحقيقة التي يجب ارسالها عند الاستدعاء) هذا سيفتح باب واسع جدا البناء السريع على خبرات بعضنا البعض وعدم الوقوع في دوامة انك يجب أن تعرف كل تفصيلات النظام المعقد! اغلب الشركات العظمى حالياً تستخدم مكتبات برمجية جاهزة مثل مكتبات الذكاء الاصطناعي scikit learn and tensor flow ومكتبات الويب مثل Django and flask لذلك ياصديقي لا تحمل نفسك اكبر من الوقت الذي لديك ولا الجهد لتدخل نفسك بكل التفاصيل الصغيرة الغير مؤثرة ودع جمالية التجريد تسهل عليك عملك 🙂👍🏼

DICOM الصور الرقمية الطبية والتعامل معها باستخدام بايثون

صورة
لم اكن اعرف ان هناك معيار عالمي للصور الطبية يدعى DICOM هذا المعيار تم تطويره والمسؤول عنه حاليا هي الجمعية الوطنية لمصنعي الاجهزة الكهربائية NEMA  حيث يقدم هذا المعيار خدمة رائعة للشركات المصنعة للأجهزة المتعلقة بالتصوير الطبي ( اجهزة تصوير ، اجهزة طباعة ، نقل وحفظ هذه الصور)  جميع هذه الاجهزة تعمل وفق نظام عمل موحد يسهل التواصل فيما بينها. في هذه المدونة سأقدم شرح مبسط للأدوات التي تحتاجها للتعامل مع الفايلات المبنية وفق المعيار DICOM صيغة هذه الملفات بالعادة تنتهي بـ dcm.  هناك عدة مكتبات يمكنها التعامل مع هكذا نوع لكن النوع الذي استخدمه بالشرح في هذه التدوينة هي  pydicom كبداية كل ماتحتاجه هو تضمين هذه المكتبة ضمن بيئة بايثون الخاصة بك. وبكل بساطة للقيام بهذا الامر ماعليك سوى استخدام الامر السحري في بايثون لتضمين اغلب المكتبات بكل سهولة: pip install pydicom بعد ذلك تقوم بعمل استدعاء للأمور التي تحتاجها في عملك  dcmread هي الكلاس المسؤولة عن قراءة الملف.  matplotlib.pyplot المسؤولة عن رسم الصور.  get_testdata_file نستخدمها لجلب بيانات صورية طبية...