#include <QSignalMapper>
// vtk
+#include <vtkVersion.h>
+#include <vtkStreamingDemandDrivenPipeline.h>
+#include <vtkInformation.h>
#include <vtkImageClip.h>
#include <vtkImageTranslateExtent.h>
#include <vtkImageData.h>
{
if(mCurrentSlicerManager){
// Reset extends
- for(int i=0; i<mExtentSize; i++){
+ for(int i=0; i<6; i++){
mReducedExtent[i] = mInitialExtent[i];
}
+ for(int i=0; i<mCurrentSlicerManager->GetNumberOfSlicers(); i++)
+ mCurrentSlicerManager->GetSlicer(i)->EnableReducedExtent(false);
UpdateExtent();
}
vvToolWidgetBase::closeEvent(event);
//------------------------------------------------------------------------------
void vvToolCropImage::reject()
{
- for(int i=0; i<mExtentSize; i++) mReducedExtent[i] = mInitialExtent[i];
+ for(int i=0; i<mExtentSize; i++)
+ mReducedExtent[i] = mInitialExtent[i];
+ for(int i=0; i<mCurrentSlicerManager->GetNumberOfSlicers(); i++)
+ mCurrentSlicerManager->GetSlicer(i)->EnableReducedExtent(false);
UpdateExtent();
return vvToolWidgetBase::reject();
}
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];
}
// Set initial sliders values
- std::vector<int> imsize = mCurrentSlicerManager->GetImage()->GetSize();
+ int w_ext[6], imsize[3];
+ mCurrentSlicerManager->GetSlicer(0)->GetRegisterExtent(w_ext);
for(int dim=0; dim<slicer->GetDimension() && 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);
}
// We MUST reset initial extend to input image before using the
// filter to retrieve the correct image size
- for(int i=0; i<mExtentSize; i++) {
+ for(int i=0; i<6; i++) {
mReducedExtent[i] = mInitialExtent[i];
}
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();
}
//------------------------------------------------------------------------------