X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkExtractLymphStationsGenericFilter.txx;h=03fdb29c9962aa652d863f765632e2c69abc0049;hb=b97f5d36faa590eccb7c8008ae8be54acb6849ea;hp=9dfa850f67eb7e20683f6f38521b78ef2e5231d9;hpb=5e2af376544fce0c6dc46bb3c3227d35b501c1f1;p=clitk.git diff --git a/segmentation/clitkExtractLymphStationsGenericFilter.txx b/segmentation/clitkExtractLymphStationsGenericFilter.txx index 9dfa850..03fdb29 100644 --- a/segmentation/clitkExtractLymphStationsGenericFilter.txx +++ b/segmentation/clitkExtractLymphStationsGenericFilter.txx @@ -63,10 +63,77 @@ void clitk::ExtractLymphStationsGenericFilter:: SetOptionsFromArgsInfoToFilter(FilterType * f) { - f->SetVerboseOption(mArgsInfo.verbose_flag); - f->SetVerboseStep(mArgsInfo.verboseStep_flag); - f->SetWriteStep(mArgsInfo.writeStep_flag); + f->SetVerboseOptionFlag(mArgsInfo.verbose_flag); + f->SetVerboseStepFlag(mArgsInfo.verboseStep_flag); + f->SetWriteStepFlag(mArgsInfo.writeStep_flag); + f->SetVerboseMemoryFlag(mArgsInfo.verboseMemory_flag); f->SetAFDBFilename(mArgsInfo.afdb_arg); + + f->SetComputeStationsSupportsFlag(!mArgsInfo.nosupport_flag); + + // Station 8 + //f->SetDistanceMaxToAnteriorPartOfTheSpine(mArgsInfo.S8_maxAntSpine_arg); + f->SetFuzzyThreshold("8", "Esophagus", mArgsInfo.S8_ft_Esophagus_arg); + // f->SetInjectedThresholdForS8(mArgsInfo.tS8_injectedThreshold_arg); + + // Check multiple options for radius dilatation + /* + typename FilterType::MaskImagePointType p; + SetMultipleOptionMacro(mArgsInfo, esophagusDilatation, 3, p); + default ? = set before + exception if fail + */ + typename FilterType::MaskImagePointType p; + p[0] = 7; p[1] = 5; p[2] = 0; // default value + if (mArgsInfo.S8_esophagusDilatationForAnt_given == 3) { + for(uint i=0; i<3; i++) + p[i] = mArgsInfo.S8_esophagusDilatationForAnt_arg[i]; + } + else { + if (mArgsInfo.S8_esophagusDilatationForAnt_given == 1) { + for(uint i=0; i<3; i++) + p[i] = mArgsInfo.S8_esophagusDilatationForAnt_arg[0]; + } + } + f->SetEsophagusDiltationForAnt(p); + + p[0] = 5; p[1] = 10; p[2] = 1; // default value + if (mArgsInfo.S8_esophagusDilatationForRight_given == 3) { + for(uint i=0; i<3; i++) + p[i] = mArgsInfo.S8_esophagusDilatationForRight_arg[i]; + } + else { + if (mArgsInfo.S8_esophagusDilatationForRight_given == 1) { + for(uint i=0; i<3; i++) + p[i] = mArgsInfo.S8_esophagusDilatationForRight_arg[0]; + } + } + f->SetEsophagusDiltationForRight(p); + + for(uint i=0; iAddComputeStation(mArgsInfo.station_arg[i]); + + // Station 3A + f->SetFuzzyThreshold("3A", "SVC", mArgsInfo.S3A_ft_SVC_arg); + f->SetFuzzyThreshold("3A", "Aorta", mArgsInfo.S3A_ft_Aorta_arg); + f->SetFuzzyThreshold("3A", "SubclavianArtery", mArgsInfo.S3A_ft_SubclavianArtery_arg); + + // Station 7 + f->SetFuzzyThreshold("7", "Bronchi", mArgsInfo.S7_ft_Bronchi_arg); + f->SetFuzzyThreshold("7", "LeftSuperiorPulmonaryVein", mArgsInfo.S7_ft_LeftSuperiorPulmonaryVein_arg); + f->SetFuzzyThreshold("7", "RightSuperiorPulmonaryVein", mArgsInfo.S7_ft_RightSuperiorPulmonaryVein_arg); + f->SetFuzzyThreshold("7", "RightPulmonaryArtery", mArgsInfo.S7_ft_RightPulmonaryArtery_arg); + f->SetFuzzyThreshold("7", "LeftPulmonaryArtery", mArgsInfo.S7_ft_LeftPulmonaryArtery_arg); + f->SetFuzzyThreshold("7", "SVC", mArgsInfo.S7_ft_SVC_arg); + f->SetS7_UseMostInferiorPartOnlyFlag(mArgsInfo.S7_UseMostInferiorPartOnly_flag); + + // Station 2RL + f->SetFuzzyThreshold("2RL", "CommonCarotidArtery", mArgsInfo.S2RL_ft_CommonCarotidArtery_arg); + f->SetFuzzyThreshold("2RL", "BrachioCephalicTrunk", mArgsInfo.S2RL_ft_BrachioCephalicTrunk_arg); + f->SetFuzzyThreshold("2RL", "BrachioCephalicVein", mArgsInfo.S2RL_ft_BrachioCephalicVein_arg); + f->SetFuzzyThreshold("2RL", "Aorta", mArgsInfo.S2RL_ft_Aorta_arg); + f->SetFuzzyThreshold("2RL", "SubclavianArteryLeft", mArgsInfo.S2RL_ft_SubclavianArteryLeft_arg); + f->SetFuzzyThreshold("2RL", "SubclavianArteryRight", mArgsInfo.S2RL_ft_SubclavianArteryRight_arg); } //--------------------------------------------------------------------