X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolCropImage.cxx;h=2de985882c6eec8dc002d26913ba26a51cb151ef;hb=c74c7098e31ec54ac50aa2aff5dc1c21bc4179c8;hp=c3b55709722033a6445b9b3d0fb0c239ec1d5628;hpb=274bf49f4b2781c521ddc04c0fc77ac43f2f2b82;p=clitk.git diff --git a/vv/vvToolCropImage.cxx b/vv/vvToolCropImage.cxx index c3b5570..2de9858 100644 --- a/vv/vvToolCropImage.cxx +++ b/vv/vvToolCropImage.cxx @@ -33,6 +33,9 @@ #include // vtk +#include +#include +#include #include #include #include @@ -96,9 +99,11 @@ void vvToolCropImage::closeEvent(QCloseEvent *event) { if(mCurrentSlicerManager){ // Reset extends - for(int i=0; iGetNumberOfSlicers(); i++) + mCurrentSlicerManager->GetSlicer(i)->EnableReducedExtent(false); UpdateExtent(); } vvToolWidgetBase::closeEvent(event); @@ -117,7 +122,10 @@ bool vvToolCropImage::close() //------------------------------------------------------------------------------ void vvToolCropImage::reject() { - for(int i=0; iGetNumberOfSlicers(); i++) + mCurrentSlicerManager->GetSlicer(i)->EnableReducedExtent(false); UpdateExtent(); return vvToolWidgetBase::reject(); } @@ -173,8 +181,11 @@ void vvToolCropImage::InputIsSelected(vvSlicerManager * slicer) spin_zmin->setHidden(true); spin_zmax->setHidden(true); } - +#if VTK_MAJOR_VERSION <= 5 int *a = mCurrentImage->GetFirstVTKImageData()->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]; @@ -185,8 +196,10 @@ void vvToolCropImage::InputIsSelected(vvSlicerManager * slicer) } // Set initial sliders values - std::vector imsize = mCurrentSlicerManager->GetImage()->GetSize(); + int w_ext[6], imsize[3]; + mCurrentSlicerManager->GetSlicer(0)->GetRegisterExtent(w_ext); for(int dim=0; dimGetDimension() && dim<3; ++dim){ + imsize[dim] = w_ext[2*dim+1] - w_ext[2*dim] +1; mSliders[dim*2]->setMaximum(imsize[dim]-1); mSliders[dim*2+1]->setMaximum(imsize[dim]-1); mSliders[dim*2+1]->setValue(imsize[dim]-1); @@ -257,7 +270,7 @@ void vvToolCropImage::apply() } // We MUST reset initial extend to input image before using the // filter to retrieve the correct image size - for(int i=0; i