X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=itk%2FclitkInvertVFFilter.txx;h=34500a3897e058db1247afc3f1a174526cb5862e;hb=9dfed934fdeca8343992272c4292a8c7ed755329;hp=b74958fb597a83dc9b3f559936973b340ee6874d;hpb=5c614f89dec012c7e8fee33c09fe7c1b955f5640;p=clitk.git diff --git a/itk/clitkInvertVFFilter.txx b/itk/clitkInvertVFFilter.txx index b74958f..34500a3 100644 --- a/itk/clitkInvertVFFilter.txx +++ b/itk/clitkInvertVFFilter.txx @@ -123,7 +123,7 @@ void HelperClass1::ThreadedGenerateData(const O void HelperClass1::ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, int threadId ) #endif { - //std::cout << "HelperClass1::ThreadedGenerateData - IN" << std::endl; +// std::cout << "HelperClass1::ThreadedGenerateData - IN " << threadId << std::endl; //Get pointer to the input typename InputImageType::ConstPointer inputPtr = this->GetInput(); @@ -145,6 +145,8 @@ void HelperClass1::ThreadedGenerateData(const O typedef typename OutputImageType::PixelType DisplacementType; DisplacementType displacement; inputIt.GoToBegin(); + + typename OutputImageType::SizeType size = outputPtr->GetLargestPossibleRegion().GetSize(); //define some temp variables signed long baseIndex[ImageDimension]; @@ -197,10 +199,12 @@ void HelperClass1::ThreadedGenerateData(const O overlap *= 1.0 - distance[dim]; } upper >>= 1; + + if (neighIndex[dim] >= size[dim]) + neighIndex[dim] = size[dim] - 1; } - //Set neighbor value only if overlap is not zero if( (overlap>0.0)) // && // (static_cast(neighIndex[0])::ThreadedGenerateData(const O ++inputIt; } - //std::cout << "HelperClass1::ThreadedGenerateData - OUT" << std::endl; +// std::cout << "HelperClass1::ThreadedGenerateData - OUT " << threadId << std::endl; } @@ -328,7 +332,7 @@ template void HelperClass2 void HelperClass2::ThreadedGenerateData(const OutputImageRegionType& outputRegionForThread, int threadId ) #endif { - //std::cout << "HelperClass2::ThreadedGenerateData - IN" << std::endl; +// std::cout << "HelperClass2::ThreadedGenerateData - IN " << threadId << std::endl; //Get pointer to the input typename InputImageType::ConstPointer inputPtr = this->GetInput(); @@ -380,7 +384,7 @@ template void HelperClass2::InvertVFFilter() //Update template void InvertVFFilter::GenerateData() { - //std::cout << "InvertVFFilter::GenerateData - IN" << std::endl; + // std::cout << "InvertVFFilter::GenerateData - IN" << std::endl; //Get the properties of the input typename InputImageType::ConstPointer inputPtr=this->GetInput(); @@ -472,6 +476,7 @@ template void InvertVFFilterSetNumberOfThreads(m_NumberOfThreads); helper2->SetInput(temp); helper2->SetWeights(weights); helper2->SetEdgePaddingValue(m_EdgePaddingValue); @@ -482,6 +487,8 @@ template void InvertVFFilterSetNthOutput(0, helper2->GetOutput()); + + //std::cout << "InvertVFFilter::GenerateData - OUT" << std::endl; }