X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvToolBinarize.cxx;h=5cde3234b373ce4bc70ee972514b366b9dbdcfcd;hb=d64e6b39ec8d4bb7b99f9d1a531e9dba3121e2bc;hp=07089739dc6b961cd2777b6cf1e5a9cdfb70b0cc;hpb=8f1ca8e8c0ff2502324d09b989911006c73689e6;p=clitk.git diff --git a/vv/vvToolBinarize.cxx b/vv/vvToolBinarize.cxx index 0708973..5cde323 100644 --- a/vv/vvToolBinarize.cxx +++ b/vv/vvToolBinarize.cxx @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr This software is distributed WITHOUT ANY WARRANTY; without even @@ -14,15 +14,18 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html - ======================================================================-====*/ + ===========================================================================**/ +// vv #include "vvToolBinarize.h" #include "vvSlicerManager.h" #include "vvSlicer.h" #include "vvToolInputSelectorWidget.h" +// clitk #include "clitkBinarizeImageGenericFilter.h" +// vtk #include #include #include @@ -69,7 +72,7 @@ vvToolBinarize::vvToolBinarize(vvMainWindowBase * parent, Qt::WindowFlags f) mBGSlider->SetText("Background value"); // Main filter - mFilter = new clitk::BinarizeImageGenericFilter; + mFilter = clitk::BinarizeImageGenericFilter::New(); // Set how many inputs are needed for this tool AddInputSelector("Select one image", mFilter); @@ -119,12 +122,20 @@ void vvToolBinarize::RemoveVTKObjects() //------------------------------------------------------------------------------ bool vvToolBinarize::close() { - RemoveVTKObjects(); + // RemoveVTKObjects(); return vvToolWidgetBase::close(); } //------------------------------------------------------------------------------ +//------------------------------------------------------------------------------ +void vvToolBinarize::closeEvent(QCloseEvent *event) { + RemoveVTKObjects(); + event->accept(); +} +//------------------------------------------------------------------------------ + + //------------------------------------------------------------------------------ void vvToolBinarize::reject() { @@ -199,11 +210,11 @@ void vvToolBinarize::InputIsSelected(vvSlicerManager * m) mBGSlider->SetSingleStep(1); // VTK objects for interactive display - for(int i=0; iNumberOfSlicers(); i++) { - mImageContour.push_back(new vvImageContour); + for(int i=0; iGetNumberOfSlicers(); i++) { + mImageContour.push_back(vvImageContour::New()); mImageContour[i]->SetSlicer(mCurrentSlicerManager->GetSlicer(i)); mImageContour[i]->SetColor(1.0, 0.0, 0.0); - mImageContourLower.push_back(new vvImageContour); + mImageContourLower.push_back(vvImageContour::New()); mImageContourLower[i]->SetSlicer(mCurrentSlicerManager->GetSlicer(i)); mImageContourLower[i]->SetColor(0.0, 0.0, 1.0); } @@ -216,6 +227,8 @@ void vvToolBinarize::InputIsSelected(vvSlicerManager * m) connect(mCurrentSlicerManager,SIGNAL(UpdateTSlice(int,int)),this,SLOT(UpdateSlice(int, int))); // connect(mCurrentSlicerManager, SIGNAL(LeftButtonReleaseSignal(int)), SLOT(LeftButtonReleaseEvent(int))); + + InteractiveDisplayToggled(mInteractiveDisplayIsEnabled); } //------------------------------------------------------------------------------ @@ -223,7 +236,7 @@ void vvToolBinarize::InputIsSelected(vvSlicerManager * m) //------------------------------------------------------------------------------ // void vvToolBinarize::LeftButtonReleaseEvent(int slicer) { // DD("LeftButtonReleaseEvent"); -// for(int i=0; iNumberOfSlicers(); i++) { +// for(int i=0; iGetNumberOfSlicers(); i++) { // if (i == slicer); // mCurrentSlicerManager->GetSlicer(i)->GetRenderWindow()->Render(); // } @@ -257,15 +270,11 @@ void vvToolBinarize::GetArgsInfoFromGUI() int good = cmdline_parser_ext(argc, argv, &args_info, &p); DD(good); */ - - mArgsInfo.imagetypes_flag = 0; - mArgsInfo.upper_given = 0; - mArgsInfo.lower_given = 0; + cmdline_parser_clitkBinarizeImage_init(&mArgsInfo); // Initialisation to default bool inverseBGandFG = false; mArgsInfo.lower_given = 1; mArgsInfo.lower_arg = mThresholdSlider1->GetValue(); - // DD(mArgsInfo.lower_arg); if (mRadioButtonLowerThan->isChecked()) { mArgsInfo.upper_given = 1; mArgsInfo.upper_arg = mThresholdSlider2->GetValue(); @@ -292,12 +301,12 @@ void vvToolBinarize::GetArgsInfoFromGUI() mArgsInfo.verbose_flag = false; - // Required (even if not used) - mArgsInfo.input_given = 0; - mArgsInfo.output_given = 0; + // // Required (even if not used) + // mArgsInfo.input_given = 0; + // mArgsInfo.output_given = 0; - mArgsInfo.input_arg = new char; - mArgsInfo.output_arg = new char; + // mArgsInfo.input_arg = new char; + // mArgsInfo.output_arg = new char; } //------------------------------------------------------------------------------ @@ -310,11 +319,10 @@ void vvToolBinarize::apply() GetArgsInfoFromGUI(); // Main filter - clitk::BinarizeImageGenericFilter::Pointer filter = - clitk::BinarizeImageGenericFilter::New(); + clitk::BinarizeImageGenericFilter::Pointer filter = + clitk::BinarizeImageGenericFilter::New(); filter->SetInputVVImage(mCurrentImage); filter->SetArgsInfo(mArgsInfo); - filter->EnableReadOnDisk(false); filter->Update(); // Output @@ -335,7 +343,7 @@ void vvToolBinarize::valueChangedT2(double v) if (mRadioButtonLowerThan->isChecked()) { mThresholdSlider1->SetMaximum(v); if (!mInteractiveDisplayIsEnabled) return; - for(int i=0;iNumberOfSlicers(); i++) { + for(int i=0;iGetNumberOfSlicers(); i++) { mImageContourLower[i]->Update(v); } mCurrentSlicerManager->Render(); @@ -352,7 +360,7 @@ void vvToolBinarize::valueChangedT1(double v) mThresholdSlider2->SetMinimum(v); // int m1 = (int)lrint(v); if (!mInteractiveDisplayIsEnabled) return; - for(int i=0;iNumberOfSlicers(); i++) { + for(int i=0;iGetNumberOfSlicers(); i++) { mImageContour[i]->Update(v); } mCurrentSlicerManager->Render();