جدول المحتويات:

مشروع صندوق الرمل BME 60B: 6 خطوات
مشروع صندوق الرمل BME 60B: 6 خطوات

فيديو: مشروع صندوق الرمل BME 60B: 6 خطوات

فيديو: مشروع صندوق الرمل BME 60B: 6 خطوات
فيديو: BMW E30 328 🔥🔥 بي ام دبليو اي30 328 بمحرك اسطوري 2024, يوليو
Anonim
مشروع صندوق الرمل BME 60B
مشروع صندوق الرمل BME 60B

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

الخطوة 1: حدد الصورة وقم بتكوينها للتحليل

حدد وشكل الصورة للتحليل
حدد وشكل الصورة للتحليل

الخطوة الأولى في الكود الخاص بنا هي تحديد الصورة المناسبة وتهيئتها للتحليل في Matlab. يمكننا تحديد الصورة باستخدام وظيفة uigetfile التي تتيح لنا الحصول على أي ملف وإدخاله في البرنامج. ثم ، باستخدام imread ، نقرأ الصورة ونقوم بتكوينها للتحليل في Matlab. ثم يتم عرض الصورة التي تم تحديدها في مخطط فرعي.

الخطوة 2: العتبة وواجهة المستخدم الرسومية

العتبة وواجهة المستخدم الرسومية
العتبة وواجهة المستخدم الرسومية
العتبة وواجهة المستخدم الرسومية
العتبة وواجهة المستخدم الرسومية

في بداية الكود يتم اختيار صورة باستخدام “uigetfile” ثم تعريف تلك الصورة بمتغير. سيتم بعد ذلك استخدام المتغير لتحديد الكود عند تشغيل تحليل مختلف. يتم إنشاء حبكة فرعية 2x2 في الشكل. في الموضع 1 ، سيتم عرض الصورة الأصلية. القسم التالي من الكود هو المكان الذي تحدث فيه تعديلات العتبات. في البداية ، يتم استخدام القيمة الافتراضية لعتبة 0.6 ويتم عرضها في الموضع 2 من الحبكة الفرعية. ثم يتم استخدام عبارة if لتحديد ما إذا كان المستخدم يريد الاحتفاظ بالعتبة أو تعديلها. يمكن للمستخدم ضبط العتبة باستخدام واجهة المستخدم الرسومية التي تتضمن الصورة في ظروف عتبة مختلفة ، وشريط التمرير ، وزر حفظ. بعد تعيين العتبة ، سينقر المستخدم على زر حفظ لحفظ الصورة وسيتم تخزينها في ملفات MATLAB الخاصة بالمستخدمين بصيغة-p.webp

الخطوة 3: رسم ملامح وتوزيع الخلايا

رسم ملامح وتوزيع الخلايا
رسم ملامح وتوزيع الخلايا
رسم ملامح وتوزيع الخلايا
رسم ملامح وتوزيع الخلايا

الجزء التالي من الكود يرسم الخطوط العريضة. هناك حلقة يتم فيها إحاطة الخلايا بمحيط أحمر ، ويتم تحديد تلك الخلايا الموجودة أعلى خلية أخرى باللون الأخضر. ثم يتم عرض الصورة الموضحة في الموضع 3 بخط مسافة تفاعلي. سيحدد هذا الخط عدد البكسل في الخط الذي تم ضبطه بواسطة المستخدم لمحول بكسل إلى مليمتر. يتم بعد ذلك ضرب عامل المسافة في المنطقة التي تحددها دعائم المنطقة ويتم الآن التعبير عن المنطقة بالمليمترات المربعة. ثم يتم رسم البيانات باستخدام الرسم البياني لمعرفة توزيع الخلايا حسب مساحتها. سيتم بعد ذلك عرض هذا الرسم البياني في الموضع 4.

الخطوة 4: تحويل صورة الخلية

تحويل صورة الخلية
تحويل صورة الخلية

في هذه الخطوة ، أخذنا الصورة ذات التدرج الرمادي وقمنا بتبديلها وترشيحها وعكسها. يؤدي إجراء هذه الوظائف على الصورة إلى إزالة وحدات البكسل الصاخبة التي يمكن الخلط بينها وبين الخلايا وجعل الصورة أكثر نعومة ونعومة حول حواف الخلية. تم إجراء ذلك لاستخراج الخلايا الموجودة في الصورة على أنها "نقاط" مميزة تختلف في شدتها عن الخلفية. كانت "النقط" عبارة عن صور بيضاء عالية الكثافة والخلفية سوداء. إذا تم السماح بوقت إضافي قليلاً ، فسنستخدم تحويل صورة Blob مختلفًا بدلاً من وظيفة imbinarize لنكون أكثر دقة وملاءمة لصورنا ، لكننا كنا بحاجة إلى مزيد من الوقت للبحث عن الوظيفة وتنفيذها.

الخطوة 5: عد الخلايا وحساب التقاء الخلايا

عد الخلايا وحساب التقاء الخلايا
عد الخلايا وحساب التقاء الخلايا

في هذه الخطوة من الكود ، هدفنا إلى حساب عدد الخلايا الموجودة في الصورة. استخدمنا في المقام الأول دعائم المنطقة الوظيفية لحساب مناطق النقط وإذا تم حساب المنطقة لتكون في حدودنا المرغوبة ، فسيتم رسمها على مخطط فرعي. تم تعيين الحدود لإزالة وحدات البكسل الصاخبة الصغيرة أو الشدة الكبيرة التي لم تكن خلايا. يقوم عداد الخلية بعد ذلك بحساب النقط الوسطى التي تم رسمها بعد ذلك وإضافتها إلى العداد في حلقة for. بمجرد تحديد مناطق الخلايا ، تمكنا من حساب التقاء. كانت الأهمية الرئيسية لهذه الخطوة في الكود هي العثور على التقاء الخلايا وكان هذا محوريًا لهدفنا النهائي من الكود. لقد فعلنا ذلك عن طريق الحساب عن طريق تلخيص وحدات البكسل (مجموع (allAreas)) في كل نقطة ثم تقسيمها على إجمالي قيمة البكسل للصورة (numel (img)). ستعطينا هذه النسبة التقاء وإذا تم تحديدها لتكون أكبر من 80٪ فقد حان الوقت لتمرير الخلايا من قبل الباحث. كنا نهدف إلى أن نكون دقيقين ودقيقين قدر الإمكان ولكن مع الوقت المحدود ، لم يحدث خطأ. إذا سمح الوقت ، فسننظر في طرق لجعل حساب النقاط أكثر دقة مثل المزيد من تقنيات التصفية و / أو Hough Transform حيث لم يتم إجراء بحث كافٍ حتى الآن لتجربة تقنية التصفية هذه

الخطوة 6: استدارة الخلايا

استدارة الخلايا
استدارة الخلايا
استدارة الخلايا
استدارة الخلايا

قبل أن نكون قادرين على قياس استدارة النقطة في صورة ما ، نحتاج إلى التحويل من RGB إلى تدرج رمادي ، وثنائي ، وعكس ، وتصفية الصورة. تستخدم تقنية التصفية وظيفة bwareaopen ، التي تقوم بتصفية الصورة محل الاهتمام وتزيل أي مواصفات أو وحدات بكسل صغيرة جدًا ولا تمثل حجم الخلية. يتم إنشاء عنصر هيكلي على شكل قرص وجوار 2 ويتم استخدامه لملء أي فجوات في الخلفية أو داخل الخلايا. ثم نستخدم الدالة bwboundaries التي تتعقب النقط وتخزنها في مصفوفة. ثم نقوم بتسمية الصورة باستخدام ألوان مختلفة بحيث تصبح أكثر وضوحًا. بعد ذلك ، باستخدام حلقة for يتم تشغيلها وفقًا لعدد الكائنات والثقوب الموجودة في الصورة ، فإنها تضع حدًا حول النقاط المتوافقة مع هذه المجموعة. بمجرد أن تنتهي هذه الحلقة ، تبدأ حلقة أخرى ، مرة أخرى وفقًا لعدد الكائنات والثقوب الموجودة في الصورة. هذه المرة نستخدم الدالة regionprops التي تجمع خصائص معينة مثل المنطقة من المصفوفة وتخزن المعلومات التي تحتوي على عدد الكائنات والثقوب. باستخدام هذه المعلومات ، نحسب مساحة ومحيط هذه الكائنات باستخدام شكل النقطه الوسطى. يتم تعيين عتبة لمقارنة النتائج بمجرد أن نحسب الوحدة المترية لكائن دائري ونرسم هذا القياس كنص بجانب النقط الوسطى المحسوبة. سيعرض الكود النهائي استدارة الخلايا المختلفة الموجودة في الصورة وستكون أي قيم قريبة من القيمة الأولى أكثر تقريبًا من غيرها. تشير القيمة 1 إلى أن الخلية مستديرة تمامًا وفي حالة جيدة لتمريرها.

موصى به: