]> Creatis software - clitk.git/commitdiff
Updated dice tool
authorDavid Sarrut <david.sarrut@creatis.insa-lyon.fr>
Mon, 22 Jul 2013 12:57:05 +0000 (14:57 +0200)
committerDavid Sarrut <david.sarrut@creatis.insa-lyon.fr>
Mon, 22 Jul 2013 13:00:59 +0000 (15:00 +0200)
tests_dav/clitkDice.cxx [new file with mode: 0644]
tests_dav/clitkDice.ggo [new file with mode: 0644]
tests_dav/clitkLabelImageOverlapMeasureGenericFilter.h
tests_dav/clitkLabelImageOverlapMeasureGenericFilter.txx

diff --git a/tests_dav/clitkDice.cxx b/tests_dav/clitkDice.cxx
new file mode 100644 (file)
index 0000000..121bcb4
--- /dev/null
@@ -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<args_info_clitkDice> 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 (file)
index 0000000..3fcaeaf
--- /dev/null
@@ -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"
index a6f8028cbe4fc32ac3597b3c2d042997f268fd91..05332ea4e87cb338cce11ffa5e2a43d48037cb92 100644 (file)
@@ -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
 #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<class ArgsInfoType>
@@ -36,25 +36,25 @@ namespace clitk
   public:
     //--------------------------------------------------------------------
     LabelImageOverlapMeasureGenericFilter();
-  
+
     //--------------------------------------------------------------------
     typedef ImageToImageGenericFilter<LabelImageOverlapMeasureGenericFilter<ArgsInfoType> > Superclass;
     typedef LabelImageOverlapMeasureGenericFilter Self;
     typedef itk::SmartPointer<Self>       Pointer;
     typedef itk::SmartPointer<const Self> ConstPointer;
-   
+
     //--------------------------------------------------------------------
-    itkNewMacro(Self);  
+    itkNewMacro(Self);
     itkTypeMacro(LabelImageOverlapMeasureGenericFilter, LightObject);
 
     //--------------------------------------------------------------------
     void SetArgsInfo(const ArgsInfoType & a);
-    template<class FilterType> 
+    template<class FilterType>
       void SetOptionsFromArgsInfoToFilter(FilterType * f) ;
 
     //--------------------------------------------------------------------
     // Main function called each time the filter is updated
-    template<class ImageType>  
+    template<class ImageType>
     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
index d27340f2d59e0142d1bf85cb16c96bcdb3a9b110..1ac11ee9732201af342208b890c6b34cbf170fbf 100644 (file)
@@ -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<Self>("LabelImageOverlapMeasure")
 {
   // Default values
-  cmdline_parser_clitkLabelImageOverlapMeasure_init(&mArgsInfo);
+  cmdline_parser_clitkDice_init(&mArgsInfo);
   //InitializeImageType<2>();
   InitializeImageType<3>();
 }
@@ -34,20 +34,20 @@ LabelImageOverlapMeasureGenericFilter():
 template<class ArgsInfoType>
 template<unsigned int Dim>
 void clitk::LabelImageOverlapMeasureGenericFilter<ArgsInfoType>::
-InitializeImageType() 
-{  
+InitializeImageType()
+{
   ADD_IMAGE_TYPE(Dim, uchar);
 }
 //--------------------------------------------------------------------
-  
+
 
 //--------------------------------------------------------------------
 template<class ArgsInfoType>
 void clitk::LabelImageOverlapMeasureGenericFilter<ArgsInfoType>::
-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<class ArgsInfoType>
 template<class FilterType>
 void clitk::LabelImageOverlapMeasureGenericFilter<ArgsInfoType>::
-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<class ArgsInfoType>
 template<class ImageType>
 void clitk::LabelImageOverlapMeasureGenericFilter<ArgsInfoType>::
-UpdateWithInputImageType() 
-{ 
+UpdateWithInputImageType()
+{
   // Reading input
   typename ImageType::Pointer input1 = this->template GetInput<ImageType>(0);
   typename ImageType::Pointer input2 = this->template GetInput<ImageType>(1);
@@ -82,19 +86,17 @@ UpdateWithInputImageType()
   // Create filter
   typedef clitk::LabelImageOverlapMeasureFilter<ImageType> FilterType;
   typename FilterType::Pointer filter = FilterType::New();
-  
-  // Set global Options 
+
+  // Set global Options
   filter->SetInput(0, input1);
   filter->SetInput(1, input2);
   SetOptionsFromArgsInfoToFilter<FilterType>(filter);
 
   // Go !
   filter->Update();
-  
+
   // Write/Save results
   // typename ImageType::Pointer output = filter->GetOutput();
-  // this->template SetNextOutput<ImageType>(output); 
+  // this->template SetNextOutput<ImageType>(output);
 }
 //--------------------------------------------------------------------
-
-