+ MaskImagePixelType m_ForegroundValue;
+ std::map<std::string, bool> m_ComputeStationMap;
+
+ bool CheckForStation(std::string station);
+ void Remove_Structures(std::string station, std::string s);
+
+ // Functions common to several stations
+ void FindLineForS7S8Separation(MaskImagePointType & A, MaskImagePointType & B);
+ double FindCarinaSlicePosition();
+ void FindLeftAndRightBronchi();
+
+ // Global parameters
+ typedef std::map<std::string, double> FuzzyThresholdByStructureType;
+ std::map<std::string, FuzzyThresholdByStructureType> m_FuzzyThreshold;
+
+ // Station's supports
+ void ExtractStationSupports();
+
+ // Station 8
+ // double m_DistanceMaxToAnteriorPartOfTheSpine;
+ double m_DiaphragmInferiorLimit;
+ double m_CarinaZ;
+ double m_OriginOfRightMiddleLobeBronchusZ;
+ double m_InjectedThresholdForS8;
+ MaskImagePointer m_Esophagus;
+ MaskImagePointType m_EsophagusDiltationForAnt;
+ MaskImagePointType m_EsophagusDiltationForRight;
+
+ void ExtractStation_8();
+ void ExtractStation_8_SetDefaultValues();
+ void ExtractStation_8_SI_Limits();
+ void ExtractStation_8_Ant_Limits();
+ void ExtractStation_8_Left_Sup_Limits();
+ void ExtractStation_8_Left_Inf_Limits();
+ void ExtractStation_8_Single_CCL_Limits();
+ void ExtractStation_8_Remove_Structures();
+
+ // 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_sup_Limits_2();
+ void ExtractStation_3P_LR_inf_Limits();
+
+ // Station 2RL
+ void ExtractStation_2RL();
+ void ExtractStation_2RL_SetDefaultValues();
+ void ExtractStation_2RL_SI_Limits();
+ void ExtractStation_2RL_Ant_Limits();
+ void ExtractStation_2RL_Ant_Limits2();
+ void ExtractStation_2RL_Post_Limits();
+ void ExtractStation_2RL_LR_Limits();
+ void ExtractStation_2RL_Remove_Structures();
+ void ExtractStation_2RL_SeparateRL();
+ vtkSmartPointer<vtkPolyData> Build3DMeshFrom2DContour(const std::vector<ImagePointType> & points);
+
+ // Station 3A
+ void ExtractStation_3A();
+ void ExtractStation_3A_SetDefaultValues();
+ void ExtractStation_3A_SI_Limits();
+ void ExtractStation_3A_Ant_Limits();
+ void ExtractStation_3A_Post_Limits();