Skip to content

Resample Filter API

Resample filter uses weighting functions for calculating pixel color weights, depending on distance from EWA ellipse center in EWA resampling.

ResampleFilter interface

ts
interface ResampleFilter {
  getWorkingSupport(): number;
  getWeight(x: number): number;
}

Methods

getWorkingSupport()

  • Returns: number

Returns filter practical working support.


getWeight()

  • Param: x: number
  • Returns: number

Returns color weight at given distance from EWA ellipse center.

Type guard

isResampleFilter function checks if given argument is ResampleFilter and can be used as type guard.

ResampleFilterPreset interface

ResampleFilterPreset interface is object with predefined resample filter settings.

ts
interface ResampleFilterPreset {
  filterFunctionFactory: WeightingFunctionName | string;
  filterFunctionFactoryArgs: number[];
  windowFunctionFactory: WeightingFunctionName | string;
  windowFunctionFactoryArgs: number[];
  support: number;
  scale: number;
  blur?: number;
  windowSupport?: number;
}

Properties

filterFunctionFactory

  • Type: WeightingFunctionFactoryName | string

Name of weighting function factory. Internally, factory will be supplied by filterFunctionFactoryArgs to produce filter function, which is responsible for pixel color weights inside EWA ellipse.


filterFunctionFactoryArgs

  • Type: number[]

Array of arguments, which will be passed to corresponding WeightingFunctionFactory.


windowFunctionFactory

  • Type: WeightingFunctionFactoryName | string

Name of weighting function factory. Internally, factory will be supplied by filterFunctionFactoryArgs to produce window function, which is responsible for modulation of filter function.


windowFunctionFactoryArgs

  • Type: number[]

Array of arguments, which will be passed to corresponding WeightingFunctionFactory.


support

  • Type: number

Filter support value.


scale

  • Type: number

Filter scale value.


blur

  • Type: number

Optional filter blur value. Defaults to 1.


windowSupport

  • Type: number

Optional filter window support value. By default, equals filter support.

Type guard

isResampleFilterPreset checks if given argument is ResampleFilterPreset and can be used as type guard.

ResampleFilterPresetsPool interface

Pool of built-in filter presets. Keys are FilterName enum values.

ts
interface ResampleFilterPresetsPoolKeyMap {
  [FilterName.ROBIDOUX]: ResampleFilterPreset;
  [FilterName.ROBIDOUX_SHARP]: ResampleFilterPreset;
  [FilterName.BOX]: ResampleFilterPreset;
  [key: FilterName | string]: ResampleFilterPreset;
}

type ResampleFilterPresetsPool = Pool<
  ResampleFilterPreset,
  ResampleFilterPresetsPoolKeyMap
>;