Load one patient onto screen

Hello, I have a folder of dicom files but would like to automatically load on patient onto the screen every time.

I have loaded my dicom files into the DICOM database using this code:

dicomDataDir = "c:/my/folder/with/dicom-files"  # input folder with DICOM files
loadedNodeIDs = []  # this list will contain the list of all loaded node IDs

from DICOMLib import DICOMUtils
with DICOMUtils.TemporaryDICOMDatabase() as db:
  DICOMUtils.importDicom(dicomDataDir, db)
  patientUIDs = db.patients()
  for patientUID in patientUIDs:

How do I automatically access one patient and load it, do I have to use the patient uid and how do i find this?

If you just want to load the first patient then replace the last two lines by


Thank you this seems to be working I appreciate your help.
I have a script set up but it was using sample data.

#Load Data
import SampleData
sampleDataLogic = SampleData.SampleDataLogic()
masterVolumeNode = sampleDataLogic.downloadMRBrainTumor1()
n = getNode(‘MRBrainTumor1’)

The masterVolumeNode variable is important and called in future code, how would I set this using my new data from dicom folder?

Thank you

In the example above, loadedNodeIDs contain the IDs of the loaded nodes. For example, you can get the first node object (for example, it can be a volume node) by calling:

n = slicer.mrmlScene.GetNodeByID(loadedNodeIDs[0])

Okay, I have tried it out.

masterVolumeNode = slicer.mrmlScene.GetNodeByID(loadedNodeIDs[0])

I am using this for segmentation and get the error “Master Volume Node is not set as either background or foreground”

Any ideas on how to fix this?

What exactly is it you want to do? Please give more details …

I am following an example like this one:

I was asking how to define masterVolumeNode from loaded data from folder on my computer.

When I implemented:

masterVolumeNode = slicer.mrmlScene.GetNodeByID(loadedNodeIDs[0])

It said that masterVolume Node is not set as either the background or foreground