From: David Sarrut Date: Mon, 22 Jul 2013 12:57:05 +0000 (+0200) Subject: Updated dice tool X-Git-Tag: v1.4.0~164^2~45 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=88f7e07d9e249717b29a008d064b3718965fd58e;p=clitk.git Updated dice tool --- diff --git a/tests_dav/clitkDice.cxx b/tests_dav/clitkDice.cxx new file mode 100644 index 0000000..121bcb4 --- /dev/null +++ b/tests_dav/clitkDice.cxx @@ -0,0 +1,47 @@ +/*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv + + Authors belong to: + - University of LYON http://www.universite-lyon.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 + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the copyright notices for more information. + + It is distributed under dual licence + + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +===========================================================================**/ + +// clitk +#include "clitkIO.h" +#include "clitkDice_ggo.h" + +#include "clitkLabelImageOverlapMeasureGenericFilter.h" + +//-------------------------------------------------------------------- +int main(int argc, char * argv[]) { + + // Init command line + GGO(clitkDice, args_info); + CLITK_INIT; + + // Filter + typedef clitk::LabelImageOverlapMeasureGenericFilter FilterType; + FilterType::Pointer filter = FilterType::New(); + + filter->SetArgsInfo(args_info); + + try { + filter->Update(); + } catch(std::runtime_error e) { + std::cout << e.what() << std::endl; + return EXIT_FAILURE; + } + + return EXIT_SUCCESS; +} // This is the end, my friend +//-------------------------------------------------------------------- diff --git a/tests_dav/clitkDice.ggo b/tests_dav/clitkDice.ggo new file mode 100644 index 0000000..3fcaeaf --- /dev/null +++ b/tests_dav/clitkDice.ggo @@ -0,0 +1,17 @@ +#File clitkDice.ggo +package "clitkDice" +version "1.0" +purpose "Compute Dice between labeled images. Background must be 0." + +section "General options" +option "config" - "Config file" string no +option "verbose" v "Verbose" flag off +option "imagetypes" - "Display allowed image types" flag off +option "long" l "Long display (not only dice)" flag off + +section "Input" +option "input1" i "Input mask 1" string yes +option "input2" j "Input mask 2" string yes + +option "label1" - "Label in input1" int no default="1" +option "label2" - "Label in input2" int no default="1" diff --git a/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.h b/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.h index a6f8028..05332ea 100644 --- a/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.h +++ b/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.h @@ -1,7 +1,7 @@ /*========================================================================= Program: vv http://www.creatis.insa-lyon.fr/rio/vv - Authors belong to: + Authors belong to: - University of LYON http://www.universite-lyon.fr/ - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr @@ -19,14 +19,14 @@ #ifndef CLITKLABELIMAGEOVERLAPMEASUREGENERICFILTER_H #define CLITKLABELIMAGEOVERLAPMEASUREGENERICFILTER_H -// clitk +// clitk #include "clitkImageToImageGenericFilter.h" #include "clitkLabelImageOverlapMeasureFilter.h" #include "clitkBoundingBoxUtils.h" #include "clitkCropLikeImageFilter.h" //-------------------------------------------------------------------- -namespace clitk +namespace clitk { template @@ -36,25 +36,25 @@ namespace clitk public: //-------------------------------------------------------------------- LabelImageOverlapMeasureGenericFilter(); - + //-------------------------------------------------------------------- typedef ImageToImageGenericFilter > Superclass; typedef LabelImageOverlapMeasureGenericFilter Self; typedef itk::SmartPointer Pointer; typedef itk::SmartPointer ConstPointer; - + //-------------------------------------------------------------------- - itkNewMacro(Self); + itkNewMacro(Self); itkTypeMacro(LabelImageOverlapMeasureGenericFilter, LightObject); //-------------------------------------------------------------------- void SetArgsInfo(const ArgsInfoType & a); - template + template void SetOptionsFromArgsInfoToFilter(FilterType * f) ; //-------------------------------------------------------------------- // Main function called each time the filter is updated - template + template void UpdateWithInputImageType(); protected: @@ -64,7 +64,7 @@ namespace clitk private: LabelImageOverlapMeasureGenericFilter(const Self&); //purposely not implemented void operator=(const Self&); //purposely not implemented - + };// end class //-------------------------------------------------------------------- } // end namespace clitk diff --git a/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.txx b/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.txx index d27340f..1ac11ee 100644 --- a/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.txx +++ b/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.txx @@ -1,7 +1,7 @@ /*========================================================================= Program: vv http://www.creatis.insa-lyon.fr/rio/vv - Authors belong to: + Authors belong to: - University of LYON http://www.universite-lyon.fr/ - Léon Bérard cancer center http://www.centreleonberard.fr - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr @@ -23,7 +23,7 @@ LabelImageOverlapMeasureGenericFilter(): ImageToImageGenericFilter("LabelImageOverlapMeasure") { // Default values - cmdline_parser_clitkLabelImageOverlapMeasure_init(&mArgsInfo); + cmdline_parser_clitkDice_init(&mArgsInfo); //InitializeImageType<2>(); InitializeImageType<3>(); } @@ -34,20 +34,20 @@ LabelImageOverlapMeasureGenericFilter(): template template void clitk::LabelImageOverlapMeasureGenericFilter:: -InitializeImageType() -{ +InitializeImageType() +{ ADD_IMAGE_TYPE(Dim, uchar); } //-------------------------------------------------------------------- - + //-------------------------------------------------------------------- template void clitk::LabelImageOverlapMeasureGenericFilter:: -SetArgsInfo(const ArgsInfoType & a) +SetArgsInfo(const ArgsInfoType & a) { mArgsInfo=a; - this->SetIOVerbose(mArgsInfo.verbose_flag); + //this->SetIOVerbose(mArgsInfo.verbose_flag); if (mArgsInfo.imagetypes_flag) this->PrintAvailableImageTypes(); if (mArgsInfo.input1_given) this->AddInputFilename(mArgsInfo.input1_arg); if (mArgsInfo.input2_given) this->AddInputFilename(mArgsInfo.input2_arg); @@ -61,11 +61,15 @@ SetArgsInfo(const ArgsInfoType & a) template template void clitk::LabelImageOverlapMeasureGenericFilter:: -SetOptionsFromArgsInfoToFilter(FilterType * f) +SetOptionsFromArgsInfoToFilter(FilterType * f) { - f->SetLabel1(mArgsInfo.label1_arg); - f->SetLabel2(mArgsInfo.label2_arg); + f->SetLabel1(mArgsInfo.label1_arg); + f->SetLabel2(mArgsInfo.label2_arg); + f->SetVerboseFlag(mArgsInfo.verbose_flag); + f->SetLongFlag(mArgsInfo.long_flag); } +//-------------------------------------------------------------------- + //-------------------------------------------------------------------- // Update with the number of dimensions and the pixeltype @@ -73,8 +77,8 @@ SetOptionsFromArgsInfoToFilter(FilterType * f) template template void clitk::LabelImageOverlapMeasureGenericFilter:: -UpdateWithInputImageType() -{ +UpdateWithInputImageType() +{ // Reading input typename ImageType::Pointer input1 = this->template GetInput(0); typename ImageType::Pointer input2 = this->template GetInput(1); @@ -82,19 +86,17 @@ UpdateWithInputImageType() // Create filter typedef clitk::LabelImageOverlapMeasureFilter FilterType; typename FilterType::Pointer filter = FilterType::New(); - - // Set global Options + + // Set global Options filter->SetInput(0, input1); filter->SetInput(1, input2); SetOptionsFromArgsInfoToFilter(filter); // Go ! filter->Update(); - + // Write/Save results // typename ImageType::Pointer output = filter->GetOutput(); - // this->template SetNextOutput(output); + // this->template SetNextOutput(output); } //-------------------------------------------------------------------- - -