From 6758dac6ca3cef16766cad1475b3806803ebe9cd Mon Sep 17 00:00:00 2001 From: David Sarrut Date: Fri, 3 Feb 2012 08:13:51 +0100 Subject: [PATCH] Moved from repository clitk to clitk.private/tests_dav --- ...itkLabelImageOverlapMeasureGenericFilter.h | 76 +++++++++++++ ...kLabelImageOverlapMeasureGenericFilter.txx | 100 ++++++++++++++++++ 2 files changed, 176 insertions(+) create mode 100644 tests_dav/clitkLabelImageOverlapMeasureGenericFilter.h create mode 100644 tests_dav/clitkLabelImageOverlapMeasureGenericFilter.txx diff --git a/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.h b/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.h new file mode 100644 index 0000000..a6f8028 --- /dev/null +++ b/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.h @@ -0,0 +1,76 @@ +/*========================================================================= + 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 +===========================================================================**/ + +#ifndef CLITKLABELIMAGEOVERLAPMEASUREGENERICFILTER_H +#define CLITKLABELIMAGEOVERLAPMEASUREGENERICFILTER_H + +// clitk +#include "clitkImageToImageGenericFilter.h" +#include "clitkLabelImageOverlapMeasureFilter.h" +#include "clitkBoundingBoxUtils.h" +#include "clitkCropLikeImageFilter.h" + +//-------------------------------------------------------------------- +namespace clitk +{ + + template + class ITK_EXPORT LabelImageOverlapMeasureGenericFilter: + public ImageToImageGenericFilter > + { + public: + //-------------------------------------------------------------------- + LabelImageOverlapMeasureGenericFilter(); + + //-------------------------------------------------------------------- + typedef ImageToImageGenericFilter > Superclass; + typedef LabelImageOverlapMeasureGenericFilter Self; + typedef itk::SmartPointer Pointer; + typedef itk::SmartPointer ConstPointer; + + //-------------------------------------------------------------------- + itkNewMacro(Self); + itkTypeMacro(LabelImageOverlapMeasureGenericFilter, LightObject); + + //-------------------------------------------------------------------- + void SetArgsInfo(const ArgsInfoType & a); + template + void SetOptionsFromArgsInfoToFilter(FilterType * f) ; + + //-------------------------------------------------------------------- + // Main function called each time the filter is updated + template + void UpdateWithInputImageType(); + + protected: + template void InitializeImageType(); + ArgsInfoType mArgsInfo; + + private: + LabelImageOverlapMeasureGenericFilter(const Self&); //purposely not implemented + void operator=(const Self&); //purposely not implemented + + };// end class + //-------------------------------------------------------------------- +} // end namespace clitk + +#ifndef ITK_MANUAL_INSTANTIATION +#include "clitkLabelImageOverlapMeasureGenericFilter.txx" +#endif + +#endif // #define CLITKRELATIVEPOSITIONANALYZERGENERICFILTER_H diff --git a/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.txx b/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.txx new file mode 100644 index 0000000..bb1b6eb --- /dev/null +++ b/tests_dav/clitkLabelImageOverlapMeasureGenericFilter.txx @@ -0,0 +1,100 @@ +/*========================================================================= + 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 + ===========================================================================**/ + +//-------------------------------------------------------------------- +template +clitk::LabelImageOverlapMeasureGenericFilter:: +LabelImageOverlapMeasureGenericFilter(): + ImageToImageGenericFilter("LabelImageOverlapMeasure") +{ + // Default values + cmdline_parser_clitkLabelImageOverlapMeasure_init(&mArgsInfo); + //InitializeImageType<2>(); + InitializeImageType<3>(); +} +//-------------------------------------------------------------------- + + +//-------------------------------------------------------------------- +template +template +void clitk::LabelImageOverlapMeasureGenericFilter:: +InitializeImageType() +{ + ADD_IMAGE_TYPE(Dim, uchar); +} +//-------------------------------------------------------------------- + + +//-------------------------------------------------------------------- +template +void clitk::LabelImageOverlapMeasureGenericFilter:: +SetArgsInfo(const ArgsInfoType & a) +{ + mArgsInfo=a; + SetIOVerbose(mArgsInfo.verbose_flag); + if (mArgsInfo.imagetypes_flag) this->PrintAvailableImageTypes(); + if (mArgsInfo.input1_given) AddInputFilename(mArgsInfo.input1_arg); + if (mArgsInfo.input2_given) AddInputFilename(mArgsInfo.input2_arg); +} +//-------------------------------------------------------------------- + + +//-------------------------------------------------------------------- +// Update with the number of dimensions and the pixeltype +//-------------------------------------------------------------------- +template +template +void clitk::LabelImageOverlapMeasureGenericFilter:: +SetOptionsFromArgsInfoToFilter(FilterType * f) +{ + f->SetLabel1(mArgsInfo.label1_arg); + f->SetLabel2(mArgsInfo.label2_arg); +} + +//-------------------------------------------------------------------- +// Update with the number of dimensions and the pixeltype +//-------------------------------------------------------------------- +template +template +void clitk::LabelImageOverlapMeasureGenericFilter:: +UpdateWithInputImageType() +{ + // Reading input + typename ImageType::Pointer input1 = this->template GetInput(0); + typename ImageType::Pointer input2 = this->template GetInput(1); + + // Create filter + typedef clitk::LabelImageOverlapMeasureFilter FilterType; + typename FilterType::Pointer filter = FilterType::New(); + + // 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); +} +//-------------------------------------------------------------------- + + -- 2.47.1