X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkExtractBonesFilter.h;h=e630f1a5fc4bf738b5d69d667859405e038aadb0;hb=56ae68bbe5b50ad1ea8b6846f43f322d4aa36b70;hp=e803e5a64fb6ce47f51613bd5d661fcf1c74dc41;hpb=5668d4a49a5a6b68dc80fa28f0f82b54187cb70c;p=clitk.git diff --git a/segmentation/clitkExtractBonesFilter.h b/segmentation/clitkExtractBonesFilter.h index e803e5a..e630f1a 100644 --- a/segmentation/clitkExtractBonesFilter.h +++ b/segmentation/clitkExtractBonesFilter.h @@ -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_H #define CLITKEXTRACTBONESSFILTER_H @@ -33,7 +33,8 @@ namespace clitk { //-------------------------------------------------------------------- /* - Extract bony anatomy through thresholding and connected component labelling. + Extract bony anatomy through thresholding and connected component + labelling. */ //-------------------------------------------------------------------- @@ -86,82 +87,68 @@ namespace clitk { /** Connect inputs */ void SetInput(const InputImageType * image); - // Set all options at a time - template - void SetArgsInfo(ArgsInfoType arg); - // Background / Foreground itkGetConstMacro(BackgroundValue, MaskImagePixelType); itkGetConstMacro(ForegroundValue, MaskImagePixelType); itkSetMacro(MinimalComponentSize, int); itkGetConstMacro(MinimalComponentSize, int); - GGO_DefineOption(minSize, SetMinimalComponentSize, int); // Output filename (for AFBD) itkSetMacro(OutputBonesFilename, std::string); itkGetMacro(OutputBonesFilename, std::string); - GGO_DefineOption(output, SetOutputBonesFilename, std::string); // Step 0 itkBooleanMacro(InitialSmoothing); itkSetMacro(InitialSmoothing, bool); itkGetMacro(InitialSmoothing, bool); - GGO_DefineOption_Flag(smooth, SetInitialSmoothing); itkSetMacro(SmoothingConductanceParameter, double); itkGetConstMacro(SmoothingConductanceParameter, double); - GGO_DefineOption(cond, SetSmoothingConductanceParameter, double); itkSetMacro(SmoothingNumberOfIterations, int); itkGetConstMacro(SmoothingNumberOfIterations, int); - GGO_DefineOption(iter, SetSmoothingNumberOfIterations, int); itkSetMacro(SmoothingTimeStep, double); itkGetConstMacro(SmoothingTimeStep, double); - GGO_DefineOption(time, SetSmoothingTimeStep, double); itkSetMacro(SmoothingUseImageSpacing, bool); itkGetConstMacro(SmoothingUseImageSpacing, bool); itkBooleanMacro(SmoothingUseImageSpacing); - GGO_DefineOption_Flag(spacing, SetSmoothingUseImageSpacing); // Step 1 itkSetMacro(UpperThreshold1, InputImagePixelType); itkGetMacro(UpperThreshold1, InputImagePixelType); - GGO_DefineOption(upper1, SetUpperThreshold1, InputImagePixelType); itkSetMacro(LowerThreshold1, InputImagePixelType); itkGetMacro(LowerThreshold1, InputImagePixelType); - GGO_DefineOption(lower1, SetLowerThreshold1, InputImagePixelType); itkSetMacro(FullConnectivity, bool); itkGetConstMacro(FullConnectivity, bool); itkBooleanMacro(FullConnectivity); - GGO_DefineOption_Flag(full, SetFullConnectivity); // Step 2 itkSetMacro(UpperThreshold2, InputImagePixelType); itkGetMacro(UpperThreshold2, InputImagePixelType); - GGO_DefineOption(upper2, SetUpperThreshold2, InputImagePixelType); itkSetMacro(LowerThreshold2, InputImagePixelType); itkGetMacro(LowerThreshold2, InputImagePixelType); - GGO_DefineOption(lower2, SetLowerThreshold2, InputImagePixelType); itkSetMacro(Radius2, InputImageSizeType); itkGetConstMacro(Radius2, InputImageSizeType); - GGO_DefineOption_Vector(radius2, SetRadius2, InputImageSizeType, ImageDimension, true); itkSetMacro(SampleRate2, int); itkGetConstMacro(SampleRate2, int); - GGO_DefineOption(sampleRate2, SetSampleRate2, int); - // Final Step + // Step fill holes + itkSetMacro(FillHoles, bool); + itkGetConstMacro(FillHoles, bool); + itkBooleanMacro(FillHoles); + + // Step Auto Crop itkSetMacro(AutoCrop, bool); itkGetConstMacro(AutoCrop, bool); itkBooleanMacro(AutoCrop); - GGO_DefineOption_Flag(noAutoCrop, SetAutoCrop); protected: ExtractBonesFilter(); @@ -193,6 +180,10 @@ namespace clitk { InputImageSizeType m_Radius2; int m_SampleRate2; + // Step + bool m_FillHoles; + InputImageSizeType m_FillHolesDirections; + virtual void GenerateOutputInformation(); virtual void GenerateData();