]> Creatis software - clitk.git/blobdiff - segmentation/clitkExtractLymphStationsGenericFilter.txx
Merge branch 'master' of /home/dsarrut/clitk3.server
[clitk.git] / segmentation / clitkExtractLymphStationsGenericFilter.txx
index bc5c9366c1d57adefbb65dd5dfa4168402a01cc2..47dad7d904008429d12b91031934652c80fe0014 100644 (file)
@@ -68,8 +68,13 @@ SetOptionsFromArgsInfoToFilter(FilterType * f)
   f->SetWriteStepFlag(mArgsInfo.writeStep_flag);
   f->SetVerboseMemoryFlag(mArgsInfo.verboseMemory_flag);
   f->SetAFDBFilename(mArgsInfo.afdb_arg);  
-  f->SetDistanceMaxToAnteriorPartOfTheSpine(mArgsInfo.maxAntSpine_arg);
-  f->SetFuzzyThresholdForS8(mArgsInfo.fuzzyThresholdForS8_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
   /*
@@ -80,30 +85,57 @@ SetOptionsFromArgsInfoToFilter(FilterType * f)
    */
   typename FilterType::MaskImagePointType p;
   p[0] = 7; p[1] = 5; p[2] = 0; // default value
-  if (mArgsInfo.esophagusDilatationForAnt_given == 3) {
+  if (mArgsInfo.S8_esophagusDilatationForAnt_given == 3) {
     for(uint i=0; i<3; i++)
-      p[i] = mArgsInfo.esophagusDilatationForAnt_arg[i];
+      p[i] = mArgsInfo.S8_esophagusDilatationForAnt_arg[i];
   }
   else {
-    if (mArgsInfo.esophagusDilatationForAnt_given == 1) {
+    if (mArgsInfo.S8_esophagusDilatationForAnt_given == 1) {
       for(uint i=0; i<3; i++)
-        p[i] = mArgsInfo.esophagusDilatationForAnt_arg[0];
+        p[i] = mArgsInfo.S8_esophagusDilatationForAnt_arg[0];
     }
   }
   f->SetEsophagusDiltationForAnt(p);
   
   p[0] = 5; p[1] = 10; p[2] = 1; // default value
-  if (mArgsInfo.esophagusDilatationForRight_given == 3) {
+  if (mArgsInfo.S8_esophagusDilatationForRight_given == 3) {
     for(uint i=0; i<3; i++)
-      p[i] = mArgsInfo.esophagusDilatationForRight_arg[i];
+      p[i] = mArgsInfo.S8_esophagusDilatationForRight_arg[i];
   }
   else {
-    if (mArgsInfo.esophagusDilatationForRight_given == 1) {
+    if (mArgsInfo.S8_esophagusDilatationForRight_given == 1) {
       for(uint i=0; i<3; i++)
-        p[i] = mArgsInfo.esophagusDilatationForRight_arg[0];
+        p[i] = mArgsInfo.S8_esophagusDilatationForRight_arg[0];
     }
   }
   f->SetEsophagusDiltationForRight(p);  
+  
+  for(uint i=0; i<mArgsInfo.station_given; i++)
+    f->AddComputeStation(mArgsInfo.station_arg[i]);
+
+  // Station 3A
+  f->SetFuzzyThreshold("3A", "SVC", mArgsInfo.S3A_ft_SVC_arg);
+  f->SetFuzzyThreshold("3A", "Bones", mArgsInfo.S3A_ft_Bones_arg);
+  f->SetThreshold("3A", "Bones", mArgsInfo.S3A_t_Bones_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);
 }
 //--------------------------------------------------------------------