Ver código fonte

Merge pull request #678 from akalali/sopsForSeries-database-query

Add a DICOM database query to retrieve SOPInstanceUIDs via a SeriesIn…
Steve Pieper 8 anos atrás
pai
commit
04607d0ea7

+ 17 - 0
Libs/DICOM/Core/ctkDICOMDatabase.cpp

@@ -732,6 +732,23 @@ QStringList ctkDICOMDatabase::seriesForStudy(QString studyUID)
 }
 
 //------------------------------------------------------------------------------
+QStringList ctkDICOMDatabase::instancesForSeries(const QString seriesUID)
+{
+  Q_D(ctkDICOMDatabase);
+  QSqlQuery query(d->Database);
+  query.prepare("SELECT SOPInstanceUID FROM Images WHERE SeriesInstanceUID= ?");
+  query.bindValue(0, seriesUID);
+  query.exec();
+  QStringList result;
+  if (query.next())
+  {
+    result << query.value(0).toString();
+  }
+
+  return result;
+}
+
+//------------------------------------------------------------------------------
 QStringList ctkDICOMDatabase::filesForSeries(QString seriesUID)
 {
   Q_D(ctkDICOMDatabase);

+ 1 - 0
Libs/DICOM/Core/ctkDICOMDatabase.h

@@ -132,6 +132,7 @@ public:
   Q_INVOKABLE QStringList patients ();
   Q_INVOKABLE QStringList studiesForPatient (const QString patientUID);
   Q_INVOKABLE QStringList seriesForStudy (const QString studyUID);
+  Q_INVOKABLE QStringList instancesForSeries(const QString seriesUID);
   Q_INVOKABLE QString studyForSeries(QString seriesUID);
   Q_INVOKABLE QString patientForStudy(QString studyUID);
   Q_INVOKABLE QStringList filesForSeries (const QString seriesUID);