X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvLandmarksPanel.cxx;h=827e391a474ac637b819392fec8c254cdcbfbf51;hb=0722e563db4e7b4493e4c697f75fb6f6aee93ebb;hp=2d3e1a5503ca4f0702e13947935035afd690d16f;hpb=aec4d891efcbb0e4e5b4c4e86b699e0f98d1264b;p=clitk.git diff --git a/vv/vvLandmarksPanel.cxx b/vv/vvLandmarksPanel.cxx index 2d3e1a5..827e391 100644 --- a/vv/vvLandmarksPanel.cxx +++ b/vv/vvLandmarksPanel.cxx @@ -21,6 +21,7 @@ #include #include +#include #include "QTreePushButton.h" #include "vvLandmarks.h" @@ -29,7 +30,7 @@ //==================================================================== vvLandmarksPanel::vvLandmarksPanel(QWidget * parent):QWidget(parent) -{ +{ setupUi(this); tableWidget->verticalHeader()->hide(); @@ -37,9 +38,11 @@ vvLandmarksPanel::vvLandmarksPanel(QWidget * parent):QWidget(parent) tableWidget->setSelectionMode(QAbstractItemView::SingleSelection); loadButton->setEnabled(0); saveButton->setEnabled(0); + updateTransformButton->setEnabled(0); removeButton->setEnabled(0); connect(loadButton, SIGNAL(clicked()),this,SLOT(Load())); connect(saveButton, SIGNAL(clicked()),this,SLOT(Save())); + connect(updateTransformButton, SIGNAL(clicked()),this,SLOT(UpdateTransform())); connect(removeButton, SIGNAL(clicked()),this,SLOT(RemoveSelectedPoints())); connect(removeAllButton, SIGNAL(clicked()),this,SLOT(RemoveAllPoints())); connect(tableWidget,SIGNAL(cellChanged(int,int)),this,SLOT(CommentsChanged(int,int))); @@ -47,7 +50,7 @@ vvLandmarksPanel::vvLandmarksPanel(QWidget * parent):QWidget(parent) } void vvLandmarksPanel::Load() -{ +{ QString file = QFileDialog::getOpenFileName(this,tr("Load Landmarks"), mCurrentPath.c_str(),tr("Landmarks ( *.txt *.pts)")); if (!file.isEmpty()) { @@ -57,17 +60,17 @@ void vvLandmarksPanel::Load() } bool vvLandmarksPanel::LoadFromFile(std::vector files) -{ +{ if (!mCurrentLandmarks->LoadFile(files)) return false; - SetCurrentLandmarks(mCurrentLandmarks,2); + SetCurrentLandmarks(mCurrentLandmarks,0); emit UpdateRenderWindows(); return true; } void vvLandmarksPanel::Save() -{ +{ QString file = QFileDialog::getSaveFileName(this, tr("Save Landmarks"), mCurrentPath.c_str(),tr("Landmarks ( *.txt)")); @@ -79,8 +82,14 @@ void vvLandmarksPanel::Save() } } -void vvLandmarksPanel::SelectPoint() +void vvLandmarksPanel::UpdateTransform() { + emit UpdateLandmarkTransform(); + SetCurrentLandmarks(mCurrentLandmarks,mCurrentLandmarks->GetTime()); +} + +void vvLandmarksPanel::SelectPoint() +{ if (tableWidget->rowCount() > 0) { QList items = tableWidget->selectedItems(); if (!items.empty()) { @@ -99,7 +108,7 @@ void vvLandmarksPanel::SelectPoint() void vvLandmarksPanel::RemoveSelectedPoints() -{ +{ if (tableWidget->rowCount() > 0) { QList items = tableWidget->selectedItems(); if (items.empty()) { @@ -123,7 +132,7 @@ void vvLandmarksPanel::RemoveSelectedPoints() } void vvLandmarksPanel::RemoveAllPoints() -{ +{ mCurrentLandmarks->RemoveAll(); tableWidget->clearContents(); tableWidget->setRowCount(0); @@ -131,12 +140,12 @@ void vvLandmarksPanel::RemoveAllPoints() } void vvLandmarksPanel::AddPoint() -{ +{ AddPoint(mCurrentLandmarks->GetNumberOfPoints()-1); } void vvLandmarksPanel::AddPoint(int landmarksIndex) -{ +{ int rowIndex = tableWidget->rowCount(); // DD(rowIndex); tableWidget->setRowCount(rowIndex+1); @@ -175,18 +184,19 @@ void vvLandmarksPanel::AddPoint(int landmarksIndex) } void vvLandmarksPanel::SetCurrentLandmarks(vvLandmarks* lm,int time) -{ +{ if (time != lm->GetTime()) return; - loadButton->setEnabled(1); saveButton->setEnabled(1); + updateTransformButton->setEnabled(1); removeButton->setEnabled(1); mCurrentLandmarks = lm; tableWidget->clearContents(); tableWidget->setRowCount(0); for (unsigned int i = 0; i < mCurrentLandmarks->GetNumberOfPoints(); i++) { - AddPoint(i); + if ((mCurrentLandmarks->GetLabels()->GetValue(i) != "P1") && (mCurrentLandmarks->GetLabels()->GetValue(i) != "P2")) + AddPoint(i); } //if (time > 1) //tableWidget->setColumnHidden(4,1); @@ -196,14 +206,14 @@ void vvLandmarksPanel::SetCurrentLandmarks(vvLandmarks* lm,int time) } void vvLandmarksPanel::SetCurrentImage(std::string filename) -{ +{ QString image = "CurrentImage : "; image += vtksys::SystemTools::GetFilenameWithoutLastExtension(filename).c_str(); nameLabel->setText(image); } void vvLandmarksPanel::CommentsChanged(int row, int column) -{ +{ if (column == 6) { mCurrentLandmarks->ChangeComments(row,std::string(tableWidget->item(row,column)->text().toStdString())); tableWidget->resizeColumnsToContents();