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
#include "vvMesh.h"
#include "vvStructSelector.h"
#include "vvMeshReader.h"
-#include "vvCropDialog.h"
#include "vvConstants.h"
#ifdef CLITK_VV_USE_BDCM
mInputPathName = "";
mMenuTools = menuTools;
+ mMenuExperimentalTools = menuExperimental;
mMainWidget = this;
//Init the contextMenu
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"));
// Adding all new tools (insertion in the menu)
vvToolManager::GetInstance()->InsertToolsInMenu(this);
+
+ if (!CLITK_EXPERIMENTAL)
+ menuExperimental->menuAction()->setVisible(false);
}
//------------------------------------------------------------------------------
{
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())
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();
{
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())
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)
}
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());
}
//------------------------------------------------------------------------------
-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() {
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;
}
}
//------------------------------------------------------------------------------
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;
}