Closed Sarah111-AHM closed 1 year ago
الرابط الذي يمكنك استخدامه لتنزيل ملف الصورة "SCD2001_MR_117.npy" هو:
https://www.kaggle.com/salikhussaini49/sunnybrook-cardiac-mri/download/SCD2001_MR_117.npy
من الممكن أن يتطلب تحميل الملف إنشاء حساب على موقع Kaggle. وبعد تنزيل الملف، يمكنك تحميله على Google Colab كما ذكرنا سابقاً.
DSAI 1303 - Data Science Programming Languages Course Project: Biomedical Image Analysis in Python Please note the following regarding homework submissions:
No email submissions will be accepted under any circumstances. The hw is to be solved individually. Any similaraty in hws will lead to 0 for all students involved. Once you write all codes in their corresponding cells, go to File -> download as -> notebook (.ipynb). Then submit the downloaded notebook. If you make a mistake, you can resubmit. The Google Classroom will consider the last submission. Once you submit, download your submitted file and check that the cells contain code and they are not empty. If you submit empty cells, you will get 0. Instructions: Solve Questions in the respective cells below. Make sure you fill in any place that says YOUR CODE HERE. Note: You should write comments to help other programmers understand your code. Do not use magic numbers and define the constants value as a constant variable. Name your variables based on Variable Naming Conventions rules. Here, we'll work with magnetic resonance (MR) imaging data from the Sunnybrook Cardiac Dataset. The full image is a 3D time series spanning a single heartbeat. These data are used by radiologists to measure the ejection fraction: the proportion of blood ejected from the left ventricle during each stroke.
To achaive this project you should refer to next source:
https://sakibreza.github.io/biomedical/
Let's import one sample You may refer to next source to download sample with number SCD2001_MR_117:
https://www.kaggle.com/datasets/salikhussaini49/sunnybrook-cardiac-mri
input
# YOUR CODE HERE
out putinput
# YOUR CODE HERE
out put<matplotlib.image.AxesImage at 0x17362cf5cd0>
https://drive.google.com/file/d/1e8KO9APFB76KATfsKKoEiiePFJLWxV9i/view?usp=drivesdk
Make the plot with grayscale
input
# YOUR CODE HERE
out put https://drive.google.com/file/d/1-huALqKd4pWXFJIaPXCjDZC-Yazxrtu0/view?usp=drivesdkMake plot the colorbar
input
# YOUR CODE HERE
out putData type: float64 Min value: 0.0 Max value: 255.0
https://drive.google.com/file/d/1LBN_vHj0sSsKvdi9JF_FyWAtkYz8YI2q/view?usp=drivesdk
Rotation
Rotate the figure and show both of them input
# YOUR CODE HERE
out put `<matplotlib.image.AxesImage at 0x17362e24d60>'https://drive.google.com/file/d/1AOB1EodjW7fcApfbEpMQG5jOP3n53HRd/view?usp=drivesdk
Histogram
Plot the histogram as shown below input
# YOUR CODE HERE
out put[<matplotlib.lines.Line2D at 0x17362df95e0>]
https://drive.google.com/file/d/1DTZhACYkpFFDSlilJc6Em7j6evY1oHD0/view?usp=drivesdk
Mask
Create next mask input
# YOUR CODE HERE
out put<matplotlib.image.AxesImage at 0x1736831e550>
https://drive.google.com/file/d/1IP97sA4v0VWkuV7qF7Da6R1hThfzgom1/view?usp=drivesdk
Show selected part
Show the part selected by using previous mask input
# YOUR CODE HERE
out put<matplotlib.image.AxesImage at 0x1736837e490>
https://drive.google.com/file/d/1A3r0owVSuKZOk74M-jYX825BZ7dQmsRz/view?usp=drivesdk
https://drive.google.com/file/d/1A3r0owVSuKZOk74M-jYX825BZ7dQmsRz/view?usp=drivesdk
Tune a mask
Tune the previous maske as follows input
# YOUR CODE HERE
out put<matplotlib.image.AxesImage at 0x17368730fa0>
https://drive.google.com/file/d/1BCMs8ZMrtSeFVdq9VmZglJBAPmtJNsH2/view?usp=drivesdk
Show result of running mask
input
# YOUR CODE HERE
out put<matplotlib.image.AxesImage at 0x17368801160>
https://drive.google.com/file/d/1DMghel25DDWTn9UQVsFEyp-y8WRNE7Gy/view?usp=drivesdk
https://drive.google.com/file/d/1DMghel25DDWTn9UQVsFEyp-y8WRNE7Gy/view?usp=drivesdk
https://drive.google.com/file/d/1DMghel25DDWTn9UQVsFEyp-y8WRNE7Gy/view?usp=drivesdk
Edge detection
input
# YOUR CODE HERE
out put<matplotlib.colorbar.Colorbar at 0x1736892e130>
https://drive.google.com/file/d/1AzwCUGm3FUeeYHjNk1E5cPvPFFZCTBR_/view?usp=drivesdk
Segmentation
Identify labels input
# YOUR CODE HERE
out puthttps://drive.google.com/file/d/1F6ozRRVh_wRQxK5LPcvDCFkVYnnw-FyI/view?usp=drivesdk
Select objects input
# YOUR CODE HERE
out puthttps://drive.google.com/file/d/1NL6Z-h84MrURF3XI41_1UTY4tqNPxM4w/view?usp=drivesdk
Extract specific object input
# YOUR CODE HERE
out puthttps://drive.google.com/file/d/1VE1hkweazioWizn-kZC3DXCDX2Jpv4lF/view?usp=drivesdk
حسنًا، سأقوم بمساعدتك في حل هذا المشروع، وسأرد عليك سؤالًا تلو الآخر وأضع الإجابات في الخلايا المناسبة. لكن يرجى تحميل الصورة من الرابط الذي ذكرته في السؤال الأول وتسميتها باسم "SCD2001_MR_117.jpg" قبل بدء الحل.
سؤال 1: استيراد الصورة وعرض نوع وحجم مصفوفة الصورة.
الإجابة:
سؤال 2: رسم الصورة باستخدام الرمادي.
الإجابة:
سؤال 3: إضافة colorbar للصورة.
الإجابة:
سؤال 4: دوران الصورة وعرض الصورتين معًا.
الإجابة:
سؤال 5: رسم الهيستوغرام الخاص بالصورة.
الإجابة:
سؤال 6: إنشاء قناع للصورة.
الإجابة:
سؤال 7: عرض الجزء المحدد من الصورة باستخدام القناع الذي تم إنشاؤه في السؤال السابق.
الإجابة:
سؤال 8: ضبط القناع السابق.
الإجابة:
سؤال 9: عرض الصورة بعد تشغيل القناع.
الإجابة:
سؤال 10: الكشف عن الحواف في الصورة.
الإجابة:
سؤال 11: تقسيم الصورة إلى مكعذرًا، يبدو أن النص الذي قمت بنسخه ولصقه في السؤال الأول ليس مكتملًا، ولا يحتوي على جميع المعلومات اللازمة لحل هذا المشروع. يرجى إرسال النص الكامل والمستكمل لتتمكن من مساعدتك بشكل أفضل. See
Let's start by importing the necessary libraries and loading the image
Let's check the type and shape of the image
Now, let's show the image in grayscale
Let's add a colorbar to see the range of values
Now, let's rotate the image
Let's show both the original and rotated images side by side
Let's plot the histogram of the image
Let's create a mask to select a specific part of the image
Let's show the mask
Let's use the mask to select the part of the image we want
Let's tune the mask to better select the desired part of the image
Let's show the tuned mask
Let's apply the tuned mask to the image
Let's perform edge detection on the image
Let's perform image segmentation to identify different objects in the image
Let's identify the labels for each object in the image
Let's show the labeled image
Let's select a specific object from the labeled image
selected_object = labels == 2
Let's show the selected object
Let's extract the indices for the selected object
object_indices = np.where(selected_object)
Let's create a bounding box around the selected object
Let's extract the selected object
extracted_object = image[min_y:max_y+1, min_x:max_x+1]
Let's show the extracted object
لا، لن يعمل اللصق المباشر على Google Colab. يجب عليك تحميل الملف المناسب وتحميله على Google Colab قبل تشغيله. يمكنك استخدام الأمر التالي لتحميل الملف على Google Colab:
from google.colab import files uploaded = files.upload()
بعد ذلك، يمكنك تحميل الملف واستخدامه كما في المثال المعطى.
الملف الذي يجب تحميله هو ملف الصورة المتواجد في مسار "SCD2001_MR_117.npy" الذي تم استخدامه في المثال المعطى. يمكنك تنزيل هذا الملف من الرابط الذي تم تزويده في سؤال البداية، ومن ثم تحميله على Google Colab باستخدام الأمر الذي ذكرته في الإجابة السابقة.