X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=vv%2FvvMainWindow.cxx;h=578a112c70d6f004c5594199d302a3e972e259b0;hb=5dd256f271817c0d80fab16b752f197f4ce622c3;hp=924bf19b534c8534a15323e27ed94693e9797cf1;hpb=0a85e47a06c7d046d06a4645b724c4e81b19998d;p=clitk.git diff --git a/vv/vvMainWindow.cxx b/vv/vvMainWindow.cxx index 924bf19..578a112 100644 --- a/vv/vvMainWindow.cxx +++ b/vv/vvMainWindow.cxx @@ -3,8 +3,8 @@ Program: vv Module: $RCSfile: vvMainWindow.cxx,v $ Language: C++ - Date: $Date: 2010/02/24 11:42:42 $ - Version: $Revision: 1.12 $ + Date: $Date: 2010/03/24 13:59:01 $ + Version: $Revision: 1.19 $ Author : Pierre Seroul (pierre.seroul@gmail.com) Copyright (C) 200COLUMN_IMAGE_NAME @@ -54,7 +54,6 @@ #include "vvMesh.h" #include "vvStructSelector.h" #include "vvMeshReader.h" -#include "vvCropDialog.h" #include "vvConstants.h" #ifdef CLITK_VV_USE_BDCM @@ -113,6 +112,7 @@ vvMainWindow::vvMainWindow():vvMainWindowBase() { mInputPathName = ""; mMenuTools = menuTools; + mMenuExperimentalTools = menuExperimental; mMainWidget = this; //Init the contextMenu @@ -142,10 +142,10 @@ vvMainWindow::vvMainWindow():vvMainWindowBase() { contextMenu.addSeparator(); - QAction* actionCrop_image = contextMenu.addAction(QIcon(QString::fromUtf8(":/new/prefix1/icons/crop.png")), - tr("Crop Current Image")); - connect(actionCrop_image,SIGNAL(triggered()),this,SLOT(CropImage())); - contextActions.push_back(actionCrop_image); + // QAction* actionCrop_image = contextMenu.addAction(QIcon(QString::fromUtf8(":/new/prefix1/icons/crop.png")), + // tr("Crop Current Image")); + // connect(actionCrop_image,SIGNAL(triggered()),this,SLOT(CropImage())); + // contextActions.push_back(actionCrop_image); QAction* actionSplit_image = contextMenu.addAction(QIcon(QString::fromUtf8(":/new/prefix1/icons/cut.png")), tr("Split Current Image")); @@ -321,6 +321,9 @@ vvMainWindow::vvMainWindow():vvMainWindowBase() { // Adding all new tools (insertion in the menu) vvToolManager::GetInstance()->InsertToolsInMenu(this); + + if (!CLITK_EXPERIMENTAL) + menuExperimental->menuAction()->setVisible(false); } //------------------------------------------------------------------------------ @@ -416,7 +419,7 @@ void vvMainWindow::OpenVTKContour() { if (mSlicerManagers.size() > 0) { - QString Extensions = "Images ( *.vtk)"; + QString Extensions = "Images ( *.vtk; *.obj)"; Extensions += ";;All Files (*)"; QString file = QFileDialog::getOpenFileName(this,tr("Open vtkPolyData"),mInputPathName,Extensions); if (file.isNull()) @@ -424,6 +427,7 @@ void vvMainWindow::OpenVTKContour() QApplication::setOverrideCursor(QCursor(Qt::WaitCursor)); int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]); vvMeshReader reader; + reader.SetImage(mSlicerManagers[index]->GetImage()); reader.SetModeToVTK(); reader.SetFilename(file.toStdString()); reader.Update(); @@ -439,7 +443,7 @@ void vvMainWindow::OpenDCStructContour() { if (mSlicerManagers.size() > 0) { - QString Extensions = "Dicom Files ( *.dcm)"; + QString Extensions = "Dicom Files ( *.dcm; RS*)"; Extensions += ";;All Files (*)"; QString file = QFileDialog::getOpenFileName(this,tr("Merge Images"),mInputPathName,Extensions); if (file.isNull()) @@ -568,45 +572,45 @@ void vvMainWindow::MergeImages() { for (int i = 0; i < files.size(); i++) { itk::ImageIOBase::Pointer reader = itk::ImageIOFactory::CreateImageIO( - files[i].toStdString().c_str(), itk::ImageIOFactory::ReadMode); + files[i].toStdString().c_str(), itk::ImageIOFactory::ReadMode); reader->SetFileName(files[i].toStdString().c_str()); reader->ReadImageInformation(); - if (reader) NOViewWidget->hide(); - NEViewWidget->hide(); - SOViewWidget->hide(); - SEViewWidget->hide(); - { - if (i == 0) - currentDim = reader->GetNumberOfDimensions(); - bool IsOk = true; - for (unsigned int j = 0;j < currentDim; j++) + if (reader) { + //NOViewWidget->hide(); + //NEViewWidget->hide(); + //SOViewWidget->hide(); + //SEViewWidget->hide(); + if (i == 0) + currentDim = reader->GetNumberOfDimensions(); + bool IsOk = true; + for (unsigned int j = 0;j < currentDim; j++) { - if (i == 0) + if (i == 0) { - if (j == 0) + if (j == 0) { - currentSpacing.resize(currentDim); - currentSize.resize(currentDim); - currentOrigin.resize(currentDim); + currentSpacing.resize(currentDim); + currentSize.resize(currentDim); + currentOrigin.resize(currentDim); } - currentOrigin[j] = reader->GetOrigin(j); - currentSpacing[j] = reader->GetSpacing(j); - currentSize[j] = reader->GetDimensions(j); + currentOrigin[j] = reader->GetOrigin(j); + currentSpacing[j] = reader->GetSpacing(j); + currentSize[j] = reader->GetDimensions(j); } - else if (currentDim != reader->GetNumberOfDimensions() - || currentSpacing[j] != reader->GetSpacing(j) - || currentSize[j] != (int)reader->GetDimensions(j) - || currentOrigin[j] != reader->GetOrigin(j)) + else if (currentDim != reader->GetNumberOfDimensions() + || currentSpacing[j] != reader->GetSpacing(j) + || currentSize[j] != (int)reader->GetDimensions(j) + || currentOrigin[j] != reader->GetOrigin(j)) { - QString error = "Cannot read file (too different from others "; - error += files[i].toStdString().c_str(); - QMessageBox::information(this,tr("Reading problem"),error); - IsOk = false; - break; + QString error = "Cannot read file (too different from others "; + error += files[i].toStdString().c_str(); + QMessageBox::information(this,tr("Reading problem"),error); + IsOk = false; + break; } } - if (IsOk) - vector.push_back(files[i].toStdString()); + if (IsOk) + vector.push_back(files[i].toStdString()); } } if (vector.size() > 0) @@ -1088,8 +1092,8 @@ void vvMainWindow::ImageInfoChanged() { } windowSpinBox->setValue(mSlicerManagers[index]->GetColorWindow()); levelSpinBox->setValue(mSlicerManagers[index]->GetColorLevel()); - DD(mSlicerManagers[index]->GetColorMap()); - DD(mSlicerManagers[index]->GetPreset()); + // DD(mSlicerManagers[index]->GetColorMap()); + // DD(mSlicerManagers[index]->GetPreset()); presetComboBox->setCurrentIndex(mSlicerManagers[index]->GetPreset()); colorMapComboBox->setCurrentIndex(mSlicerManagers[index]->GetColorMap()); @@ -1552,13 +1556,13 @@ void vvMainWindow::ReloadImage(QTreeWidgetItem* item, int column) { } //------------------------------------------------------------------------------ -void vvMainWindow::CropImage() -{ - int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]); - vvCropDialog crop(mSlicerManagers,index); - if(crop.exec()) - AddImage(crop.GetOutput(),"cropped.mhd"); -} +// void vvMainWindow::CropImage() +// { +// int index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]); +// vvCropDialog crop(mSlicerManagers,index); +// if(crop.exec()) +// AddImage(crop.GetOutput(),"cropped.mhd"); +// } //------------------------------------------------------------------------------ void vvMainWindow::SplitImage() { @@ -2350,7 +2354,7 @@ void vvMainWindow::NOVerticalSliderChanged() { if (DataTree->topLevelItem(i)->data(COLUMN_UL_VIEW,Qt::CheckStateRole).toInt() > 1) { mSlicerManagers[i]->GetSlicer(0)->SetSlice(value); - //mSlicerManagers[i]->UpdateSlice(0); // <-- NO ! too much update... + mSlicerManagers[i]->UpdateSlice(0); // <-- DS add this. Not too much update ? break; } } @@ -2772,13 +2776,9 @@ void vvMainWindow::AddImage(vvSlicerManager * slicer_manager) { //------------------------------------------------------------------------------ void vvMainWindow::UpdateCurrentSlicer() { - DD("UpdateCurrentSlicer"); int index = -1; - DD(DataTree->selectedItems().size()); if (DataTree->selectedItems().size() > 0) { index = GetSlicerIndexFromItem(DataTree->selectedItems()[0]); - DD(DataTree->selectedItems()[0]); - DD(index); } mSlicerManagerCurrentIndex = index; }