X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkExtractPatientGenericFilter.txx;h=8cde3f5be4e85d8bd4dad97b73481d43299f74bf;hb=9c1c3b2a6def6a7ee512919c105ceea8939e7f66;hp=e2b2e976e501529c85150a346f0c74523154ae26;hpb=5668d4a49a5a6b68dc80fa28f0f82b54187cb70c;p=clitk.git diff --git a/segmentation/clitkExtractPatientGenericFilter.txx b/segmentation/clitkExtractPatientGenericFilter.txx index e2b2e97..8cde3f5 100644 --- a/segmentation/clitkExtractPatientGenericFilter.txx +++ b/segmentation/clitkExtractPatientGenericFilter.txx @@ -55,6 +55,59 @@ void clitk::ExtractPatientGenericFilter::SetArgsInfo(const ArgsInf //-------------------------------------------------------------------- +//-------------------------------------------------------------------- +template +template +void +clitk::ExtractPatientGenericFilter:: +SetOptionsFromArgsInfoToFilter(FilterType * f) +{ + f->SetVerboseOptionFlag(mArgsInfo.verbose_flag); + f->SetVerboseStepFlag(mArgsInfo.verboseStep_flag); + f->SetWriteStepFlag(mArgsInfo.writeStep_flag); + f->SetVerboseWarningFlag(!mArgsInfo.verboseWarningOff_flag); + f->SetVerboseMemoryFlag(mArgsInfo.verboseMemory_flag); + + if (mArgsInfo.afdb_given) + f->SetAFDBFilename(mArgsInfo.afdb_arg); + + f->SetOutputPatientFilename(mArgsInfo.output_arg); + + f->SetUpperThreshold(mArgsInfo.upper_arg); + f->SetLowerThreshold(mArgsInfo.lower_arg); + + f->SetDecomposeAndReconstructDuringFirstStep(mArgsInfo.erode1_flag); + + // Convert to SizeType + typename FilterType::InputImageSizeType s; + if (mArgsInfo.radius1_given) { + ConvertOptionMacro(mArgsInfo.radius1, s, 3, false); + f->SetRadius1(s); + } + + f->SetMaximumNumberOfLabels1(mArgsInfo.max1_arg); + f->SetNumberOfNewLabels1(mArgsInfo.new1_arg); + + f->SetDecomposeAndReconstructDuringSecondStep(mArgsInfo.erode2_flag); + + // Convert to SizeType + if (mArgsInfo.radius2_given) { + ConvertOptionMacro(mArgsInfo.radius2, s, 3, false); + f->SetRadius2(s); + } + + f->SetMaximumNumberOfLabels2(mArgsInfo.max2_arg); + f->SetNumberOfNewLabels2(mArgsInfo.new2_arg); + + f->SetFirstKeep(mArgsInfo.firstKeep_arg); + f->SetLastKeep(mArgsInfo.lastKeep_arg); + + f->SetFinalOpenClose(mArgsInfo.openClose_flag); + f->SetAutoCrop(!mArgsInfo.noAutoCrop_flag); +} +//-------------------------------------------------------------------- + + //-------------------------------------------------------------------- // Update with the number of dimensions and the pixeltype //-------------------------------------------------------------------- @@ -76,8 +129,8 @@ void clitk::ExtractPatientGenericFilter::UpdateWithInputImageType( this->SetFilterBase(filter); // Set global Options - filter->SetArgsInfo(mArgsInfo); filter->SetInput(input); + SetOptionsFromArgsInfoToFilter(filter); // Go ! filter->Update();