Search code examples
pythonpydicommedical-imaging

3D visualization of .dicom files with ipyvolume


i'm trying to visualize a set of .dicom files using pydicom and ipyvolume.

I used pydicom to read files and then sorted them by their location and turned the slices into a 3D array. I could draw a 3D model of the data using ipyvolume.pylab.plot_isosurface() although I'm not sure if this is the right way of visualizing medical images (it's all solid pixels with the same opacity and color). I've also tried ipyvolume.pylab.volshow() but that did not work.

Is there a right way to visualize medical images with ipyvolume? or this is just not the right library for that?


Solution

  • I haven't used ipyvolume, but looking at the documentation it ought to be able to visualize DICOM image sets.

    If you want to try another package, I use SimpleITK to load DICOM images and itkwidgets do volume visualization in a Jupyter notebook.

    Here's a simple notebook that load a DICOM series and displays it:

    import SimpleITK as sitk
    import itkwidgets
    
    # Get the DICOM file names in the current directory
    names = sitk.ImageSeriesReader.GetGDCMSeriesFileNames('.')
    
    # Read the DICOM series
    reader = sitk.ImageSeriesReader()
    reader.SetFileNames(names)
    img = reader.Execute()
    
    itkwidgets.view(img)
    

    If the directory has more than one DICOM series in it, GetGDCMSeriesFileNames has a seriesID parameter you can give it to specify which series to load.