SimpleITK is a useful tool for medical image processing.
It can read dicom images by:
import SimpleITK as sitk
series_IDs = sitk.ImageSeriesReader.GetGDCMSeriesIDs(file_path)
series_file_names = sitk.ImageSeriesReader.GetGDCMSeriesFileNames(file_path, series_IDs)
sitk.ImageSeriesReader.GetGDCMSeriesIDs need all dicom files are included in the
file_path. But, what if the folder structure is:
How can I read the above
There are typically several series in a DICOM study, such as localizers, 3D volumes (often potentially repeated, with the same or slightly different imaging parameters), reconstructions with different parameters, secondary captures, structured reports, dose reports, etc.
You can certainly write a script that iterates through all the files of a study and guesses which ones you are interested in for a specific analysis, but I would suggest two other approaches that may be better and safer:
Option B. Use a DICOM viewer application to index the folder, get a list of what series are found there, load the potentially interesting ones for viewing. Once you decided which series you want to use, take note of the series instance UID or export them to a separate folder. You can use any interactive medical image viewer that has a DICOM indexer, but research applications, such as 3D Slicer or ITK-snap are better in exporting to research file formats (NRRD, NIFTI,… that ITK can very quickly and easily read).
Option C. You can run your study through dcm2niix, review the created nifti or nrrd files in an image viewer, and keep the files that are relevant.