X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkStructuresExtractionFilter.txx;h=d78586169849f9288b087fab88e2bb3f07f6071e;hb=d7f456d86ca398a89ccf9de43ab68a2b50b8ca1f;hp=1562beaaf84959db30e4fee611a457975ae9f8b6;hpb=5b568893e14e5d955fa14f653bd176b54c6aee0c;p=clitk.git diff --git a/segmentation/clitkStructuresExtractionFilter.txx b/segmentation/clitkStructuresExtractionFilter.txx index 1562bea..d785861 100644 --- a/segmentation/clitkStructuresExtractionFilter.txx +++ b/segmentation/clitkStructuresExtractionFilter.txx @@ -47,11 +47,12 @@ AddRelativePositionListFilename(std::string s) { template typename clitk::StructuresExtractionFilter::MaskImagePointer clitk::StructuresExtractionFilter:: -ApplyRelativePositionList(std::string name, MaskImageType * input) +ApplyRelativePositionList(std::string name, MaskImageType * input, bool overlap) { // Create all RelativePositionList - for(int i=0; iSetDisplayUsedStructuresOnlyFlag(this->GetDisplayUsedStructuresOnlyFlag()); rpl->SetAFDB(GetAFDB()); rpl->Read(mListOfRelativePositionListFilename[i]); std::string s = rpl->GetInputName(); @@ -71,8 +72,14 @@ ApplyRelativePositionList(std::string name, MaskImageType * input) relpos->SetCurrentStepNumber(GetCurrentStepNumber()); relpos->SetWriteStepFlag(GetWriteStepFlag()); relpos->SetInput(input); + if (!this->GetDisplayUsedStructuresOnlyFlag() && overlap) { + std::string n = name.substr(8,3); + MaskImagePointer ref = this->GetAFDB()->template GetImage (n+"_Ref"); + relpos->SetReferenceImageForOverlapMeasure(ref); + } relpos->Update(); input = relpos->GetOutput(); + SetCurrentStepNumber(relpos->GetCurrentStepNumber()); } return input;