def examineForImport(self, fileLists): """ Returns a list of qSlicerDICOMLoadable instances corresponding to ways of interpreting the fileLists parameter. """ # Create loadables for each file list loadables = [] for fileList in fileLists: # Each file list corresponds to one series, so do loadables # Convert file list to VTK object to be able to pass it for examining # (VTK class cannot have Qt object as argument, otherwise it is not python wrapped) vtkFileList = vtk.vtkStringArray() for file in fileList: vtkFileList.InsertNextValue(slicer.util.toVTKString(file)) # Examine files loadablesCollection = vtk.vtkCollection() slicer.modules.dicomrtimportexport.logic().ExamineForLoad( vtkFileList, loadablesCollection) for loadableIndex in xrange( 0, loadablesCollection.GetNumberOfItems()): vtkLoadable = loadablesCollection.GetItemAsObject( loadableIndex) # Create Qt loadable if confidence is greater than 0 if vtkLoadable.GetConfidence() > 0: # Convert to Qt loadable to pass it back qtLoadable = slicer.qSlicerDICOMLoadable() qtLoadable.copyFromVtkLoadable(vtkLoadable) qtLoadable.tooltip = 'Valid RT object in selection' qtLoadable.selected = True loadables.append(qtLoadable) return loadables
def examineForImport(self,fileLists): """ Returns a list of qSlicerDICOMLoadable instances corresponding to ways of interpreting the fileLists parameter. """ # Create loadables for each file list loadables = [] for fileList in fileLists: # Each file list corresponds to one series, so do loadables # Convert file list to VTK object to be able to pass it for examining # (VTK class cannot have Qt object as argument, otherwise it is not python wrapped) vtkFileList = vtk.vtkStringArray() for file in fileList: vtkFileList.InsertNextValue(slicer.util.toVTKString(file)) # Examine files loadablesCollection = vtk.vtkCollection() slicer.modules.dicomrtimportexport.logic().ExamineForLoad(vtkFileList, loadablesCollection) for loadableIndex in xrange(0,loadablesCollection.GetNumberOfItems()): vtkLoadable = loadablesCollection.GetItemAsObject(loadableIndex) # Create Qt loadable if confidence is greater than 0 if vtkLoadable.GetConfidence() > 0: # Convert to Qt loadable to pass it back qtLoadable = slicer.qSlicerDICOMLoadable() qtLoadable.copyFromVtkLoadable(vtkLoadable) qtLoadable.tooltip = 'Valid RT object in selection' qtLoadable.selected = True loadables.append(qtLoadable) return loadables
def examine(self, fileLists): """ Returns a list of qSlicerDICOMLoadable instances corresponding to ways of interpreting the fileLists parameter. """ # Export file lists to DicomExamineInfo examineInfo = slicer.vtkDICOMImportInfo() for files in fileLists: fileListIndex = examineInfo.InsertNextFileList() fileList = examineInfo.GetFileList( fileListIndex) # vtk.vtkStringArray() for f in files: fileList.InsertNextValue(f) # Examine files logic = slicer.vtkSlicerDicomSroImportModuleLogic() #logic = slicer.modules.DicomSroimport.logic() print "reg inside examine" logic.Examine(examineInfo) # Import loadables from DicomExamineInfo loadables = [] for loadableIndex in xrange(examineInfo.GetNumberOfLoadables()): loadable = slicer.qSlicerDICOMLoadable() loadableFilesVtk = examineInfo.GetLoadableFiles(loadableIndex) loadableFilesPy = [] for fileIndex in xrange(loadableFilesVtk.GetNumberOfValues()): loadableFilesPy.append(loadableFilesVtk.GetValue(fileIndex)) loadable.files = loadableFilesPy name = examineInfo.GetLoadableName(loadableIndex) loadable.name = name loadable.tooltip = examineInfo.GetLoadableTooltip(loadableIndex) loadable.selected = examineInfo.GetLoadableSelected(loadableIndex) loadable.confidence = examineInfo.GetLoadableConfidence( loadableIndex) loadables.append(loadable) return loadables
def examine(self,fileLists): """ Returns a list of qSlicerDICOMLoadable instances corresponding to ways of interpreting the fileLists parameter. """ import vtkSlicerDicomSroImportModuleLogic # Export file lists to DicomExamineInfo examineInfo = vtkSlicerDicomSroImportModuleLogic.vtkDICOMImportInfo() for files in fileLists: fileListIndex = examineInfo.InsertNextFileList() fileList = examineInfo.GetFileList(fileListIndex) # vtk.vtkStringArray() for f in files: fileList.InsertNextValue(f) # Examine files logic = vtkSlicerDicomSroImportModuleLogic.vtkSlicerDicomSroImportModuleLogic() #logic = slicer.modules.DicomSroimport.logic() print "reg inside examine" logic.Examine(examineInfo) # Import loadables from DicomExamineInfo loadables = [] for loadableIndex in xrange(examineInfo.GetNumberOfLoadables()): loadable = slicer.qSlicerDICOMLoadable() loadableFilesVtk = examineInfo.GetLoadableFiles(loadableIndex) loadableFilesPy = [] for fileIndex in xrange(loadableFilesVtk.GetNumberOfValues()): loadableFilesPy.append(loadableFilesVtk.GetValue(fileIndex)) loadable.files = loadableFilesPy name = examineInfo.GetLoadableName(loadableIndex) loadable.name = name loadable.tooltip = examineInfo.GetLoadableTooltip(loadableIndex) loadable.selected = examineInfo.GetLoadableSelected(loadableIndex) loadable.confidence = examineInfo.GetLoadableConfidence(loadableIndex) loadables.append(loadable) return loadables