voluptasquisquam
Version:
Image processing and manipulation in JavaScript
169 lines (155 loc) • 8.01 kB
JavaScript
// filters
import invertGetSet from './filter/invertGetSet';
import invertIterator from './filter/invertIterator';
import invertOneLoop from './filter/invertOneLoop';
import invertPixel from './filter/invertPixel';
import invertApply from './filter/invertApply';
import invertBinaryLoop from './filter/invertBinaryLoop';
import invertFilter from './filter/invert';
import flipXFilter from './filter/flipX';
import flipYFilter from './filter/flipY';
import blurFilter from './filter/blurFilter';
import medianFilter from './filter/medianFilter';
import gaussianFilter from './filter/gaussianFilter';
import sobelFilter from './filter/sobelFilter';
import levelFilter from './filter/level';
import addFilter from './filter/add';
import subtractFilter from './filter/subtract';
import hypotenuseFilter from './filter/hypotenuse';
import multiplyFilter from './filter/multiply';
import divideFilter from './filter/divide';
import backgroundFilter from './filter/background';
// transforms
import crop from './transform/crop';
import cropAlpha from './transform/cropAlpha';
import scale from './transform/scale/scale';
import hsv from './transform/hsv';
import hsl from './transform/hsl';
import cmyk from './transform/cmyk';
import rgba8 from './transform/rgba8';
import grey from './transform/grey';
import mask from './transform/mask/mask';
import pad from './transform/pad';
import colorDepth from './transform/colorDepth';
import {rotate, rotateLeft, rotateRight} from './transform/rotate';
// utility
import setBorder from './utility/setBorder';
import split from './utility/split';
import getChannel from './utility/getChannel';
import combineChannels from './utility/combineChannels';
import setChannel from './utility/setChannel';
import getSimilarity from './utility/getSimilarity';
import getPixelsGrid from './utility/getPixelsGrid';
import getBestMatch from './utility/getBestMatch';
import getRow from './utility/getRow';
import getColumn from './utility/getColumn';
import getMatrix from './utility/getMatrix';
import setMatrix from './utility/setMatrix';
import getPixelsArray from './utility/getPixelsArray';
import getIntersection from './utility/getIntersection';
import getClosestCommonParent from './utility/getClosestCommonParent';
// operators
import paintMasks from './operator/paintMasks';
import paintLabels from './operator/paintLabels';
import paintPoints from './operator/paintPoints';
import paintPolygon from './operator/paintPolygon';
import paintPolyline from './operator/paintPolyline';
import extract from './operator/extract';
import convolution from './operator/convolution';
import convolutionFft from './operator/convolutionFft';
import floodFill from './operator/floodFill';
// computers
import {getHistogram, getHistograms} from './compute/histogram';
import getColorHistogram from './compute/colorHistogram';
import getMin from './compute/min';
import getMax from './compute/max';
import getSum from './compute/sum';
import getMoment from './compute/moment';
import getLocalMaxima from './compute/localMaxima';
import getMean from './compute/mean';
import getMedian from './compute/median';
import getPoints from './compute/points';
import getRelativePosition from './compute/relativePosition';
import getSvd from './compute/svd';
import countAlphaPixels from './compute/countAlphaPixels';
import monotoneChainConvexHull from './compute/monotoneChainConvexHull';
import minimalBoundingRectangle from './compute/minimalBoundingRectangle';
export default function extend(Image) {
let inPlace = {inPlace: true};
let inPlaceStack = {inPlace: true, stack: true};
let stack = {stack: true};
Image.extendMethod('invertGetSet', invertGetSet, inPlace);
Image.extendMethod('invertIterator', invertIterator, inPlace);
Image.extendMethod('invertPixel', invertPixel, inPlace);
Image.extendMethod('invertOneLoop', invertOneLoop, inPlace);
Image.extendMethod('invertApply', invertApply, inPlace);
Image.extendMethod('invert', invertFilter, inPlaceStack);
Image.extendMethod('invertBinaryLoop', invertBinaryLoop, inPlace);
Image.extendMethod('level', levelFilter, inPlace);
Image.extendMethod('add', addFilter, inPlace);
Image.extendMethod('subtract', subtractFilter, inPlace);
Image.extendMethod('multiply', multiplyFilter, inPlace);
Image.extendMethod('divide', divideFilter, inPlace);
Image.extendMethod('hypotenuse', hypotenuseFilter);
Image.extendMethod('background', backgroundFilter);
Image.extendMethod('flipX', flipXFilter);
Image.extendMethod('flipY', flipYFilter);
Image.extendMethod('blurFilter', blurFilter);
Image.extendMethod('medianFilter', medianFilter);
Image.extendMethod('gaussianFilter', gaussianFilter);
Image.extendMethod('sobelFilter', sobelFilter);
Image.extendMethod('crop', crop, stack);
Image.extendMethod('cropAlpha', cropAlpha, stack);
Image.extendMethod('scale', scale, stack);
Image.extendMethod('hsv', hsv);
Image.extendMethod('hsl', hsl);
Image.extendMethod('cmyk', cmyk);
Image.extendMethod('rgba8', rgba8);
Image.extendMethod('grey', grey).extendMethod('gray', grey);
Image.extendMethod('mask', mask);
Image.extendMethod('pad', pad);
Image.extendMethod('colorDepth', colorDepth);
Image.extendMethod('setBorder', setBorder, inPlace);
Image.extendMethod('rotate', rotate);
Image.extendMethod('rotateLeft', rotateLeft);
Image.extendMethod('rotateRight', rotateRight);
Image.extendMethod('getRow', getRow);
Image.extendMethod('getColumn', getColumn);
Image.extendMethod('getMatrix', getMatrix);
Image.extendMethod('setMatrix', setMatrix);
Image.extendMethod('getPixelsArray', getPixelsArray);
Image.extendMethod('getIntersection', getIntersection);
Image.extendMethod('getClosestCommonParent', getClosestCommonParent);
Image.extendMethod('split', split);
Image.extendMethod('getChannel', getChannel);
Image.extendMethod('combineChannels', combineChannels);
Image.extendMethod('setChannel', setChannel);
Image.extendMethod('getSimilarity', getSimilarity);
Image.extendMethod('getPixelsGrid', getPixelsGrid);
Image.extendMethod('getBestMatch', getBestMatch);
Image.extendMethod('paintMasks', paintMasks, inPlace);
Image.extendMethod('paintLabels', paintLabels, inPlace);
Image.extendMethod('paintPoints', paintPoints, inPlace);
Image.extendMethod('paintPolyline', paintPolyline, inPlace);
Image.extendMethod('paintPolygon', paintPolygon, inPlace);
Image.extendMethod('extract', extract);
Image.extendMethod('convolution', convolution);
Image.extendMethod('convolutionFft', convolutionFft);
Image.extendMethod('floodFill', floodFill);
Image.extendMethod('countAlphaPixels', countAlphaPixels);
Image.extendMethod('monotoneChainConvexHull', monotoneChainConvexHull);
Image.extendMethod('minimalBoundingRectangle', minimalBoundingRectangle);
Image.extendMethod('getHistogram', getHistogram).extendProperty('histogram', getHistogram);
Image.extendMethod('getHistograms', getHistograms).extendProperty('histograms', getHistograms);
Image.extendMethod('getColorHistogram', getColorHistogram).extendProperty('colorHistogram', getColorHistogram);
Image.extendMethod('getMin', getMin).extendProperty('min', getMin);
Image.extendMethod('getMax', getMax).extendProperty('max', getMax);
Image.extendMethod('getSum', getSum).extendProperty('sum', getSum);
Image.extendMethod('getMoment', getMoment).extendProperty('moment', getMoment);
Image.extendMethod('getLocalMaxima', getLocalMaxima);
Image.extendMethod('getMedian', getMedian).extendProperty('median', getMedian);
Image.extendMethod('getMean', getMean).extendProperty('mean', getMean);
Image.extendMethod('getPoints', getPoints).extendProperty('points', getPoints);
Image.extendMethod('getRelativePosition', getRelativePosition);
Image.extendMethod('getSvd', getSvd).extendProperty('svd', getSvd);
}