3.3.9.11.1.1. Program Listing for File frequency_resampler_factory.hΒΆ

#ifndef SIRIUS_FREQUENCY_RESAMPLER_FACTORY_H_
#define SIRIUS_FREQUENCY_RESAMPLER_FACTORY_H_

#include "sirius/i_frequency_resampler.h"

namespace sirius {

enum class ImageDecompositionPolicies {
    kRegular = 0,
    kPeriodicSmooth
};

enum class FrequencyZoomStrategies {
    kZeroPadding = 0,
    kPeriodization
};

class FrequencyResamplerFactory {
  public:
    static IFrequencyResampler::UPtr Create(
          ImageDecompositionPolicies image_decomposition,
          FrequencyZoomStrategies zoom_strategy);
};

}  // namespace sirius

#endif  // SIRIUS_FREQUENCY_RESAMPLER_FACTORY_H_