Remove direct downscaling from input image to top level of every octave #178
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
PopSift has several modes to create the Gaussian pyramid. These were written to increase the potential parallelism of PopSift and explore trade-offs between speed and quality.
This PR removes the DirectDownscaling approach, which generated the top level of every octave directly
from the upscaled input image. In practice, the quality drop of this implementation was too large to be practical.
Features list
This PR does not add any features. It removes features.
The direct downscaling method has been removed.
Implementation remarks
Removed the config param ScalingMode (always use default).
Removed code to create the top level of every octave directly from the input image, direct downscaling is now only used for the input image.
Use horiz_from_input_image exclusively for octave 0, remove octave parameter.
Reduced the Gaussian filter table h_gauss.dd to a single instance. This table contained Gaussian filters considering the initial blur for every octave's top level.