X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkExtractAirwaysTreeInfoGenericFilter.txx;fp=segmentation%2FclitkExtractAirwaysTreeInfoGenericFilter.txx;h=3f802fc5fe2ac1a4ee31844f9524e9ce22dc5753;hb=4fd095bff2ac4dde50817d37522d2360e7b7e6c2;hp=0000000000000000000000000000000000000000;hpb=44ebb81a500e42cf19964d209e14a59812a0dd4d;p=clitk.git diff --git a/segmentation/clitkExtractAirwaysTreeInfoGenericFilter.txx b/segmentation/clitkExtractAirwaysTreeInfoGenericFilter.txx new file mode 100644 index 0000000..3f802fc --- /dev/null +++ b/segmentation/clitkExtractAirwaysTreeInfoGenericFilter.txx @@ -0,0 +1,93 @@ +/*========================================================================= + 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://oncora1.lyon.fnclcc.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 CLITKEXTRACTAIRWAYTREEINFOSGENERICFILTER_TXX +#define CLITKEXTRACTAIRWAYTREEINFOSGENERICFILTER_TXX + +#include "clitkImageCommon.h" + +//-------------------------------------------------------------------- +template +clitk::ExtractAirwaysTreeInfoGenericFilter::ExtractAirwaysTreeInfoGenericFilter(): + ImageToImageGenericFilter("ExtractAirwaysTreeInfo") +{ + this->SetFilterBase(NULL); + // Default values + cmdline_parser_clitkExtractAirwaysTreeInfo_init(&mArgsInfo); + InitializeImageType<3>(); +} +//-------------------------------------------------------------------- + + +//-------------------------------------------------------------------- +template +template +void clitk::ExtractAirwaysTreeInfoGenericFilter::InitializeImageType() +{ + ADD_IMAGE_TYPE(Dim, uchar); + // ADD_IMAGE_TYPE(Dim, int); + // ADD_IMAGE_TYPE(Dim, float); +} +//-------------------------------------------------------------------- + + +//-------------------------------------------------------------------- +template +void clitk::ExtractAirwaysTreeInfoGenericFilter::SetArgsInfo(const ArgsInfoType & a) +{ + mArgsInfo=a; + SetIOVerbose(mArgsInfo.verbose_flag); + if (mArgsInfo.imagetypes_flag) this->PrintAvailableImageTypes(); + if (mArgsInfo.input_given) AddInputFilename(mArgsInfo.input_arg); + if (mArgsInfo.output_given) AddOutputFilename(mArgsInfo.output_arg); +} +//-------------------------------------------------------------------- + + +//-------------------------------------------------------------------- +// Update with the number of dimensions and the pixeltype +//-------------------------------------------------------------------- +template +template +void clitk::ExtractAirwaysTreeInfoGenericFilter::UpdateWithInputImageType() +{ + // Reading input + typename ImageType::Pointer input = this->template GetInput(0); + + // Create filter + typedef clitk::ExtractAirwaysTreeInfoFilter FilterType; + typename FilterType::Pointer filter = FilterType::New(); + + // Set the filter (needed for example for threaded monitoring) + this->SetFilterBase(filter); + + // Set global Options + filter->SetArgsInfo(mArgsInfo); + filter->SetInput(input); + + // Go ! + filter->Update(); + + // Write/Save results + typename ImageType::Pointer output = filter->GetOutput(); + this->template SetNextOutput(output); + filter->WriteAFDB(); +} +//-------------------------------------------------------------------- + +#endif //#define CLITKEXTRACTAIRWAYTREEINFOSGENERICFILTER_TXX