X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolCropImage.cxx;h=539e30ef9ea892727b49348220e9e9e8c2333eae;hb=72c516346c3a550e2d34a7635f5f41061a16306c;hp=41bb0ce7fc6304c0b01700101a5a1931c69d3c90;hpb=f57168d77d6dbd2b45aee8bd25631f4573f6e635;p=clitk.git diff --git a/vv/vvToolCropImage.cxx b/vv/vvToolCropImage.cxx index 41bb0ce..539e30e 100644 --- a/vv/vvToolCropImage.cxx +++ b/vv/vvToolCropImage.cxx @@ -33,6 +33,9 @@ #include // vtk +#include +#include +#include #include #include #include @@ -55,12 +58,6 @@ vvToolCropImage::vvToolCropImage(vvMainWindowBase * parent, Qt::WindowFlags f): // GUI Initialization Ui_vvToolCropImage::setupUi(mToolWidget); - // mTLabel2->setHidden(false); - // tminSlider->setHidden(false); - // tmaxSlider->setHidden(false); - // spin_tmin->setHidden(false); - // spin_tmax->setHidden(false); - // mLabelTimeCropping->setHidden(false); mTLabel1->setHidden(true); mTLabel2->setHidden(true); tminSlider->setHidden(true); @@ -80,6 +77,10 @@ vvToolCropImage::vvToolCropImage(vvMainWindowBase * parent, Qt::WindowFlags f): mSliders[zmax]=zmaxSlider; mSliders[tmin]=tminSlider; mSliders[tmax]=tmaxSlider; + + // Record initial extend + mReducedExtent = new int[6]; + mInitialExtent = new int[6]; } //------------------------------------------------------------------------------ @@ -87,7 +88,8 @@ vvToolCropImage::vvToolCropImage(vvMainWindowBase * parent, Qt::WindowFlags f): //------------------------------------------------------------------------------ vvToolCropImage::~vvToolCropImage() { - + delete [] mReducedExtent; + delete [] mInitialExtent; } //------------------------------------------------------------------------------ @@ -96,11 +98,13 @@ vvToolCropImage::~vvToolCropImage() void vvToolCropImage::closeEvent(QCloseEvent *event) { if(mCurrentSlicerManager){ - // Reset extends - for(int i=0; iaccept(); + vvToolWidgetBase::closeEvent(event); } //------------------------------------------------------------------------------ @@ -172,17 +176,21 @@ void vvToolCropImage::InputIsSelected(vvSlicerManager * slicer) spin_zmin->setHidden(true); spin_zmax->setHidden(true); } - - // Record initial extend - mReducedExtent = new int[mExtentSize]; - mInitialExtent = new int[mExtentSize]; - mReducedExtent = mCurrentSlicerManager->GetImage()->GetFirstVTKImageData()->GetWholeExtent(); - for(int i=0; iGetFirstVTKImageData()->GetWholeExtent(); +#else + int *a = mCurrentImage->GetFirstVTKImageData()->GetInformation()->Get(vtkDataObject::DATA_EXTENT()); +#endif + for(int i=0; i<6; i++){ + mInitialExtent[i] = a[i]; + mReducedExtent[i] = a[i]; + } for(int i=0; iGetNumberOfSlicers(); i++) { mCurrentSlicerManager->GetSlicer(i)->EnableReducedExtent(true); + mCurrentSlicerManager->GetSlicer(i)->SetReducedExtent(mInitialExtent); } - // Set initial sliders values +// Set initial sliders values std::vector imsize = mCurrentSlicerManager->GetImage()->GetSize(); for(int dim=0; dimGetDimension() && dim<3; ++dim){ mSliders[dim*2]->setMaximum(imsize[dim]-1); @@ -215,14 +223,6 @@ void vvToolCropImage::InputIsSelected(vvSlicerManager * slicer) signalMapper->setMapping(mSliders[i], i); connect(mSliders[i], SIGNAL(valueChanged(int)), signalMapper, SLOT(map())); } - - - - - // connect(mCurrentSlicerManager,SIGNAL(UpdateSlice(int,int)),this,SLOT(UpdateExtent())); - //connect(mCurrentSlicerManager,SIGNAL(UpdateTSlice(int,int)),this,SLOT(UpdateExtent())); - - // connect(mIntensitySlider, SIGNAL(valueChanged(double)), this, SLOT(autoCropValueChanged(double))); UpdateExtent(); } //------------------------------------------------------------------------------ @@ -280,15 +280,19 @@ void vvToolCropImage::apply() catch(clitk::ExceptionObject & e) { DD(e.what()); QApplication::restoreOverrideCursor(); + delete [] mArgsInfo.boundingBox_arg; close(); } std::ostringstream croppedImageName; croppedImageName << "Cropped_" << mCurrentSlicerManager->GetSlicer(0)->GetFileName() << ".mhd"; // Retrieve result and display it vvImage::Pointer output = filter->GetOutputVVImage(); + AddImage(output,croppedImageName.str()); + // End QApplication::restoreOverrideCursor(); + delete [] mArgsInfo.boundingBox_arg; close(); } //------------------------------------------------------------------------------