-//------------------------------------------------------------------------------
-void vvToolRigidReg::ReadFile()
-{
- QString parameters=QString("Tx: Ty: Tz:");
- vtkSmartPointer<vtkTransform> transform = mCurrentSlicerManager->GetImage()->GetTransform();
-
-
- QString s = QFileDialog::getOpenFileName(
- this,
- "Choose a file",
- "/home/bharath/clitk3_27Apr/clitk3/build/bin/",
- "Text (*.txt *.rtf *.doc)");
- QFile file(s);
- ifstream readfile;
- std::string x;
- std::vector<QString> Qstr;
-
- readfile.open("text.txt");
- if (readfile.is_open())
- {
- while (!readfile.eof())
- {
- readfile >> x;
- Qstr.push_back(QString(x.c_str()));
- }
- readfile.close();
- }
- else cout << "Unable to open file";
-
- //Obtain the Rotation Center
- Xval->setText(Qstr.at(2));
- Yval->setText(Qstr.at(3));
- Zval->setText(Qstr.at(4));
-
-// InitializeSliders();
- double * orientations=new double[4];
- double * translations=new double[3];
- transform->PostMultiply();
- //Works currently wit the ROtation order Y Z X
- transform->GetPosition(translations);
- transform->GetOrientation(orientations);
- /* xtrans_slider->setValue(Qstr.at(10).toDouble());
- UpdateXtranslider();
- ytrans_slider->setValue(Qstr.at(14).toDouble());
- UpdateYtranslider();
- ztrans_slider->setValue(Qstr.at(18).toDouble());
- UpdateZtranslider();
-*/
- DD(translations[0]);
- DD(translations[1]);
- DD(translations[2]);
- DD(orientations[0]);
- DD(orientations[1]);
- DD(orientations[2]);
- DD(orientations[3]);
- DD(*transform->GetMatrix());
- //Obtain the Transformation Matrix
- /*QString str;
- str=QString(value.at(10).c_str());
- DD(str.toStdString());
- */
-// DD(value[6]);
- // DD(value[10]);
- //put the streamed values in matrix array
- /* for(int i=0;i<4;i++)
- {
- for(int j=0;j<4;j++)
- {
- matrix->Element[i][j]=value[i*4+j];
- }
- }
- SetTransform( matrix);*/
-
- /*xtrans_slider->setValue(value.at(10));
- ytrans_slider->setValue(value.at(14));
- ztrans_slider->setValue(value.at(18));
- UpdateXtranslider();
- UpdateYtranslider();
- UpdateZtranslider();*/
-}
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-void vvToolRigidReg::ResetTransform()
-{
- vtkMatrix4x4 *matrix = vtkMatrix4x4::New();
- matrix->Identity();
-
- SetRotationCenter();
- SetSliderRanges();
- SetTransform(matrix);
- mOrder.clear();
- mOrder=QString("Rotation Order: ");
- UpdateTextEditor(matrix,mOrder);
-}
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-void vvToolRigidReg::SetRotationCenter()
-{
- //default image rotation center is the center of the image
- QString xcord,ycord,zcord;
- std::vector<double> imageorigin;
- imageorigin=mCurrentSlicerManager->GetImage()->GetOrigin();
-
- xcord=xcord.setNum(imageorigin[0]+mImageSize[0]*mCurrentSlicerManager->GetImage()->GetSpacing()[0]/2, 'g', 3);
- ycord=ycord.setNum(imageorigin[1]+mImageSize[1]*mCurrentSlicerManager->GetImage()->GetSpacing()[1]/2, 'g', 3);
- zcord=zcord.setNum(imageorigin[2]+mImageSize[2]*mCurrentSlicerManager->GetImage()->GetSpacing()[2]/2, 'g', 3);
-
- Xval->setText(xcord);
- Yval->setText(ycord);
- Zval->setText(zcord);
- InitializeSliders();
-}
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-void vvToolRigidReg::InitializeSliders()
-{
- xtrans_slider->signalsBlocked();
- ytrans_slider->signalsBlocked();
- ztrans_slider->signalsBlocked();
- xtrans_sb->signalsBlocked();
- ytrans_sb->signalsBlocked();
- ztrans_sb->signalsBlocked();
- xrot_slider->signalsBlocked();
- yrot_slider->signalsBlocked();
- zrot_slider->signalsBlocked();
- xrot_sb->signalsBlocked();
- yrot_sb->signalsBlocked();
- zrot_sb->signalsBlocked();
-
- xtrans_sb->setValue(0);
- ytrans_sb->setValue(0);
- ztrans_sb->setValue(0);
-
- xtrans_slider->setValue(0);
- ytrans_slider->setValue(0);
- ztrans_slider->setValue(0);
-
- xrot_sb->setValue(0);
- yrot_sb->setValue(0);
- zrot_sb->setValue(0);
-
- xrot_slider->setValue(0);
- yrot_slider->setValue(0);
- zrot_slider->setValue(0);
-}
-//------------------------------------------------------------------------------
-
-//------------------------------------------------------------------------------
-void vvToolRigidReg::SetSliderRanges()
-{
- xtrans_slider->setMaximum(1000);
- xtrans_slider->setMinimum(-1000);
- ytrans_slider->setMaximum(1000);
- ytrans_slider->setMinimum(-1000);
- ztrans_slider->setMaximum(1000);
- ztrans_slider->setMinimum(-1000);
-
- xtrans_sb->setMaximum(1000);
- xtrans_sb->setMinimum(-1000);
- ytrans_sb->setMaximum(1000);
- ytrans_sb->setMinimum(-1000);
- ztrans_sb->setMaximum(1000);
- ztrans_sb->setMinimum(-1000);
-
- xrot_slider->setMaximum(360);
- xrot_slider->setMinimum(-360);
- yrot_slider->setMaximum(360);
- yrot_slider->setMinimum(-360);
- zrot_slider->setMaximum(360);
- zrot_slider->setMinimum(-360);
-
- xrot_sb->setMaximum(360);
- xrot_sb->setMinimum(-360);
- yrot_sb->setMaximum(360);
- yrot_sb->setMinimum(-360);
- zrot_sb->setMaximum(360);
- zrot_sb->setMinimum(-360);
-}