X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkExtractBonesFilter.txx;h=e00945e14fcc9cdcb98903b4cf988f191ebd06e3;hb=b50c4ae3e2850ad593d2c991b56e04ed22748f99;hp=3e8cc491c63e5c4200bca7f8d5c79f4b43229dc6;hpb=5668d4a49a5a6b68dc80fa28f0f82b54187cb70c;p=clitk.git diff --git a/segmentation/clitkExtractBonesFilter.txx b/segmentation/clitkExtractBonesFilter.txx index 3e8cc49..e00945e 100644 --- a/segmentation/clitkExtractBonesFilter.txx +++ b/segmentation/clitkExtractBonesFilter.txx @@ -3,7 +3,7 @@ Authors belong to: - University of LYON http://www.universite-lyon.fr/ - - Léon Bérard cancer center http://oncora1.lyon.fnclcc.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 @@ -14,7 +14,7 @@ - BSD See included LICENSE.txt file - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html - ======================================================================-====*/ + ===========================================================================**/ #ifndef CLITKEXTRACTBONESSFILTER_TXX #define CLITKEXTRACTBONESSFILTER_TXX @@ -24,6 +24,7 @@ #include "clitkSetBackgroundImageFilter.h" #include "clitkSegmentationUtils.h" #include "clitkAutoCropFilter.h" +#include "clitkFillMaskFilter.h" // itk #include "itkBinaryThresholdImageFilter.h" @@ -63,6 +64,7 @@ ExtractBonesFilter(): SetRadius2(s); SetSampleRate2(0); AutoCropOn(); + FillHolesOn(); } //-------------------------------------------------------------------- @@ -78,41 +80,6 @@ SetInput(const TInputImageType * image) //-------------------------------------------------------------------- -//-------------------------------------------------------------------- -template -template -void -clitk::ExtractBonesFilter:: -SetArgsInfo(ArgsInfoType mArgsInfo) -{ - SetVerboseOption_GGO(mArgsInfo); - SetVerboseStep_GGO(mArgsInfo); - SetWriteStep_GGO(mArgsInfo); - SetVerboseWarningOff_GGO(mArgsInfo); - - SetOutputBonesFilename_GGO(mArgsInfo); - - SetInitialSmoothing_GGO(mArgsInfo); - SetSmoothingConductanceParameter_GGO(mArgsInfo); - SetSmoothingNumberOfIterations_GGO(mArgsInfo); - SetSmoothingTimeStep_GGO(mArgsInfo); - SetSmoothingUseImageSpacing_GGO(mArgsInfo); - - SetMinimalComponentSize_GGO(mArgsInfo); - SetUpperThreshold1_GGO(mArgsInfo); - SetLowerThreshold1_GGO(mArgsInfo); - SetFullConnectivity_GGO(mArgsInfo); - - SetUpperThreshold2_GGO(mArgsInfo); - SetLowerThreshold2_GGO(mArgsInfo); - SetRadius2_GGO(mArgsInfo); - SetSampleRate2_GGO(mArgsInfo); - SetAutoCrop_GGO(mArgsInfo); - - SetAFDBFilename_GGO(mArgsInfo); -} -//-------------------------------------------------------------------- - //-------------------------------------------------------------------- template @@ -262,6 +229,20 @@ GenerateOutputInformation() { output = setBackgroundFilter->GetOutput(); + //-------------------------------------------------------------------- + //-------------------------------------------------------------------- + // Fill Bones + if (GetFillHoles()) { + StartNewStep("Fill Holes"); + typedef clitk::FillMaskFilter FillMaskFilterType; + typename FillMaskFilterType::Pointer fillMaskFilter = FillMaskFilterType::New(); + fillMaskFilter->SetInput(output); + fillMaskFilter->AddDirection(2); + fillMaskFilter->Update(); + output = fillMaskFilter->GetOutput(); + StopCurrentStep(output); + } + //-------------------------------------------------------------------- //-------------------------------------------------------------------- // [Optional] @@ -297,7 +278,7 @@ GenerateData() { this->GraftOutput(caster->GetOutput()); // Store image filenames into AFDB - GetAFDB()->SetImageFilename("bones", this->GetOutputBonesFilename()); + GetAFDB()->SetImageFilename("Bones", this->GetOutputBonesFilename()); WriteAFDB(); return; }