Sirius  0.0.0
i_frequency_resampler.h
Go to the documentation of this file.
1 
22 #ifndef SIRIUS_I_FREQUENCY_RESAMPLER_H_
23 #define SIRIUS_I_FREQUENCY_RESAMPLER_H_
24 
25 #include <memory>
26 #include <string>
27 #include <vector>
28 
29 #include "sirius/filter.h"
30 #include "sirius/image.h"
31 #include "sirius/types.h"
32 
33 namespace sirius {
34 
40  public:
41  using UPtr = std::unique_ptr<IFrequencyResampler>;
42 
43  public:
44  virtual ~IFrequencyResampler() = default;
45 
61  virtual Image Compute(const ZoomRatio& zoom_ratio, const Image& input,
62  const Padding& image_padding,
63  const Filter& filter = {}) const = 0;
64 };
65 
66 } // namespace sirius
67 
68 #endif // SIRIUS_I_FREQUENCY_RESAMPLER_H_
virtual Image Compute(const ZoomRatio &zoom_ratio, const Image &input, const Padding &image_padding, const Filter &filter={}) const =0
Resample an image by a ratio in the frequency domain.
Interface that frequency resampler should implement.
Definition: i_frequency_resampler.h:39
Definition: exception.h:27
Frequency filter.
Definition: filter.h:52
std::unique_ptr< IFrequencyResampler > UPtr
Definition: i_frequency_resampler.h:41
Data class that represents zoom ratio as input_resolution/output_resolution.
Definition: types.h:105
Data class that represents the padding of an image.
Definition: image.h:39
virtual ~IFrequencyResampler()=default
Data class that represents an image (Size + Buffer)
Definition: image.h:65