]> Creatis software - clitk.git/blobdiff - segmentation/clitkExtractLymphStationsFilter.h
small improvement for S8
[clitk.git] / segmentation / clitkExtractLymphStationsFilter.h
index 0a9099b5b7fc53f52f4a669112b28c226e3fab06..773e3bd67066b215ea635511dfa31ef229ed34b7 100644 (file)
@@ -71,6 +71,7 @@ namespace clitk {
     typedef typename MaskImageType::PointType    MaskImagePointType; 
 
     typedef itk::Image<MaskImagePixelType, 2>    MaskSliceType;
+    typedef typename MaskSliceType::Pointer      MaskSlicePointer;
 
     /** ImageDimension constants */
     itkStaticConstMacro(ImageDimension, unsigned int, ImageType::ImageDimension);
@@ -91,11 +92,17 @@ namespace clitk {
     itkSetMacro(FuzzyThresholdForS8, double);
     itkGetConstMacro(FuzzyThresholdForS8, double);
 
+    itkSetMacro(InjectedThresholdForS8, double);
+    itkGetConstMacro(InjectedThresholdForS8, double);
+
     // Station 7
     itkSetMacro(FuzzyThreshold, double);
     itkGetConstMacro(FuzzyThreshold, double);
     itkSetMacro(Station7Filename, std::string);
     itkGetConstMacro(Station7Filename, std::string);
+    
+    bool GetComputeStation(std::string s);
+    void AddComputeStation(std::string station) ;
 
   protected:
     ExtractLymphStationsFilter();
@@ -110,7 +117,10 @@ namespace clitk {
     MaskImagePointer   m_Working_Support;
     std::map<std::string, MaskImagePointer> m_ListOfStations;
     MaskImagePixelType m_BackgroundValue;
-    MaskImagePixelType m_ForegroundValue;    
+    MaskImagePixelType m_ForegroundValue;
+    std::map<std::string, bool> m_ComputeStationMap;
+
+    bool CheckForStation(std::string station);
 
     // Station 8
     double m_DistanceMaxToAnteriorPartOfTheSpine;
@@ -118,16 +128,36 @@ namespace clitk {
     double m_CarinaZ;
     double m_OriginOfRightMiddleLobeBronchusZ;
     double m_FuzzyThresholdForS8;
+    double m_InjectedThresholdForS8;
+    MaskImagePointer m_Esophagus;
     MaskImagePointType m_EsophagusDiltationForAnt;
     MaskImagePointType m_EsophagusDiltationForRight;
     MaskImagePointer EnlargeEsophagusDilatationRadiusInferiorly(MaskImagePointer & eso);
     void ExtractStation_8();
+    void ExtractStation_8_SetDefaultValues();
     void ExtractStation_8_SI_Limits();
     void ExtractStation_8_Post_Limits();
-    void ExtractStation_8_Ant_Limits();
+    void ExtractStation_8_Ant_Sup_Limits();
+    void ExtractStation_8_Ant_Inf_Limits();
+    void ExtractStation_8_Ant_Injected_Limits();
+    void ExtractStation_8_LR_1_Limits();
+    void ExtractStation_8_LR_2_Limits();
+    void ExtractStation_8_Single_CCL_Limits();
     void ExtractStation_8_LR_Limits();
+    void ExtractStation_8_Remove_Structures();
     void ExtractStation_8_LR_Limits_old();
+    void ExtractStation_8_LR_Limits_old2();
+    
+    // Station 3P
+    void ExtractStation_3P();
+    void ExtractStation_3P_SetDefaultValues();
+    void ExtractStation_3P_SI_Limits();
+    void ExtractStation_3P_Remove_Structures();
+    void ExtractStation_3P_Ant_Limits();
+    void ExtractStation_3P_Post_Limits();
+    void ExtractStation_3P_LR_sup_Limits();
+    void ExtractStation_3P_LR_inf_Limits();
+
     // Station 7
     void ExtractStation_7();
     void ExtractStation_7_SI_Limits();
@@ -174,6 +204,7 @@ namespace clitk {
 #ifndef ITK_MANUAL_INSTANTIATION
 #include "clitkExtractLymphStationsFilter.txx"
 #include "clitkExtractLymphStation_8.txx"
+#include "clitkExtractLymphStation_3P.txx"
 #include "clitkExtractLymphStation_7.txx"
 #include "clitkExtractLymphStation_4RL.txx"
 #endif