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?
@gabriellopez8125 күн бұрын
Gracias! Nice explanation!
@BaconSebastiane-s8x5 күн бұрын
Perez Jose Garcia Mary White Laura
@HasanŞEN-k2b8 күн бұрын
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-yunlotmu46699 күн бұрын
Thank you for this course, it will help me a lot !
@rafulsanchezm14 күн бұрын
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?
@pycad6 күн бұрын
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
@rafulsanchezm4 сағат бұрын
@@pycad Thank you
@user-qo8ho3nr9o23 күн бұрын
thanks!
@DeepuThomas-n9v23 күн бұрын
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Ай бұрын
your video and code are mostly the same as kzbin.info/www/bejne/g2S9iJmXoryleK8
@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Ай бұрын
Very good explanation.
@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Ай бұрын
Hey, great tool! Does it work effectively also in MRI images?
@NikooMoradiАй бұрын
It was really helpful, thank you very much.
@acerniyazi2 ай бұрын
Thank you for sharing video. How can I get dataset100 file. I tried but I have fault.
@pycad2 ай бұрын
Hey, please find the model checkpoints here: www.dropbox.com/scl/fi/yj981c7chepg6fqwceg04/configs.zip?rlkey=uwvytlgztowj4p6m3qflcgy76&st=gwfe8oxc&dl=0
@acerniyazi2 ай бұрын
@@pycad thank you very much I will try now
@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Ай бұрын
@@pycad thank you very much
@drm81642 ай бұрын
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 !
@pycad2 ай бұрын
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.
@drm81642 ай бұрын
@@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 !
@pranavpatnaik2 ай бұрын
Is it possible to import multiple STL files with this implementation?
@pycad2 ай бұрын
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-pw7wv2 ай бұрын
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
@drm81642 ай бұрын
mes respects
@MuhammadMaab-os1gu2 ай бұрын
can you explain.what labels exactly are
@natekrth80732 ай бұрын
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)
@pycad2 ай бұрын
Hey, I tried to do it once but I didn’t find a proper solution ! But this can be done using pyqt
@SwethalakshmiS2 ай бұрын
Is it possible to install the required packages in normal command prompt rather than a anaconda prompt ?
@pycad2 ай бұрын
Yes of course :)
@Facts-o-phile2 ай бұрын
the waitlist is still there, when are you accepting applications for the course?
@Facts-o-phile2 ай бұрын
Amazing!
@hayetberrah85792 ай бұрын
Thank you💞👍👏👏
@Ivan-dt3uk3 ай бұрын
Merci bcp pour vos vidéos.
@YINANSUN-qc9db3 ай бұрын
“Do you encounter errors when installing dependencies on Windows?”
@pycad3 ай бұрын
Nop, it worked in the first run!
@mohamedkassar74413 ай бұрын
Thanks for sharing!
@Ankmehra923 ай бұрын
I recently found your channel. Thank you for the videos they are really helpful 🙏
@adiandrianto8883 ай бұрын
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?
@pycad3 ай бұрын
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-tw6qc3 ай бұрын
Wonderful. Thanks for your sharing.
@mohamedkassar74413 ай бұрын
Thanks a lot for this course!
@mokhtariali50973 ай бұрын
very good
@hayetberrah85793 ай бұрын
👍👍👏👏💕
@Ivan-dt3uk3 ай бұрын
Thank you very much for your help !
@Intellectualmind43 ай бұрын
🎉🎉🎉🎉
@vinaykumar-cq1ln3 ай бұрын
Will we loose information while conversation.how can we over come it
@pycad3 ай бұрын
You can store your metadata in a txt or json file if you think that you may need it later!
@mahdiebehjati96493 ай бұрын
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?
@pycad3 ай бұрын
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 !
@mohamedsamehmohamedzaki4 ай бұрын
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?
@pycad3 ай бұрын
The code is put here: github.com/pycadd/KZbin-Tutorials/tree/main/2024-03-21-vtk_dicom_reader The video will come soon :)
@truongtuankhue31564 ай бұрын
Can you talk in detail about the 4 files TrainData, TrainLabels, ValData, ValLabels? For example how different it is
@oromiajiituu92794 ай бұрын
Thank you sir. That "<B1-Motion>" part hinted me of solution to my problem and I fixed it.
@AAYYUURR4 ай бұрын
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.
@abdulhamidhajkhalil21684 ай бұрын
سلمت اياديك استاذنا
@Intellectualmind44 ай бұрын
🎉🎉🎉🎉
@komalkumari9744 ай бұрын
Suggest the AI tool for annotations
@pycad4 ай бұрын
You can test our free app: www.annotation.pycad.co/
@DevanshuAugusty4 ай бұрын
how can i anonymize study instance and series uid .. is changing the value really the proper way for it?
@pycad4 ай бұрын
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
@DevanshuAugusty4 ай бұрын
@@pycad okai, thanx
@jianguozhu36434 ай бұрын
What software is used to create the schematic diagrams at the beginning of the video?
@pycad4 ай бұрын
excalidraw.com/
@mirirshad81335 ай бұрын
I have paid project bro I need your help Pls share your mail id or telegram
@chess60015 ай бұрын
but why your Udemy course does not accept enrolments anymore ;___;
@pycad5 ай бұрын
Hi The course has been moved to KZbin, you can find it here: kzbin.info/www/bejne/n2GvpWRqbMSXfa8si=KelPYqsVpachaUuz