Automatic Liver Segmentation Using PyTorch and Monai

Поделиться
HTML-код
  • Опубликовано: 7 ноя 2024

Комментарии • 76

  • @hasanuzzamananuz8270
    @hasanuzzamananuz8270 8 месяцев назад +1

    I request you make a roadmap video for "Computer Vision in Healthcare". It will help us understand how much ML, DL, and programming knowledge is required to start work in the healthcare sector.

  • @thebook536
    @thebook536 11 месяцев назад +1

    thank you it was very explanatory in depth can you please make a video on LV segmentation i am trying to prepare data set but still its confusing and my work is not progressing ..

  • @hosseinshahverdi3284
    @hosseinshahverdi3284 2 года назад +3

    Thank you for your great tutorial that was really helpful. Could you please make a tutorial about medical image synthesis using conditional GANs such as CycleGAN and PIX2PIX? Or do you have any recommended resources to explain plainly these architectures and how to apply them? Thanks a bunch

  • @rajahaseeb8418
    @rajahaseeb8418 2 года назад +1

    We can use something like "!rm -r {label} && rm -r {image}" inside the loop to remove the volumes which only have background class.

  • @soundofsilence9509
    @soundofsilence9509 2 года назад

    When the course is going to be available?

  • @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: ruclips.net/video/M5b0y6R80a0/видео.htmlsi=zCP73mPYO2E1fhfy
      2. By code: pycad.co/how-to-convert-a-dicom-series-into-one-nifti-file-python/

  • @巫金發
    @巫金發 2 года назад +1

    Thank you for the video. I have a question at 3:10:28 preprocessing part you already have 4 folders prepared where does that come from? i followed your step from the beginning but you never explain how to get it and apparently its different from preparing the data part at 1:51:19. Mind explaining?

    • @pycad
      @pycad  2 года назад +1

      Hi
      Those folders have been created manually, you need to have 2 sets (train/test).
      So after having your groups, take some of them for the testing and the rest for the training.
      Ps: you can do that even before creating the groups.

  • @radedu360
    @radedu360 Год назад

    Thankyou for the amazing video. It was very helpful for me. I am stuck in the training part. There's an error saying sizes of tensors must match. Also, if you could make a video to show a way to concatenate dual modality volumes into a single volume. That would be really helpful. JazakAllah Khair brother!

  • @mostwanted2287
    @mostwanted2287 Год назад

    This is a very useful tutorial for a basic understanding of medical imaging. Thank you so much!!
    Can you please suggest how to approach this if we have multi-class images and labels
    ?

    • @pycad
      @pycad  Год назад

      Thank you for your feedback!
      MONAI have already a good example for multi-class segmentation, you can check it here: github.com/Project-MONAI/tutorials/blob/main/3d_segmentation/unetr_btcv_segmentation_3d.ipynb

  • @FahadKiani1
    @FahadKiani1 7 месяцев назад

    thank you so much - is there a link for the repository?

    • @pycad
      @pycad  7 месяцев назад

      My please, yes: github.com/amine0110/Liver-Segmentation-Using-Monai-and-PyTorch

  • @Johnshhhhh
    @Johnshhhhh 2 года назад +1

    In the training part, how do you set up the file dictionary? I only see one path, shouldn’t there be 2, one for image and one for label?

    • @pycad
      @pycad  2 года назад

      Hi
      Yes both of them are in one line!

    • @Johnshhhhh
      @Johnshhhhh 2 года назад

      @@pycad ok, thank you so much sir

  • @mokhtariali5097
    @mokhtariali5097 2 года назад +2

    Good presentation.

  • @muhammedtayyipkocak3706
    @muhammedtayyipkocak3706 10 месяцев назад

    How did you create the labels, could you please give information?I have a different unprocessed dicom dataset, how can I create labels for it?

    • @pycad
      @pycad  10 месяцев назад

      The dataset that I used in the tutorial is open-source and already has the labels. Now for you if you have a raw dataset, you can use the annotation software such as 3D Slicer, ITK snap… to help you create the labels.
      We have some videos in the channel that can help you take an idea about using 3D Slicer and ITK snap.

  • @loEric-l9j
    @loEric-l9j 9 месяцев назад

    Thank you very much! very helpful to my study!

  • @tamerzohdy8589
    @tamerzohdy8589 2 года назад +1

    Great job and an excellent explanation
    Thanks a lot for this great effort

    • @pycad
      @pycad  2 года назад

      My pleasure :)

  • @aqilahmohamad2462
    @aqilahmohamad2462 2 года назад

    Thanks for your video it is really helpful. But why we don't delete the empty slices before grouping?

    • @pycad
      @pycad  2 года назад

      If you do that then the code will delete some slices at the middle of the case which changes the position of the slices in the CT scan.
      But when you create groups and delete the empty groups this means you are deleting a group of slices and you can then delete the correcponding group of slices in the CT scan.
      I hope this was useful.

    • @aqilahmohamad2462
      @aqilahmohamad2462 2 года назад

      Thanks it is clear now :)

  • @mardeenosman8979
    @mardeenosman8979 2 года назад +2

    Thank you so much your videos helped me alot, I'm PhD student and I'm working in similar field Please can I get your contact to ask few question?

    • @pycad
      @pycad  2 года назад +1

      Hi,
      Yes of course, you find all the information here
      pycad.co/contact/

  • @maabkhattak8400
    @maabkhattak8400 3 месяца назад

    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

  • @Kadar64M
    @Kadar64M Год назад

    Thank you very much for this excellent course. I followed it step by step and I found it very useful. At the end, when to execute the train I got this error: TypeError: __init__() got an unexpected keyword argument 'dimensions' . Can you please help me with this error? Thank you very much!

    • @Kadar64M
      @Kadar64M Год назад

      Hi, I found the solution: it has to be replaced with spatial_dims=3 instead of dimenstions=3.

    • @pycad
      @pycad  Год назад

      I am sorry for the late reply. Great that you found it :)

  • @abdulrhman4209
    @abdulrhman4209 2 года назад

    first thanku very much for such amazing explanation , but i wanna ask a question
    the data i have some patients have 20 dicoms slices and aothers have 400 dicoms slices so i wanna divide into groubs like u did
    so i divide in which each group have 20 dicoms in it or 64 dicoms or what??
    to convert each group into nifti file

    • @pycad
      @pycad  2 года назад

      Hi
      You can try with 20, but I do not thing that monai may accept that.
      But try it out

  • @samsalhi5887
    @samsalhi5887 2 года назад

    Interesting Topic

  • @youcefhadj7276
    @youcefhadj7276 2 года назад

    Good Luck 🙏

  • @abirhossainrohan8067
    @abirhossainrohan8067 Год назад

    thanks for the amazing video you help me a lot. I will always be grateful.

    • @pycad
      @pycad  Год назад

      My pleasure :)

  • @mahig.h7692
    @mahig.h7692 10 месяцев назад

    What is the ratio of train test split here? and where exactly its written

    • @pycad
      @pycad  10 месяцев назад

      It was 80/20, it has been done manually for some reason, so there is no code for that in my repo.
      You can use this: github.com/amine0110/pycad/blob/main/docs/datasets/data_splitter.md

  • @hayetberrah8579
    @hayetberrah8579 2 года назад +1

    Bonne chance🥰

  • @ankitabuntolia9572
    @ankitabuntolia9572 2 года назад

    What changes do one need to do if it is a multilabel segmentation problem? could you please tell me about that? Thanks!

    • @pycad
      @pycad  2 года назад

      Actually there multiple changes, in the preprocess you need to handle all the classes, in the model you need to change the number of channels and even in the training loop there are some changes.
      I recommend you to see a tutorial in monai's website, it is about multiclass segmentation.
      (Brats)

    • @ankitabuntolia9572
      @ankitabuntolia9572 2 года назад +1

      ​@@pycad ​There was a discussion MONAI/issues/415 and suggestion to use Spleen 3D Segmentation also for the multilabel, I am following this but getting a "RuntimeError: Sizes of tensors must match except in dimension 1. Expected size 7 but got size 8 for tensor number 1 in the list." , could you suggest what I am doing wrong? Thanks!

    • @radedu360
      @radedu360 Год назад

      @@ankitabuntolia9572 i am getting the same error. have you resolved the issue?

  • @hagersaleh7084
    @hagersaleh7084 Год назад

    Thank you very much

  • @ratimshariar102
    @ratimshariar102 Год назад

    Is your website is down when i try to open the course it says This site can’t provide a secure connection

    • @ratimshariar102
      @ratimshariar102 Год назад

      same error is happening with me

    • @pycad
      @pycad  Год назад

      Hi
      Yes the platform is closed for the moment, my course will remain here and there is the paid courses hosted on Udemy.

    • @ratimshariar102
      @ratimshariar102 Год назад

      @@pycad can you give me link of your udemy course

    • @pycad
      @pycad  Год назад

      @@ratimshariar102 I have this course about Python for Medical Imaging : www.udemy.com/course/python-programming-for-medical-imaging/?referralCode=4EB87F3DE56679A11DA8
      And also I have this link about Dicom Simplified: www.udemy.com/course/how-to-work-with-dicom-using-python/?referralCode=ECBFF2BA3DED3608BE91

  • @abhinavkumarmishra5272
    @abhinavkumarmishra5272 Год назад

    Hello sir, while doing the code of pre-processing part, i have encountered an issue "FutureWarning: : Class `AddChannel` has been deprecated since version 0.8. please use MetaTensor data type and monai.transforms.EnsureChannelFirst instead.
    warn_deprecated(obj, msg, warning_category)"
    After this i have replaced the AddChanneld to EnsureChannelFirstd and also imported the library of MetaTensor. while executing above scripts, my kernel was dead and it doesn't reflecting any thing other than this. Even i dont know where i have to use the metatensor library. Kindly help me resolving this issue sir.

  • @aqilahmohamad2462
    @aqilahmohamad2462 Год назад

    I am using a dataset where it has many segmentation labels. How can I train the model on one label and exclude the others?

    • @pycad
      @pycad  Год назад +1

      Hi,
      I spoke about different classes in course were it may cause you an error, this line needed to be changed:
      github.com/amine0110/Liver-Segmentation-Using-Monai-and-PyTorch/blob/f293356f46c9965bcaa2e709ef338d87b58cee8f/utilities.py#L53
      In your case, instead of taking:
      label = label != 0
      you need to take:
      label = label == the_index_of_the_wanted_label (1,2,3 or ...)
      Hope that this works

    • @aqilahmohamad2462
      @aqilahmohamad2462 Год назад

      @@pycad Thanks a lot 👍

  • @divyaupadhyay7866
    @divyaupadhyay7866 Год назад

    Hi, the minumum number of slices I got is 74, should I still use 64?

    • @pycad
      @pycad  Год назад +1

      Hi
      Yes it is okay

    • @divyaupadhyay7866
      @divyaupadhyay7866 Год назад

      @@pycad Thank you for your response. When I ran the Find Empty I got 398/734 as empty labels, is that accurate, as its a very big number. @pycad Please let me know how can I get an in-depth understanding of the training code.

  • @khaoulachahdi5099
    @khaoulachahdi5099 2 года назад

  • @Johnshhhhh
    @Johnshhhhh 2 года назад

    Thanks!

    • @pycad
      @pycad  2 года назад

      Thank you for helping the channel!

  • @pareshmahapatra7893
    @pareshmahapatra7893 2 года назад

    Hello, how to install MONAI package in anaconda environment?

    • @pycad
      @pycad  2 года назад

      pip install monai

  • @marwanabbas1144
    @marwanabbas1144 2 года назад

    Are you considering doing a video about object detection in healthcare imaging ?

    • @pycad
      @pycad  2 года назад

      For now no :/
      Sorry about that

    • @marwanabbas1144
      @marwanabbas1144 2 года назад

      @@pycad Do you now any good ressources to learn advanced object detection ?

    • @pycad
      @pycad  2 года назад

      @@marwanabbas1144 I do not know a specific course/tutorial about object detection in medical imaging.
      But what you can do is to use monai for example to preprocess your data and then convert them into 2D images (jpg) then do a normal object detection.
      I recommand you to see these two courses:
      - A practical course:
      ruclips.net/video/yqkISICHH-U/видео.html
      - Explanation + practise course:
      aifee.teachable.com/p/deep-learning-for-object-detection-using-tensorflow-2
      I hope that was helpful
      Good luck

  • @ismailsalah1129
    @ismailsalah1129 Год назад

    the data are really huge, is there any solution for this like putting it on aws vm or web server? thanks

    • @pycad
      @pycad  Год назад

      You mean for training?

    • @ismailsalah1129
      @ismailsalah1129 Год назад

      @@pycad yep

    • @pycad
      @pycad  Год назад

      @@ismailsalah1129 You can use Collab for example!
      Or if it needs bigger GPUs, you can go with the paid ones such as Lambda, Google Cloud...

    • @ismailsalah1129
      @ismailsalah1129 Год назад

      @@pycad Thank you, i'll try that

  • @nourhacker3734
    @nourhacker3734 2 года назад

    I know you very well