Closed phcerdan closed 5 years ago
Not related to Boundary Conditions. It is related to the WaveletFilterBank in ForwardWavelet. To reproduce, use a --levels 1, --bands 1, and just visualize the high frequency output (index 0 for example). After the shrink, the artifacts are gone in the rest of outputs.
To explore:
Are we using the right frequency layout in the FilterBankGenerator? The artifacts seem frequency related?... The forwardWavelet output is the bank multiplied by the fft of a real image. Maybe there is a miss match in the factors of negative and positive frequencies?
The origin/spacing of input image (different than default {{0}}
) shouldn't be involved, but I haven't completely discarded it.
It's not happening in ctest -R WaveletFrequencyForwardTest -E Multi -E 2D -V
with tests images, so leaning into origin,spacing, buffered region issues.
Not origin issues, this image has default spacing/origin and still show it.
I just don't understand how it is working with test images and not with others. What is the difference between those?
Working test mage (in .nrrd, used to be .tiff) collagen_64x64x16.zip
This might not be a bug, but an unavoidable artifact for working in the FFT domain.
Why is the last slice showing traces of the first slice? Is there any default boundary condition applied? Where?
Filters involved: Check script: https://github.com/phcerdan/ITKfilters/blob/master/scripts-cpp/rieszWaveletPhaseAnalysis.cxx
Original image, first and last slices:
After phase analysis: