X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkExtractLymphStationsFilter.txx;h=1823e998c40cf228444cb29439c5adc760d5cd0e;hb=431fea9a7c825943b07fc4b4f3423355a5fee501;hp=aec05d782df8553d4a0bdd861f7e5d40fdf8eedb;hpb=907b0bad00cbf772fbf362879c74d673253f97bb;p=clitk.git diff --git a/segmentation/clitkExtractLymphStationsFilter.txx b/segmentation/clitkExtractLymphStationsFilter.txx index aec05d7..1823e99 100644 --- a/segmentation/clitkExtractLymphStationsFilter.txx +++ b/segmentation/clitkExtractLymphStationsFilter.txx @@ -55,6 +55,7 @@ ExtractLymphStationsFilter(): // Default values ExtractStation_8_SetDefaultValues(); ExtractStation_3P_SetDefaultValues(); + ExtractStation_2RL_SetDefaultValues(); ExtractStation_3A_SetDefaultValues(); ExtractStation_7_SetDefaultValues(); } @@ -83,6 +84,12 @@ GenerateOutputInformation() { ExtractStation_3P(); StopSubStep(); + // Extract Station2RL + StartNewStep("Station 2RL"); + StartSubStep(); + ExtractStation_2RL(); + StopSubStep(); + // Extract Station3A StartNewStep("Station 3A"); StartSubStep(); @@ -102,20 +109,6 @@ GenerateOutputInformation() { //ExtractStation_4RL(); StopSubStep(); } - - - // - // typedef clitk::BooleanOperatorLabelImageFilter BFilter; - //BFilter::Pointer merge = BFilter::New(); - // writeImage(m_Output, "ouput.mhd"); - //writeImage(m_Working_Support, "ws.mhd"); - /*merge->SetInput1(m_Station7); - merge->SetInput2(m_Station4RL); // support - merge->SetOperationType(BFilter::AndNot); CHANGE OPERATOR - merge->SetForegroundValue(4); - merge->Update(); - m_Output = merge->GetOutput(); - */ } //-------------------------------------------------------------------- @@ -275,6 +268,7 @@ ExtractStation_3A() if (CheckForStation("3A")) { ExtractStation_3A_SI_Limits(); ExtractStation_3A_Ant_Limits(); + ExtractStation_3A_Post_Limits(); // Store image filenames into AFDB writeImage(m_ListOfStations["3A"], "seg/Station3A.mhd"); GetAFDB()->SetImageFilename("Station3A", "seg/Station3A.mhd"); @@ -284,6 +278,32 @@ ExtractStation_3A() //-------------------------------------------------------------------- +//-------------------------------------------------------------------- +template +void +clitk::ExtractLymphStationsFilter:: +ExtractStation_2RL() +{ + if (CheckForStation("2RL")) { + ExtractStation_2RL_SI_Limits(); + ExtractStation_2RL_Post_Limits(); + ExtractStation_2RL_Ant_Limits2(); + ExtractStation_2RL_Ant_Limits(); + ExtractStation_2RL_LR_Limits(); + ExtractStation_2RL_Remove_Structures(); + ExtractStation_2RL_SeparateRL(); + + // Store image filenames into AFDB + writeImage(m_ListOfStations["2R"], "seg/Station2R.mhd"); + writeImage(m_ListOfStations["2L"], "seg/Station2L.mhd"); + GetAFDB()->SetImageFilename("Station2R", "seg/Station2R.mhd"); + GetAFDB()->SetImageFilename("Station2L", "seg/Station2L.mhd"); + WriteAFDB(); + } +} +//-------------------------------------------------------------------- + + //-------------------------------------------------------------------- template void @@ -305,10 +325,10 @@ ExtractStation_4RL() { template void clitk::ExtractLymphStationsFilter:: -Remove_Structures(std::string s) +Remove_Structures(std::string station, std::string s) { try { - StartNewStep("[Station7] Remove "+s); + StartNewStep("[Station"+station+"] Remove "+s); MaskImagePointer Structure = GetAFDB()->template GetImage(s); clitk::AndNot(m_Working_Support, Structure, GetBackgroundValue()); } @@ -319,5 +339,38 @@ Remove_Structures(std::string s) //-------------------------------------------------------------------- +//-------------------------------------------------------------------- +template +void +clitk::ExtractLymphStationsFilter:: +SetFuzzyThreshold(std::string station, std::string tag, double value) +{ + m_FuzzyThreshold[station][tag] = value; +} +//-------------------------------------------------------------------- + + +//-------------------------------------------------------------------- +template +double +clitk::ExtractLymphStationsFilter:: +GetFuzzyThreshold(std::string station, std::string tag) +{ + if (m_FuzzyThreshold.find(station) == m_FuzzyThreshold.end()) { + clitkExceptionMacro("Could not find options for station "+station+" in the list (while searching for tag "+tag+")."); + return 0.0; + } + + if (m_FuzzyThreshold[station].find(tag) == m_FuzzyThreshold[station].end()) { + clitkExceptionMacro("Could not find options "+tag+" in the list of FuzzyThreshold for station "+station+"."); + return 0.0; + } + + return m_FuzzyThreshold[station][tag]; +} +//-------------------------------------------------------------------- + + + #endif //#define CLITKBOOLEANOPERATORLABELIMAGEFILTER_TXX