X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=segmentation%2FclitkStructuresExtractionFilter.txx;h=d78586169849f9288b087fab88e2bb3f07f6071e;hb=HEAD;hp=761138e7279487a5e14058ac899eb91929d57891;hpb=adeedbea1fbf8bc34e2c9565867b992ad13ccc57;p=clitk.git diff --git a/segmentation/clitkStructuresExtractionFilter.txx b/segmentation/clitkStructuresExtractionFilter.txx index 761138e..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,10 +72,16 @@ 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()); } - SetCurrentStepNumber(relpos->GetCurrentStepNumber()); return input; } //--------------------------------------------------------------------