From 010f2363bb7d25dfedb196547efd981d57e1e9a9 Mon Sep 17 00:00:00 2001 From: Bauke Date: Thu, 10 Mar 2022 18:22:02 +0100 Subject: [PATCH] Add gegl:diffraction-patterns. --- source/gegl/diffraction-patterns.ts | 48 +++++++++++++++++++++++++++++ source/gegl/exports.ts | 1 + 2 files changed, 49 insertions(+) create mode 100644 source/gegl/diffraction-patterns.ts diff --git a/source/gegl/diffraction-patterns.ts b/source/gegl/diffraction-patterns.ts new file mode 100644 index 0000000..2e35e23 --- /dev/null +++ b/source/gegl/diffraction-patterns.ts @@ -0,0 +1,48 @@ +import {BaseOperation} from './base.js'; + +export interface DiffractionPatternsParameters { + blueContours: number; + blueFrequency: number; + blueSedges: number; + brightness: number; + greenContours: number; + greenFrequency: number; + greenSedges: number; + height: number; + polarization: number; + redContours: number; + redFrequency: number; + redSedges: number; + scattering: number; + width: number; +} + +export class DiffractionPatterns extends BaseOperation { + public static default: DiffractionPatternsParameters = { + blueContours: 0.97, + blueFrequency: 1.12, + blueSedges: 0.64, + brightness: 0.07, + greenContours: 0.82, + greenFrequency: 1.22, + greenSedges: 0.68, + height: 200, + polarization: -0.47, + redContours: 0.82, + redFrequency: 0.81, + redSedges: 0.61, + scattering: 37.13, + width: 200, + }; + + public get default() { + return DiffractionPatterns.default; + } + + public appendCrop = true; + public name = 'gegl:diffraction-patterns'; + + constructor(parameters?: Partial) { + super({...DiffractionPatterns.default, ...parameters}); + } +} diff --git a/source/gegl/exports.ts b/source/gegl/exports.ts index 65fb66d..8c1bd09 100644 --- a/source/gegl/exports.ts +++ b/source/gegl/exports.ts @@ -2,6 +2,7 @@ export * from './base.js'; export * from './cartoon.js'; export * from './cell-noise.js'; export * from './crop.js'; +export * from './diffraction-patterns.js'; export * from './focus-blur.js'; export * from './generic.js'; export * from './median-blur.js';