X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=tools%2FclitkImageArithmGenericFilter.txx;h=b2733472d66c54d5d3f41c9dc508522faec9cbb5;hb=d9c8c6e6c759655fc24d05d47b962d2ba574b95d;hp=f3040750d6f8cb61b81ffb9052f511ad579cd761;hpb=3abd767ea72e82f5f3de805917014a0ae2a71da9;p=clitk.git diff --git a/tools/clitkImageArithmGenericFilter.txx b/tools/clitkImageArithmGenericFilter.txx index f304075..b273347 100644 --- a/tools/clitkImageArithmGenericFilter.txx +++ b/tools/clitkImageArithmGenericFilter.txx @@ -109,7 +109,7 @@ void ImageArithmGenericFilter::UpdateWithInputImageType() IteratorType it(input1, input1->GetLargestPossibleRegion()); // typedef input2 - typename ImageType::Pointer input2 = NULL; + typename ImageType::Pointer input2 = ITK_NULLPTR; IteratorType it2; // Special case for normalisation @@ -163,6 +163,7 @@ void ImageArithmGenericFilter::UpdateWithInputImageType() output->SetRegions(input1->GetLargestPossibleRegion()); output->SetOrigin(input1->GetOrigin()); output->SetSpacing(input1->GetSpacing()); + output->SetDirection(input1->GetDirection()); output->Allocate(); // Set output iterator typedef itk::ImageRegionIterator IteratorOutputType; @@ -218,7 +219,7 @@ void ImageArithmGenericFilter::ComputeImage(Iter1 it1, Iter2 it break; case 2: // Divide while (!ito.IsAtEnd()) { - if (it1.Get() != 0) + if (it2.Get() != 0) ito.Set(PixelTypeDownCast((double)it1.Get() / (double)it2.Get())); else ito.Set(mDefaultPixelValue); ++it1; @@ -269,7 +270,7 @@ void ImageArithmGenericFilter::ComputeImage(Iter1 it1, Iter2 it case 8: // Relative Difference while (!ito.IsAtEnd()) { if (it1.Get() != 0) ito.Set(PixelTypeDownCast(((double)it1.Get()-(double)it2.Get()))/(double)it1.Get()); - else ito.Set(0.0); + else ito.Set(mDefaultPixelValue); ++it1; ++it2; ++ito; @@ -349,7 +350,7 @@ void clitk::ImageArithmGenericFilter::ComputeImage(Iter1 it, Ite ++ito; } break; - case 7: // Log + case 7: // ln while (!it.IsAtEnd()) { if (it.Get() > 0) ito.Set(PixelTypeDownCast(log((double)it.Get()))); @@ -397,7 +398,7 @@ void clitk::ImageArithmGenericFilter::ComputeImage(Iter1 it, Ite ito.Set(-log(0.5 / mScalar) ); } else { - ito.Set(-log(PixelTypeDownCast((double)it.Get() / mScalar)) ); + ito.Set(PixelTypeDownCast(-log((double)it.Get() / mScalar)) ); } ++it; ++ito;