X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolROIManager.cxx;h=e1d2e5c534e2f586d45657d3911a14417d6e6641;hb=9259ccb7138d0a678a677c8fccd283563154036e;hp=b6784004958c433a88d27756f6476dcbd4d68d24;hpb=152c742cc0002aaec310a800b5016dc3fa6c662f;p=clitk.git diff --git a/vv/vvToolROIManager.cxx b/vv/vvToolROIManager.cxx index b678400..e1d2e5c 100644 --- a/vv/vvToolROIManager.cxx +++ b/vv/vvToolROIManager.cxx @@ -299,7 +299,7 @@ void vvToolROIManager::Open() QString Extensions = "Images or Dicom-Struct files ( *.mha *.mhd *.hdr *.his *.dcm RS*)"; Extensions += ";;All Files (*)"; QStringList filename = - QFileDialog::getOpenFileNames(this,tr("Open binary image"), + QFileDialog::getOpenFileNames(this,tr("Open binary image or DICOM RT Struct"), mMainWindowBase->GetInputPathName(),Extensions); if (filename.size() == 0) return; if (filename.size() > 1) { OpenBinaryImage(filename); return; } @@ -318,17 +318,21 @@ void vvToolROIManager::OpenBinaryImage(QStringList & filename) { if (filename.size() == 0) return; + vvProgressDialog p("Reading ROI ...", true); + p.SetCancelButtonEnabled(false); + QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); + // For each selected file, open the image - for(int i=0; i filenames; filenames.push_back(filename[i].toStdString()); reader->SetInputFilenames(filenames); reader->Update(vvImageReader::IMAGE); - QApplication::restoreOverrideCursor(); - + if (reader->GetLastError().size() != 0) { std::cerr << "Error while reading " << filename[i].toStdString() << std::endl; QString error = "Cannot open file \n"; @@ -341,6 +345,7 @@ void vvToolROIManager::OpenBinaryImage(QStringList & filename) (!mBGModeCheckBox->isChecked())); mOpenedBinaryImageFilenames.push_back(filename[i]); } + QApplication::restoreOverrideCursor(); // Update the contours UpdateAllContours(); @@ -356,12 +361,12 @@ void vvToolROIManager::OpenDicomImage(std::string filename) reader.SetFilename(filename); vvStructSelector selector; selector.SetStructures(reader.GetROINames()); + selector.SetPropagationCheckBoxFlag(false); - if (selector.exec()) { - QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); - + if (selector.exec()) { vvProgressDialog p("Reading ROI...", true); p.SetCancelButtonEnabled(false); + QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); // Read information clitk::DicomRT_StructureSet::Pointer s = clitk::DicomRT_StructureSet::New(); @@ -486,9 +491,7 @@ void vvToolROIManager::UpdateAllContours() for(unsigned int i=0; iUpdate(); } - for(int i=0; iGetNumberOfSlicers(); i++) { - mCurrentSlicerManager->GetSlicer(i)->Render(); - } + mCurrentSlicerManager->Render(); } //------------------------------------------------------------------------------ @@ -674,6 +677,8 @@ void vvToolROIManager::ChangeColor() { mCurrentROIActor->GetROI()->GetDisplayColor()[1], mCurrentROIActor->GetROI()->GetDisplayColor()[2]); QColor c = QColorDialog::getColor(color, this, "Choose the ROI color"); + if (!c.isValid()) return;// User cancel + mCurrentROIActor->GetROI()->SetDisplayColor(c.redF(), c.greenF(), c.blueF()); mCurrentROIActor->UpdateColor();