DICOM Simplified - Python Course
3:21:41
Coming Soon...
0:58
8 ай бұрын
I Created my First Python Library!
8:48
CNNs or ViT for Medical Imaging?
11:42
3D Mesh Cutting with Python & Vedo
10:18
Dicom Anonymization Using Python
10:18
Пікірлер
@rafulsanchezm
@rafulsanchezm 3 сағат бұрын
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?
@gabriellopez812
@gabriellopez812 5 күн бұрын
Gracias! Nice explanation!
@BaconSebastiane-s8x
@BaconSebastiane-s8x 5 күн бұрын
Perez Jose Garcia Mary White Laura
@HasanŞEN-k2b
@HasanŞEN-k2b 8 күн бұрын
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 9 күн бұрын
Thank you for this course, it will help me a lot !
@rafulsanchezm
@rafulsanchezm 14 күн бұрын
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 6 күн бұрын
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 4 сағат бұрын
@@pycad Thank you
@user-qo8ho3nr9o
@user-qo8ho3nr9o 23 күн бұрын
thanks!
@DeepuThomas-n9v
@DeepuThomas-n9v 23 күн бұрын
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 Ай бұрын
your video and code are mostly the same as kzbin.info/www/bejne/g2S9iJmXoryleK8
@maabkhattak8400
@maabkhattak8400 Ай бұрын
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 Ай бұрын
Very good explanation.
@MuhammadMaab-os1gu
@MuhammadMaab-os1gu Ай бұрын
*****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 Ай бұрын
Hey, great tool! Does it work effectively also in MRI images?
@NikooMoradi
@NikooMoradi Ай бұрын
It was really helpful, thank you very much.
@acerniyazi
@acerniyazi 2 ай бұрын
Thank you for sharing video. How can I get dataset100 file. I tried but I have fault.
@pycad
@pycad 2 ай бұрын
Hey, please find the model checkpoints here: www.dropbox.com/scl/fi/yj981c7chepg6fqwceg04/configs.zip?rlkey=uwvytlgztowj4p6m3qflcgy76&st=gwfe8oxc&dl=0
@acerniyazi
@acerniyazi 2 ай бұрын
@@pycad thank you very much I will try now
@acerniyazi
@acerniyazi Ай бұрын
@@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 Ай бұрын
@@pycad thank you very much
@drm8164
@drm8164 2 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
@@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 2 ай бұрын
Is it possible to import multiple STL files with this implementation?
@pycad
@pycad 2 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
mes respects
@MuhammadMaab-os1gu
@MuhammadMaab-os1gu 2 ай бұрын
can you explain.what labels exactly are
@natekrth8073
@natekrth8073 2 ай бұрын
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 2 ай бұрын
Hey, I tried to do it once but I didn’t find a proper solution ! But this can be done using pyqt
@SwethalakshmiS
@SwethalakshmiS 2 ай бұрын
Is it possible to install the required packages in normal command prompt rather than a anaconda prompt ?
@pycad
@pycad 2 ай бұрын
Yes of course :)
@Facts-o-phile
@Facts-o-phile 2 ай бұрын
the waitlist is still there, when are you accepting applications for the course?
@Facts-o-phile
@Facts-o-phile 2 ай бұрын
Amazing!
@hayetberrah8579
@hayetberrah8579 2 ай бұрын
Thank you💞👍👏👏
@Ivan-dt3uk
@Ivan-dt3uk 3 ай бұрын
Merci bcp pour vos vidéos.
@YINANSUN-qc9db
@YINANSUN-qc9db 3 ай бұрын
“Do you encounter errors when installing dependencies on Windows?”
@pycad
@pycad 3 ай бұрын
Nop, it worked in the first run!
@mohamedkassar7441
@mohamedkassar7441 3 ай бұрын
Thanks for sharing!
@Ankmehra92
@Ankmehra92 3 ай бұрын
I recently found your channel. Thank you for the videos they are really helpful 🙏
@adiandrianto888
@adiandrianto888 3 ай бұрын
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 3 ай бұрын
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 3 ай бұрын
Wonderful. Thanks for your sharing.
@mohamedkassar7441
@mohamedkassar7441 3 ай бұрын
Thanks a lot for this course!
@mokhtariali5097
@mokhtariali5097 3 ай бұрын
very good
@hayetberrah8579
@hayetberrah8579 3 ай бұрын
👍👍👏👏💕
@Ivan-dt3uk
@Ivan-dt3uk 3 ай бұрын
Thank you very much for your help !
@Intellectualmind4
@Intellectualmind4 3 ай бұрын
🎉🎉🎉🎉
@vinaykumar-cq1ln
@vinaykumar-cq1ln 3 ай бұрын
Will we loose information while conversation.how can we over come it
@pycad
@pycad 3 ай бұрын
You can store your metadata in a txt or json file if you think that you may need it later!
@mahdiebehjati9649
@mahdiebehjati9649 3 ай бұрын
Hi, Thanks for your video. Could you please explain more about four folders of Trainimages, Trainlables, Valimages and Vallables? I followed all the videos regarding the liver segmentation, but when got here I completely lost. you were talking about creating nifti files folder and suddenly jumped into four folders. what are difference between them? Is training folder the same files of niftifolder? what about validation data? where do they come from?
@pycad
@pycad 3 ай бұрын
You just need to do the split to the train and valid data. Most of the time, when we train a machine learning model we need to have the training and validation set separated from the test set for example. So you need to create the training and validation folders and name them the same that I did so that you don't need to change my training code and then it should work !
@mohamedsamehmohamedzaki
@mohamedsamehmohamedzaki 4 ай бұрын
Thank you for your efforts ❤️... Is it possible to create a video demonstrating how to generate a 3D visualization of a NIfTI file or DICOM series using VTK?
@pycad
@pycad 3 ай бұрын
The code is put here: github.com/pycadd/KZbin-Tutorials/tree/main/2024-03-21-vtk_dicom_reader The video will come soon :)
@truongtuankhue3156
@truongtuankhue3156 4 ай бұрын
Can you talk in detail about the 4 files TrainData, TrainLabels, ValData, ValLabels? For example how different it is
@oromiajiituu9279
@oromiajiituu9279 4 ай бұрын
Thank you sir. That "<B1-Motion>" part hinted me of solution to my problem and I fixed it.
@AAYYUURR
@AAYYUURR 4 ай бұрын
Thank you sir for the course. This was really helpful. One suggestion is to please create timestamped index of the video so that it gets easy to check out what all sections are taught in the video.
@abdulhamidhajkhalil2168
@abdulhamidhajkhalil2168 4 ай бұрын
سلمت اياديك استاذنا
@Intellectualmind4
@Intellectualmind4 4 ай бұрын
🎉🎉🎉🎉
@komalkumari974
@komalkumari974 4 ай бұрын
Suggest the AI tool for annotations
@pycad
@pycad 4 ай бұрын
You can test our free app: www.annotation.pycad.co/
@DevanshuAugusty
@DevanshuAugusty 4 ай бұрын
how can i anonymize study instance and series uid .. is changing the value really the proper way for it?
@pycad
@pycad 4 ай бұрын
This is what we do most of the time, we put it as a blank string. Or you convert the dicom to nifti, this will delete all the metadata
@DevanshuAugusty
@DevanshuAugusty 4 ай бұрын
@@pycad okai, thanx
@jianguozhu3643
@jianguozhu3643 4 ай бұрын
What software is used to create the schematic diagrams at the beginning of the video?
@pycad
@pycad 4 ай бұрын
excalidraw.com/
@mirirshad8133
@mirirshad8133 5 ай бұрын
I have paid project bro I need your help Pls share your mail id or telegram
@chess6001
@chess6001 5 ай бұрын
but why your Udemy course does not accept enrolments anymore ;___;
@pycad
@pycad 5 ай бұрын
Hi The course has been moved to KZbin, you can find it here: kzbin.info/www/bejne/n2GvpWRqbMSXfa8si=KelPYqsVpachaUuz