]> Creatis software - clitk.git/blobdiff - segmentation/clitkStructuresExtractionFilter.txx
remove duplicated file
[clitk.git] / segmentation / clitkStructuresExtractionFilter.txx
index 1562beaaf84959db30e4fee611a457975ae9f8b6..9559d4c2702ab9fe7cbff3cf21d632460a6f0aff 100644 (file)
@@ -47,10 +47,10 @@ AddRelativePositionListFilename(std::string s) {
 template <class TImageType>
 typename clitk::StructuresExtractionFilter<TImageType>::MaskImagePointer
 clitk::StructuresExtractionFilter<TImageType>::
-ApplyRelativePositionList(std::string name, MaskImageType * input) 
+ApplyRelativePositionList(std::string name, MaskImageType * input, bool overlap
 { 
   // Create all RelativePositionList
-  for(int i=0; i<mListOfRelativePositionListFilename.size(); i++) {
+  for(unsigned int i=0; i<mListOfRelativePositionListFilename.size(); i++) {
     RelPosListPointer rpl = RelPosListType::New();
     rpl->SetAFDB(GetAFDB());
     rpl->Read(mListOfRelativePositionListFilename[i]);
@@ -71,8 +71,14 @@ ApplyRelativePositionList(std::string name, MaskImageType * input)
     relpos->SetCurrentStepNumber(GetCurrentStepNumber());
     relpos->SetWriteStepFlag(GetWriteStepFlag());
     relpos->SetInput(input);
+    if (overlap) {
+      std::string n = name.substr(8,2);
+      MaskImagePointer ref = this->GetAFDB()->template GetImage <MaskImageType>("S"+n+"_Ref");
+      relpos->SetReferenceImageForOverlapMeasure(ref);
+    }
     relpos->Update();
     input = relpos->GetOutput();
+
     SetCurrentStepNumber(relpos->GetCurrentStepNumber());
   }
   return input;