X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkExtractLungFilter.h;h=ead4d988f36597401d3684ada7e69da62ee68851;hb=6808027e48645d72771bbb0e342e8be47dd0ea92;hp=fa472ba711db3bff2c7ed8094380fc6b3505936c;hpb=6194949c0beb1589904e22381b9aba1bbface172;p=clitk.git diff --git a/segmentation/clitkExtractLungFilter.h b/segmentation/clitkExtractLungFilter.h index fa472ba..ead4d98 100644 --- a/segmentation/clitkExtractLungFilter.h +++ b/segmentation/clitkExtractLungFilter.h @@ -142,6 +142,9 @@ namespace clitk { void SetLabelizeParameters1(LabelParamType * a) { m_LabelizeParameters1 = a; } itkGetConstMacro(LabelizeParameters1, LabelParamType*); + + itkSetMacro(TracheaSeedAlgorithm, int); + itkGetConstMacro(TracheaSeedAlgorithm, int); // Step 2 options FindTrachea itkSetMacro(UpperThresholdForTrachea, InputImagePixelType); @@ -153,6 +156,14 @@ namespace clitk { itkSetMacro(ThresholdStepSizeForTrachea, InputImagePixelType); itkGetConstMacro(ThresholdStepSizeForTrachea, InputImagePixelType); + // options FindTrachea2 + itkSetMacro(NumSlices, int); + itkGetConstMacro(NumSlices, int); + itkSetMacro(MaxElongation, double); + itkGetConstMacro(MaxElongation, double); + itkSetMacro(SeedPreProcessingThreshold, int); + itkGetConstMacro(SeedPreProcessingThreshold, int); + void AddSeed(InternalIndexType s); std::vector & GetSeeds() { return m_Seeds; } @@ -191,11 +202,16 @@ namespace clitk { itkGetConstMacro(FillHolesFlag, bool); itkBooleanMacro(FillHolesFlag); + // Separate lungs + itkSetMacro(SeparateLungsFlag, bool); + itkGetConstMacro(SeparateLungsFlag, bool); + itkBooleanMacro(SeparateLungsFlag); + // Step Auto Crop itkSetMacro(AutoCrop, bool); itkGetConstMacro(AutoCrop, bool); itkBooleanMacro(AutoCrop); - + protected: ExtractLungFilter(); virtual ~ExtractLungFilter() {} @@ -226,6 +242,7 @@ namespace clitk { LabelParamType* m_LabelizeParameters1; // Step 2 + int m_TracheaSeedAlgorithm; InputImagePixelType m_UpperThresholdForTrachea; InputImagePixelType m_ThresholdStepSizeForTrachea; double m_MultiplierForTrachea; @@ -233,6 +250,9 @@ namespace clitk { int m_NumberOfSlicesToSkipBeforeSearchingSeed; bool m_TracheaVolumeMustBeCheckedFlag; bool m_VerboseRegionGrowingFlag; + int m_NumSlices; + double m_MaxElongation; + int m_SeedPreProcessingThreshold; // Step 3 int m_NumberOfHistogramBins; @@ -250,6 +270,8 @@ namespace clitk { bool m_FillHolesFlag; InputImageSizeType m_FillHolesDirections; + bool m_SeparateLungsFlag; + // Main functions virtual void GenerateOutputInformation(); virtual void GenerateInputRequestedRegion(); @@ -257,6 +279,7 @@ namespace clitk { // Functions for trachea extraction bool SearchForTracheaSeed(int skip); + bool SearchForTracheaSeed2(int numberOfSlices); void SearchForTrachea(); void TracheaRegionGrowing(); double ComputeTracheaVolume();