Procházet zdrojové kódy

Only specify modality parameters when not all are selected

It seems that the conquest dicom server isn't respecting the list
of backslash delimited modality names for the study level query,
while dcm4chee does accept them.  As a workaround, don't list
any modalities if the goal is to get all of them anyway.
Steve Pieper před 14 roky
rodič
revize
12d5cd26e2
1 změnil soubory, kde provedl 6 přidání a 1 odebrání
  1. 6 1
      Libs/DICOM/Widgets/ctkDICOMQueryWidget.cpp

+ 6 - 1
Libs/DICOM/Widgets/ctkDICOMQueryWidget.cpp

@@ -48,7 +48,12 @@ QMap<QString,QVariant> ctkDICOMQueryWidget::parameters()
   parameters["Series"] = d->SeriesSearch->text();
   parameters["ID"] = d->IdSearch->text();
 
-  parameters["Modalities"] = d->ModalityWidget->selectedModalities();
+  if ( !d->ModalityWidget->areAllModalitiesSelected() )
+  { // some PACS (conquest) don't seem to accept list of modalities,
+    // so don't include the list at all when all modalities are desired
+    // TODO: think about how to fix this for conquest at the query level
+    parameters["Modalities"] = d->ModalityWidget->selectedModalities();
+  }
 
   return parameters;
 }