Sirius  0.0.0
Public Member Functions | Static Public Member Functions | List of all members
sirius::Filter Class Reference

Frequency filter. More...

#include <sirius/filter.h>

Public Member Functions

 Filter ()=default
 
 ~Filter ()=default
 
 Filter (const Filter &)=delete
 
Filteroperator= (const Filter &)=delete
 
 Filter (Filter &&)=default
 
Filteroperator= (Filter &&)=default
 
bool IsLoaded () const
 Filter is loaded and ready to be applied on an image FFT. More...
 
Size size () const
 Filter image size. More...
 
Size padding_size () const
 Padding size needed for the filter. More...
 
PaddingType padding_type () const
 Get padding type. More...
 
FilterMetadata Metadata () const
 
Padding padding () const
 Zero padding needed for the filter. More...
 
const Pointhot_point () const
 
bool CanBeApplied (const ZoomRatio &zoom_ratio) const
 Check that the filter can be applied on the given zoom ratio. More...
 
fftw::ComplexUPtr Process (const Size &image_size, fftw::ComplexUPtr image_fft) const
 Apply the filter on the image_fft. More...
 

Static Public Member Functions

static Filter Create (Image filter_image, const ZoomRatio &zoom_ratio, const Point &hot_point=filter_default_hot_point, PaddingType padding_type=PaddingType::kMirrorPadding, bool normalize=false)
 Filter which is adapted specifically for a particular zoom ratio. More...
 

Detailed Description

Frequency filter.

Constructor & Destructor Documentation

◆ Filter() [1/3]

sirius::Filter::Filter ( )
default

◆ ~Filter()

sirius::Filter::~Filter ( )
default

◆ Filter() [2/3]

sirius::Filter::Filter ( const Filter )
delete

◆ Filter() [3/3]

sirius::Filter::Filter ( Filter &&  )
default

Member Function Documentation

◆ CanBeApplied()

bool sirius::Filter::CanBeApplied ( const ZoomRatio zoom_ratio) const
inline

Check that the filter can be applied on the given zoom ratio.

Parameters
zoom_ratio
Returns
bool

◆ Create()

static Filter sirius::Filter::Create ( Image  filter_image,
const ZoomRatio zoom_ratio,
const Point hot_point = filter_default_hot_point,
PaddingType  padding_type = PaddingType::kMirrorPadding,
bool  normalize = false 
)
static

Filter which is adapted specifically for a particular zoom ratio.

Parameters
filter_imageimage of the filter
zoom_ratioratio on which the filter must be applied
padding_typepadding type
normalizenormalize filter
Exceptions
sirius::Exceptionif the filter image cannot be loaded

◆ hot_point()

const Point& sirius::Filter::hot_point ( ) const
inline

◆ IsLoaded()

bool sirius::Filter::IsLoaded ( ) const
inline

Filter is loaded and ready to be applied on an image FFT.

Returns
bool

◆ Metadata()

FilterMetadata sirius::Filter::Metadata ( ) const
inline

◆ operator=() [1/2]

Filter& sirius::Filter::operator= ( const Filter )
delete

◆ operator=() [2/2]

Filter& sirius::Filter::operator= ( Filter &&  )
default

◆ padding()

Padding sirius::Filter::padding ( ) const
inline

Zero padding needed for the filter.

Returns
Padding

◆ padding_size()

Size sirius::Filter::padding_size ( ) const
inline

Padding size needed for the filter.

Returns
size in row-column

◆ padding_type()

PaddingType sirius::Filter::padding_type ( ) const
inline

Get padding type.

Returns
padding type

◆ Process()

fftw::ComplexUPtr sirius::Filter::Process ( const Size image_size,
fftw::ComplexUPtr  image_fft 
) const

Apply the filter on the image_fft.

Remarks
This method is thread safe
Parameters
image_sizesize of the image of the fft
image_fftimage fft computed by FFTW
Returns
the filtered fft
Exceptions
sirius::Exceptionif the filter cannot be applied on the image FFT

◆ size()

Size sirius::Filter::size ( ) const
inline

Filter image size.

Returns
Size

The documentation for this class was generated from the following file: