Skip to content

Commit

Permalink
ENH: Reset direction to identity before forward wavelet
Browse files Browse the repository at this point in the history
  • Loading branch information
phcerdan committed Jan 3, 2019
1 parent 7866596 commit 8a0dbde
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 6 deletions.
6 changes: 5 additions & 1 deletion include/itkWaveletFrequencyForward.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -482,18 +482,22 @@ WaveletFrequencyForward< TInputImage, TOutputImage,
auto changeInputInfoFilter = ChangeInformationFilterType::New();
typename InputImageType::PointType origin_old = inputPerLevel->GetOrigin();
typename InputImageType::SpacingType spacing_old = inputPerLevel->GetSpacing();
typename InputImageType::DirectionType direction_old = inputPerLevel->GetDirection();
typename InputImageType::PointType origin_new = origin_old;
origin_new.Fill(0);
typename InputImageType::SpacingType spacing_new = spacing_old;
spacing_new.Fill(1);
typename InputImageType::DirectionType direction_new = direction_old;
direction_new.SetIdentity();
changeInputInfoFilter->SetInput(inputPerLevel);
changeInputInfoFilter->ChangeDirectionOff();
changeInputInfoFilter->ChangeRegionOff();
changeInputInfoFilter->ChangeDirectionOn();
changeInputInfoFilter->ChangeSpacingOn();
changeInputInfoFilter->ChangeOriginOn();
changeInputInfoFilter->UseReferenceImageOff();
changeInputInfoFilter->SetOutputOrigin(origin_new);
changeInputInfoFilter->SetOutputSpacing(spacing_new);
changeInputInfoFilter->SetOutputDirection(direction_new);
changeInputInfoFilter->Update();

// Generate WaveletFilterBank.
Expand Down
6 changes: 5 additions & 1 deletion include/itkWaveletFrequencyForwardUndecimated.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -330,18 +330,22 @@ WaveletFrequencyForwardUndecimated< TInputImage, TOutputImage,
auto changeInputInfoFilter = ChangeInformationFilterType::New();
typename InputImageType::PointType origin_old = inputPerLevel->GetOrigin();
typename InputImageType::SpacingType spacing_old = inputPerLevel->GetSpacing();
typename InputImageType::DirectionType direction_old = inputPerLevel->GetDirection();
typename InputImageType::PointType origin_new = origin_old;
origin_new.Fill(0);
typename InputImageType::SpacingType spacing_new = spacing_old;
spacing_new.Fill(1);
typename InputImageType::DirectionType direction_new = direction_old;
direction_new.SetIdentity();
changeInputInfoFilter->SetInput(inputPerLevel);
changeInputInfoFilter->ChangeDirectionOff();
changeInputInfoFilter->ChangeRegionOff();
changeInputInfoFilter->ChangeDirectionOn();
changeInputInfoFilter->ChangeSpacingOn();
changeInputInfoFilter->ChangeOriginOn();
changeInputInfoFilter->UseReferenceImageOff();
changeInputInfoFilter->SetOutputOrigin(origin_new);
changeInputInfoFilter->SetOutputSpacing(spacing_new);
changeInputInfoFilter->SetOutputDirection(direction_new);
changeInputInfoFilter->Update();

// Generate WaveletFilterBank.
Expand Down
4 changes: 2 additions & 2 deletions include/itkWaveletFrequencyInverse.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -391,8 +391,8 @@ WaveletFrequencyInverse< TInputImage, TOutputImage,
changeWaveletInfoFilter->SetInput(waveletLow);
changeWaveletInfoFilter->UseReferenceImageOn();
changeWaveletInfoFilter->SetReferenceImage( low_pass_per_level );
changeWaveletInfoFilter->ChangeDirectionOff();
changeWaveletInfoFilter->ChangeRegionOn();
changeWaveletInfoFilter->ChangeDirectionOn();
changeWaveletInfoFilter->ChangeSpacingOn();
changeWaveletInfoFilter->ChangeOriginOn();
changeWaveletInfoFilter->Update();
Expand Down Expand Up @@ -435,8 +435,8 @@ WaveletFrequencyInverse< TInputImage, TOutputImage,
changeWaveletHighInfoFilter->SetInput(highPassMasks[band]);
changeWaveletHighInfoFilter->UseReferenceImageOn();
changeWaveletHighInfoFilter->SetReferenceImage( bandInputImage );
changeWaveletHighInfoFilter->ChangeDirectionOff();
changeWaveletHighInfoFilter->ChangeRegionOff();
changeWaveletHighInfoFilter->ChangeDirectionOn();
changeWaveletHighInfoFilter->ChangeSpacingOn();
changeWaveletHighInfoFilter->ChangeOriginOn();
changeWaveletHighInfoFilter->UpdateLargestPossibleRegion();
Expand Down
3 changes: 2 additions & 1 deletion include/itkWaveletFrequencyInverseUndecimated.hxx
Original file line number Diff line number Diff line change
Expand Up @@ -351,13 +351,14 @@ WaveletFrequencyInverseUndecimated< TInputImage, TOutputImage,
bandInputImage = const_cast< InputImageType * >(this->GetInput(nInput));
reconstructed->SetSpacing(bandInputImage->GetSpacing());
reconstructed->SetOrigin(bandInputImage->GetOrigin());
reconstructed->SetDirection(bandInputImage->GetDirection());

auto changeWaveletHighInfoFilter = ChangeInformationFilterType::New();
changeWaveletHighInfoFilter->SetInput(highPassMasks[band]);
changeWaveletHighInfoFilter->UseReferenceImageOn();
changeWaveletHighInfoFilter->SetReferenceImage( bandInputImage );
changeWaveletHighInfoFilter->ChangeDirectionOff();
changeWaveletHighInfoFilter->ChangeRegionOff();
changeWaveletHighInfoFilter->ChangeDirectionOn();
changeWaveletHighInfoFilter->ChangeSpacingOn();
changeWaveletHighInfoFilter->ChangeOriginOn();
changeWaveletHighInfoFilter->UpdateLargestPossibleRegion();
Expand Down
5 changes: 4 additions & 1 deletion test/itkFrequencyShrinkTest.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -246,14 +246,17 @@ runFrequencyShrinkTest( const std::string & inputImage, const std::string & outp
origin_new.Fill(0);
typename ComplexImageType::SpacingType spacing_new;
spacing_new.Fill(1);
typename ComplexImageType::DirectionType direction_new;
direction_new.SetIdentity();
changeInputInfoFilter->SetInput(fftFilter->GetOutput());
changeInputInfoFilter->ChangeDirectionOff();
changeInputInfoFilter->ChangeDirectionOn();
changeInputInfoFilter->ChangeRegionOff();
changeInputInfoFilter->ChangeSpacingOn();
changeInputInfoFilter->ChangeOriginOn();
changeInputInfoFilter->UseReferenceImageOff();
changeInputInfoFilter->SetOutputOrigin(origin_new);
changeInputInfoFilter->SetOutputSpacing(spacing_new);
changeInputInfoFilter->SetOutputDirection(direction_new);
changeInputInfoFilter->Update();

auto shrinkBandFilter = ShrinkType::New();
Expand Down

0 comments on commit 8a0dbde

Please sign in to comment.