pycad
pycad
  • 149
  • 394 898
Integrate Your nnUNet Model in 3D Slicer
This videos is about integrating the model we trained in the previous video about spine segmentation, in 3D Slicer.
nnUNet course: th-cam.com/video/rZfngRIhEcQ/w-d-xo.htmlsi=drT3T_hwKplkgwQd
Blog post: pycad.co/3d-slicer-nnunet-spine-segmentation/
Our newsletter: pycad.co/join-us/
Free medical imaging ebook: pycad.co/medical-imaging-ebook/
For business purposes contact us at: contact@pycad.co
#medicalimaging #3dslicer #nnunet #imagesegmentation #dicom
มุมมอง: 1 269

วีดีโอ

Vertabrae Segmentation using Python and nnUNetv2
มุมมอง 2.6K4 หลายเดือนก่อน
This course is to show you the steps to do to train a nnUNetv2 model. The example taken here is a multiclass model for vertebrae segmentation. Dataset: www.kaggle.com/datasets/pycadmk/spine-segmentation-from-ct-scans Code: github.com/amine0110/spine-segmentation-nnunet Our newsletter: pycad.co/join-us/ Free medical imaging ebook: pycad.co/medical-imaging-ebook/ For business purposes contact us ...
DICOM Simplified - Python Course
มุมมอง 1.6K6 หลายเดือนก่อน
Learn how to manipulate DICOM files using Python! Portfolio: pycad.co/portfolio/ Code: github.com/pycadd/TH-cam-Tutorials/tree/main/2024-04-22-dicoms-simplified Python for Medical Imaging Course: th-cam.com/video/i0Lt147_dGM/w-d-xo.htmlsi=pk6gCGcuBFX7zYmk Liver Segmentation Course: th-cam.com/video/AU4KlXKKnac/w-d-xo.htmlsi=sb8paAzPySJoGlre #medicalimaging #python #dicom #pycad
Unified Medical Imaging Reader using Python
มุมมอง 4988 หลายเดือนก่อน
Read DICOMs, NIFTI, and NRRD with a unified method and return the same 3D array and metadata structure. Code: github.com/pycadd/TH-cam-Tutorials/tree/main/2024-02-15-unified_reader Free web-based application for 3D medical image pre-annotation. Try the app from here: www.annotation.pycad.co/ App details: github.com/amine0110/pycad-annotation-guideline PYCAD library: github.com/amine0110/pycad A...
I Segmented 15 CT Scans in 15 Minutes! Lungs
มุมมอง 4918 หลายเดือนก่อน
Free web-based application for 3D medical image pre-annotation. Try the app from here: www.annotation.pycad.co/ App details: github.com/amine0110/pycad-annotation-guideline PYCAD library: github.com/amine0110/pycad Are you interested in building this kind of application? Contact us at contact@pycad.co #medicalimaging #healthcare #python #pycad
Coming Soon...
มุมมอง 3259 หลายเดือนก่อน
A free online platform to help you accelerate the annotation of 3D anatomical structures. The available models now are: liver, spleen, heart, spine, and hips. The application is not public as of now (the date we are publishing this video), whenever the application is public, we will create a video for that. If you are interested on building something like this, please contact as at: contact@pyc...
Mandible Segmentation from Panoramic X-Ray using YOLOv8 and PYCAD
มุมมอง 73510 หลายเดือนก่อน
This video is a tutorial about how to you the PYCAD library to prepare a 2D dataset to train YOLOv8 for image segmentation. Link to the notebook: github.com/amine0110/pycad/blob/main/tutorials/pycad_yolov8.ipynb If you are looking to build a custom machine-learning solution for your medical data, we can help you with that, you can book a call in our website: pycad.co/ Or, contact us at: contact...
Python for Medical Imaging Course (~6 hours learning)
มุมมอง 5K10 หลายเดือนก่อน
Unlock the power of Python in the field of medical imaging with our comprehensive course! This hands-on training program takes you on a journey from the basics of Python programming to the specialized use of libraries tailored for medical imaging. Learn how to manipulate, preprocess, and analyze medical images using the robust tools provided by MONAI, a leading framework for healthcare imaging....
I Created my First Python Library!
มุมมอง 19811 หลายเดือนก่อน
In this video, I wanted to celebrate with you the release of my first Python library. Link to the repo: github.com/amine0110/pycad 🔔 Subscribe for actionable content: We post 3 groundbreaking videos every week! 🔍 Why PYCAD? We're not just content creators; we're researchers and consultants in the field of medical imaging. At PYCAD, we have the skills and knowledge to build specialized solutions...
Medical Image Format Conversions Using 3D Slicer
มุมมอง 706ปีที่แล้ว
👋 Welcome to PYCAD, your go-to destination for all things medical imaging! 🎥 Today's Topic: a study: how to do the different medical image conversion format using 3D slicer (no code). 🔔 Subscribe for actionable content: We post 3 groundbreaking videos every week! 🔍 Why PYCAD? We're not just content creators; we're researchers and consultants in the field of medical imaging. At PYCAD, we have th...
CNNs or ViT for Medical Imaging?
มุมมอง 437ปีที่แล้ว
👋 Welcome to PYCAD, your go-to destination for all things medical imaging! 🎥 Today's Topic: a study: CNNs vs ViT for medical image classification task. 📎Resources Mentioned - My blog post: pycad.co/cnns-or-vit-for-medical-imaging/ - ViT blog post: github.com/marcellusruben/medium-resources/blob/main/ViT/Vision_Transformer.ipynb - GitHub repo: github.com/amine0110/CNNs_vs_ViT 🔔 Subscribe for act...
How to Annotate 3D Medical Images Using 3D Slicer
มุมมอง 2.4Kปีที่แล้ว
👋 Welcome to PYCAD, your go-to destination for all things medical imaging! 🎥 Today's Topic: Annotation/Segmentation of 3D medical images using 3D Slicer (manual tools). 🔔 Subscribe for actionable content: We post 3 groundbreaking videos every week! 🔍 Why PYCAD? We're not just content creators; we're researchers and consultants in the field of medical imaging. At PYCAD, we have the skills and kn...
How to Change the CT/MRI Orientation Using ITK-Snap
มุมมอง 533ปีที่แล้ว
👋 Welcome to PYCAD, your go-to destination for all things medical imaging! 🎥 Today's Topic: Changing the image orientation of CT, MRI, and PET scans using ITK-Snap. 🔔 Subscribe for actionable content: We post 3 groundbreaking videos every week! 🔍 Why PYCAD? We're not just content creators; we're researchers and consultants in the field of medical imaging. At PYCAD, we have the skills and knowle...
How to Segment CT/MRI scans with ITK-Snap
มุมมอง 976ปีที่แล้ว
👋 Welcome to PYCAD, your go-to destination for all things medical imaging! 🎥 Today's Topic: Annotating Medical Images with ITK-Snap Master the art of medical image annotation using ITK-Snap! In this video, we guide you through the step-by-step process, making it easy and efficient for you. 🔔 Subscribe for actionable content: We post 3 groundbreaking videos every week! 🔍 Why PYCAD? We're not jus...
Visualizing Multiple 3D Objects in Medical Imaging with vedo and Python
มุมมอง 1.1Kปีที่แล้ว
Working with multiple 3D objects in a single viewer can significantly enhance your medical imaging workflow. In this tutorial, you'll learn how to visualize multiple STL files like hip and vertebrae models using vedo and Python. 🔗 Links & Resources: Blog Post: pycad.co/visualizing-multiple-3d-objects-with-vedo-in-medical-imaging/ GitHub Code: github.com/amine0110/vedo-tutorials/blob/main/visual...
How to Capture 3D Mesh Screenshots in Medical Imaging with Python & vedo
มุมมอง 534ปีที่แล้ว
How to Capture 3D Mesh Screenshots in Medical Imaging with Python & vedo
3D Mesh Cutting with Python & Vedo
มุมมอง 2.7Kปีที่แล้ว
3D Mesh Cutting with Python & Vedo
Visualizing STL & NIFTI Files with Python & Vedo
มุมมอง 2.8Kปีที่แล้ว
Visualizing STL & NIFTI Files with Python & Vedo
3D Visualization of STL Files with Python
มุมมอง 7Kปีที่แล้ว
3D Visualization of STL Files with Python
How to Use SAM (Segment Anything Model)?
มุมมอง 2.4Kปีที่แล้ว
How to Use SAM (Segment Anything Model)?
Dicom Simplified: a course about dicom files with Python
มุมมอง 1.1Kปีที่แล้ว
Dicom Simplified: a course about dicom files with Python
Dissatisfied With Google Colab? You are Looking for a Different Option!
มุมมอง 290ปีที่แล้ว
Dissatisfied With Google Colab? You are Looking for a Different Option!
How to Improve Medical Image Classification Results by Changing Model Parameters? | Kvasir Dataset
มุมมอง 1.1Kปีที่แล้ว
How to Improve Medical Image Classification Results by Changing Model Parameters? | Kvasir Dataset
Dicom Anonymization Using Python
มุมมอง 2.3Kปีที่แล้ว
Dicom Anonymization Using Python
The Best Python Libraries for Medical Imaging!
มุมมอง 2.8Kปีที่แล้ว
The Best Python Libraries for Medical Imaging!
How to Convert Nifti Files into STL Files Using Python
มุมมอง 1.2Kปีที่แล้ว
How to Convert Nifti Files into STL Files Using Python
3D Slicer and ITK-snap for Medical Images Visualization and Segmentation
มุมมอง 4.1K2 ปีที่แล้ว
3D Slicer and ITK-snap for Medical Images Visualization and Segmentation
Medical Open Network for Artificial Intelligence (MONAI) - Introduction
มุมมอง 1K2 ปีที่แล้ว
Medical Open Network for Artificial Intelligence (MONAI) - Introduction
How to Convert Seq files into Mp4 videos
มุมมอง 1.8K2 ปีที่แล้ว
How to Convert Seq files into Mp4 videos
Install Onnxruntime & OpenCV for C++ with a Few Clicks
มุมมอง 6K2 ปีที่แล้ว
Install Onnxruntime & OpenCV for C with a Few Clicks

ความคิดเห็น

  • @InfotainmentAsh
    @InfotainmentAsh 6 ชั่วโมงที่ผ่านมา

    Aslam o Alaikum I am PhD Computer Science student having some trouble with finding problem out of Literature Review! How can I contact you?

  • @samuelarturotorresorozco1471
    @samuelarturotorresorozco1471 3 วันที่ผ่านมา

    Hello! Thanks for the tutorial Someone knows where can I find the slice.dcm file?

  • @MuhammadMaab-os1gu
    @MuhammadMaab-os1gu 4 วันที่ผ่านมา

    can we get the stl viewer download link

    • @pycad
      @pycad 4 วันที่ผ่านมา

      Hey, all the three demos code can be found here: github.com/amine0110/spine-segmentation-nnunet/tree/main/demos

  • @tiempoveganoprovida2247
    @tiempoveganoprovida2247 5 วันที่ผ่านมา

    Sirve para una frecuencia fija o se puede variar la frecuencia de entrada ???

  • @Neerajkumar-du8ek
    @Neerajkumar-du8ek 15 วันที่ผ่านมา

    Sir, I tried multiple dicom images, but every time matrix of dicom_array all the elements i found is zero, why. in your video there is always some values. In spite of this when I run the program Image appear. Please guide me in this.

  • @El_Remolino19
    @El_Remolino19 25 วันที่ผ่านมา

    can you paste an image into a dicom image? I am trying to put a qr code into the dicom image, and thought i could simply do it by manipulating the pixel data. Even after converting the qr to the corrrect byte type and color space, i get some werid results

  • @dougwilson1393
    @dougwilson1393 หลายเดือนก่อน

    Using vtk 9, works great. Thanks so much.

  • @EduardoPonce-y4p
    @EduardoPonce-y4p หลายเดือนก่อน

    Altenwerth Rue

  • @RachelBryant-x5z
    @RachelBryant-x5z หลายเดือนก่อน

    Douglas Tunnel

  • @vikkibinnar8615
    @vikkibinnar8615 หลายเดือนก่อน

    Good job brother😊

  • @El_Remolino19
    @El_Remolino19 หลายเดือนก่อน

    how would you add a qr code or image to a dicom image/file? i want to put one in the right hand corner and have it work

  • @El_Remolino19
    @El_Remolino19 หลายเดือนก่อน

    how would you add a qr code or image to a dicom image/file? i want to put one in the right hand corner and have it work

  • @DavidLewis-g3e
    @DavidLewis-g3e หลายเดือนก่อน

    Toy Heights

  • @zgscns-e4x
    @zgscns-e4x หลายเดือนก่อน

    Kuvalis Crossroad

  • @ZOBAER496
    @ZOBAER496 หลายเดือนก่อน

    Which software do you recommend for dicom to nifti conversion? Or do you recommend writing custom Python code to do that?

    • @pycad
      @pycad หลายเดือนก่อน

      Actually both ways work, here are the two resources that we have: 1. In 3D Slicer: th-cam.com/video/M5b0y6R80a0/w-d-xo.htmlsi=zCP73mPYO2E1fhfy 2. By code: pycad.co/how-to-convert-a-dicom-series-into-one-nifti-file-python/

  • @GeorgeKowalski
    @GeorgeKowalski หลายเดือนก่อน

    course is gone , did it move elsewhere ?

    • @pycad
      @pycad หลายเดือนก่อน

      Hey, the course is available in TH-cam: th-cam.com/video/N-3-AOU54yE/w-d-xo.htmlsi=FNfxT2XnN4QovL8G

  • @rafulsanchezm
    @rafulsanchezm หลายเดือนก่อน

    Bro, I am starting my master degree in AI, in Mexico, I am very interested in the Image Processing application using Python. Is there any course that you sell, to learn more about this topic?

    • @pycad
      @pycad หลายเดือนก่อน

      Unfortunetely we don't courses about this specific topic, all our resources are in the TH-cam channel or in our blogs: pycad.co/blog/

  • @gabriellopez812
    @gabriellopez812 หลายเดือนก่อน

    Gracias! Nice explanation!

  • @HasanŞEN-k2b
    @HasanŞEN-k2b หลายเดือนก่อน

    Hello, at first thank you for this course. I couldn't find slice.dcm file in this video. Can we access the dataset in this course?

  • @chih-yunlotmu4669
    @chih-yunlotmu4669 หลายเดือนก่อน

    Thank you for this course, it will help me a lot !

  • @rafulsanchezm
    @rafulsanchezm 2 หลายเดือนก่อน

    Great work bro!! Do you know the easiest way to convert from .nii.gz to .nii for image processing? Anothers question is if you have any full course about this?

    • @pycad
      @pycad หลายเดือนก่อน

      Actually .nii.gz is just a compressed version of the .nii format! It is a gzip compression. There are several ways of decompressing, either you use the gzip library or you load the nifti using nibabel oe simpleitk and then you export it again without giving .gz if the output filename. I hope that this helps

    • @rafulsanchezm
      @rafulsanchezm หลายเดือนก่อน

      @@pycad Thank you

  • @YoavNadu
    @YoavNadu 2 หลายเดือนก่อน

    thanks!

  • @DeepuThomas-n9v
    @DeepuThomas-n9v 2 หลายเดือนก่อน

    Do you know how to read the measurements taken by Doctor which is shown on the Dicom image? These values seems to be part of the image and not stored in any of the Attrib values in the Dicom file(unlike values like patient name etc).

  • @setayeshk1062
    @setayeshk1062 2 หลายเดือนก่อน

    your video and code are mostly the same as th-cam.com/video/M3ZWfamWrBM/w-d-xo.html

  • @maabkhattak8400
    @maabkhattak8400 2 หลายเดือนก่อน

    I used this process for brain tumor .I used the exact same process and got in_channels=4..i have train volume dimensions=(1,4,128,128,155) Test volume dimensions=(1,4,128,128,155) train label dimensions=(1,1,128,128,155) Test label dimensions=(1,1,128,128,155) I got error:error using forward pass.size of tensor must be match except in dimension 1.expected size 39 but got size 40 for tensor number 1 in the list

  • @MuhammadMaab-os1gu
    @MuhammadMaab-os1gu 2 หลายเดือนก่อน

    Very good explanation.

  • @MuhammadMaab-os1gu
    @MuhammadMaab-os1gu 3 หลายเดือนก่อน

    *****Guys this is thecode to convert niftt to dicoms in a single run instead of using 3dslicer every single time**** import nibabel as nib import pydicom import os from glob import glob import numpy as np def nifti_to_dicom(nifti_path, output_path): """Converts a NIfTI file to a series of DICOM files in a separate folder. Args: nifti_path (str): Path to the NIfTI file. output_path (str): Output directory for DICOM files. """ # Extract patient ID from nifti file name patient_id = os.path.basename(nifti_path).split('.')[0] patient_output_path = os.path.join(output_path, patient_id) # Create patient output directory os.makedirs(patient_output_path, exist_ok=True) # Load NIfTI data img = nib.load(nifti_path) data = img.get_fdata() # Basic DICOM metadata (replace with actual values) ds = pydicom.Dataset() ds.PatientID = patient_id ds.StudyInstanceUID = pydicom.uid.generate_uid() ds.SeriesInstanceUID = pydicom.uid.generate_uid() ds.Modality = 'MR' # Replace with appropriate modality ds.PixelSpacing = [0.5, 0.5] # Replace with actual pixel spacing ds.SliceThickness = 3.0 # Replace with actual slice thickness # Set is_little_endian and is_implicit_VR ds.is_little_endian = True # Assuming little-endian byte order (adjust if needed) ds.is_implicit_VR = False # Assuming explicit VR (adjust if needed) # Iterate over slices for i in range(data.shape[2]): slice_data = data[:, :, i] # Create DICOM dataset for the slice ds.ImageInstanceUID = pydicom.uid.generate_uid() ds.InstanceNumber = i + 1 ds.SliceLocation = -(i * ds.SliceThickness) # Adjust based on slice orientation # Convert image data to appropriate format (e.g., int16) slice_data = slice_data.astype(np.int16) # Set pixel data ds.PixelData = slice_data.tobytes() ds.BitsAllocated = 16 ds.SamplesPerPixel = 1 ds.HighBit = 15 ds.PixelRepresentation = 0 # Write DICOM file output_file = os.path.join(patient_output_path, f'image_{i+1}.dcm') pydicom.filewriter.dcmwrite(output_file, ds) # Example usage nifti_folder = 'D:/New folder (5)/Task01_BrainTumour/imagesTr' output_folder = 'D:/New folder (5)/Task01_BrainTumour/Images' # Iterate over NIfTI files for nifti_file in glob(os.path.join(nifti_folder, '*.nii.gz')): nifti_to_dicom(nifti_file, output_folder)

  • @spiroskarkavitsas8836
    @spiroskarkavitsas8836 3 หลายเดือนก่อน

    Hey, great tool! Does it work effectively also in MRI images?

  • @NikooMoradi
    @NikooMoradi 3 หลายเดือนก่อน

    It was really helpful, thank you very much.

  • @acerniyazi
    @acerniyazi 3 หลายเดือนก่อน

    Thank you for sharing video. How can I get dataset100 file. I tried but I have fault.

    • @pycad
      @pycad 3 หลายเดือนก่อน

      Hey, please find the model checkpoints here: www.dropbox.com/scl/fi/yj981c7chepg6fqwceg04/configs.zip?rlkey=uwvytlgztowj4p6m3qflcgy76&st=gwfe8oxc&dl=0

    • @acerniyazi
      @acerniyazi 3 หลายเดือนก่อน

      @@pycad thank you very much I will try now

    • @acerniyazi
      @acerniyazi 3 หลายเดือนก่อน

      @@pycad I downloaded your file but I got an error. Start ******************************************************************************** nnUNet is already installed (2.1) and compatible with requested version (nnunetv2). Encountered error during inference : Invalid nnUNet configuration. Invalid nnUNet configuration folder : Dataset100 Your model weight folder path should look like the following : Dataset<dataset_id>/<trainer_name>__<plan_name>__<conf_name> It should also contain a dataset.json file and fold_<i_fold> folders with model weights. Provided model dir : C:\Users\acern\Documents\configs

    • @sunny3084
      @sunny3084 3 หลายเดือนก่อน

      @@pycad thank you very much

  • @drm8164
    @drm8164 3 หลายเดือนก่อน

    Hi dear Mohamed, please I have a question: I paid 1500 dollars to pass the OpenCV certification because I considere it is important to get this certification and that it can help me with my LinkedIn profil. Do you think it is a good choice ? Thank you and great day !

    • @pycad
      @pycad 3 หลายเดือนก่อน

      Hello, Unfortunetely, I have no idea about this certificat! It is always good to learn things, but you should consider that learning is more important than the certificat. When you learn things, you can create your own projects and show them which gives better impression than sharing just a certificat.

    • @drm8164
      @drm8164 3 หลายเดือนก่อน

      @@pycad Please can you check the link about the certification ? I already paid for it and stated it ! I really think that having certification in LinkedIn profil is a big+ because corporation will be so attracted by that ! Do you agree ? Take care !

  • @pranavpatnaik
    @pranavpatnaik 3 หลายเดือนก่อน

    Is it possible to import multiple STL files with this implementation?

    • @pycad
      @pycad 3 หลายเดือนก่อน

      Yes of course, please see this as reference: pycad.co/visualizing-multiple-3d-objects-with-vedo-in-medical-imaging/ You can do the same thing with vtk.

  • @AshwinSingh-pw7wv
    @AshwinSingh-pw7wv 3 หลายเดือนก่อน

    hey man, i was using your medical conversion tool on github. I converted my nifti files to dicom using your converter, but now when im trying to convert them back to nifti using the converter its giving me this error: TypeError: '<' not supported between instances of 'NoneType' and 'NoneType' Edit: I found out that this is happening because the InstanceNumber tag is being erased and set to None. I tested this by first converting a dicome (instanceNumber was 183) , I converted it to NIFTI, and the reconverted to Dicom , and I found that the InstanceNumber was set to None. All of this was done by using the "Medical Conversion" application on your github. This is causing the error while converting the DICOM series to NIFTI format. @Pycad please look into this since the conversion of dicom data is messing up the MetaData

  • @drm8164
    @drm8164 3 หลายเดือนก่อน

    mes respects

  • @MuhammadMaab-os1gu
    @MuhammadMaab-os1gu 4 หลายเดือนก่อน

    can you explain.what labels exactly are

  • @natekrth8073
    @natekrth8073 4 หลายเดือนก่อน

    Hello, I got a question. I will need to visualize 3D on tkinter frame. Is that possible? I tried to embedding VTK render window in Tkinter frame using vtkTkRenderWindowInteractor but I got this error 'libvtkRenderingTk-9.3.dylib' (no such file), '/usr/lib/libvtkRenderingTk-9.3.dylib' (no such file, not in dyld cache)

    • @pycad
      @pycad 4 หลายเดือนก่อน

      Hey, I tried to do it once but I didn’t find a proper solution ! But this can be done using pyqt

  • @SwethalakshmiS
    @SwethalakshmiS 4 หลายเดือนก่อน

    Is it possible to install the required packages in normal command prompt rather than a anaconda prompt ?

    • @pycad
      @pycad 4 หลายเดือนก่อน

      Yes of course :)

  • @Facts-o-phile
    @Facts-o-phile 4 หลายเดือนก่อน

    the waitlist is still there, when are you accepting applications for the course?

  • @Facts-o-phile
    @Facts-o-phile 4 หลายเดือนก่อน

    Amazing!

  • @hayetberrah8579
    @hayetberrah8579 4 หลายเดือนก่อน

    Thank you💞👍👏👏

  • @Ivan-dt3uk
    @Ivan-dt3uk 4 หลายเดือนก่อน

    Merci bcp pour vos vidéos.

  • @YINANSUN-qc9db
    @YINANSUN-qc9db 4 หลายเดือนก่อน

    “Do you encounter errors when installing dependencies on Windows?”

    • @pycad
      @pycad 4 หลายเดือนก่อน

      Nop, it worked in the first run!

  • @mohamedkassar7441
    @mohamedkassar7441 4 หลายเดือนก่อน

    Thanks for sharing!

  • @Ankmehra92
    @Ankmehra92 4 หลายเดือนก่อน

    I recently found your channel. Thank you for the videos they are really helpful 🙏

  • @adiandrianto888
    @adiandrianto888 4 หลายเดือนก่อน

    Hi, thankyou so much for making the video. To visualize the dicom pixel array why we make the negative number to 0? Will it remove the half the picture data from the image? Is it better to shift all the value up until the minimum value is 0 or there is another reason?

    • @pycad
      @pycad 4 หลายเดือนก่อน

      Hi, we are normalising the array so that we can visualize it as normal image where the pixel values are between 0 and 255. But you can visualize the array as it is using medical image libraries such as vtk!

  • @RabiulIslam-tw6qc
    @RabiulIslam-tw6qc 4 หลายเดือนก่อน

    Wonderful. Thanks for your sharing.

  • @mohamedkassar7441
    @mohamedkassar7441 5 หลายเดือนก่อน

    Thanks a lot for this course!

  • @mokhtariali5097
    @mokhtariali5097 5 หลายเดือนก่อน

    very good

  • @hayetberrah8579
    @hayetberrah8579 5 หลายเดือนก่อน

    👍👍👏👏💕