#ifndef SIRIUS_I_FREQUENCY_RESAMPLER_H_
#define SIRIUS_I_FREQUENCY_RESAMPLER_H_
#include <memory>
#include <string>
#include <vector>
#include "sirius/filter.h"
#include "sirius/image.h"
#include "sirius/types.h"
namespace sirius {
class IFrequencyResampler {
public:
using UPtr = std::unique_ptr<IFrequencyResampler>;
public:
virtual ~IFrequencyResampler() = default;
virtual Image Compute(const ZoomRatio& zoom_ratio, const Image& input,
const Padding& image_padding,
const Filter& filter = {}) const = 0;
};
} // namespace sirius
#endif // SIRIUS_I_FREQUENCY_RESAMPLER_H_