image-js 0.0.0-next-e30968a2d8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +29 -0
- package/lib/IJS.d.ts +316 -0
- package/lib/IJS.d.ts.map +1 -0
- package/lib/IJS.js +534 -0
- package/lib/IJS.js.map +1 -0
- package/lib/Mask.d.ts +257 -0
- package/lib/Mask.d.ts.map +1 -0
- package/lib/Mask.js +338 -0
- package/lib/Mask.js.map +1 -0
- package/lib/compute/histogram.d.ts +20 -0
- package/lib/compute/histogram.d.ts.map +1 -0
- package/lib/compute/histogram.js +28 -0
- package/lib/compute/histogram.js.map +1 -0
- package/lib/compute/index.d.ts +2 -0
- package/lib/compute/index.d.ts.map +1 -0
- package/lib/compute/index.js +18 -0
- package/lib/compute/index.js.map +1 -0
- package/lib/filters/and.d.ts +17 -0
- package/lib/filters/and.d.ts.map +1 -0
- package/lib/filters/and.js +29 -0
- package/lib/filters/and.js.map +1 -0
- package/lib/filters/blur.d.ts +37 -0
- package/lib/filters/blur.d.ts.map +1 -0
- package/lib/filters/blur.js +22 -0
- package/lib/filters/blur.js.map +1 -0
- package/lib/filters/convolution.d.ts +79 -0
- package/lib/filters/convolution.d.ts.map +1 -0
- package/lib/filters/convolution.js +196 -0
- package/lib/filters/convolution.js.map +1 -0
- package/lib/filters/derivativeFilter.d.ts +40 -0
- package/lib/filters/derivativeFilter.d.ts.map +1 -0
- package/lib/filters/derivativeFilter.js +42 -0
- package/lib/filters/derivativeFilter.js.map +1 -0
- package/lib/filters/gaussianBlur.d.ts +59 -0
- package/lib/filters/gaussianBlur.d.ts.map +1 -0
- package/lib/filters/gaussianBlur.js +59 -0
- package/lib/filters/gaussianBlur.js.map +1 -0
- package/lib/filters/gradientFilter.d.ts +54 -0
- package/lib/filters/gradientFilter.d.ts.map +1 -0
- package/lib/filters/gradientFilter.js +58 -0
- package/lib/filters/gradientFilter.js.map +1 -0
- package/lib/filters/hypotenuse.d.ts +23 -0
- package/lib/filters/hypotenuse.d.ts.map +1 -0
- package/lib/filters/hypotenuse.js +46 -0
- package/lib/filters/hypotenuse.js.map +1 -0
- package/lib/filters/index.d.ts +11 -0
- package/lib/filters/index.d.ts.map +1 -0
- package/lib/filters/index.js +27 -0
- package/lib/filters/index.js.map +1 -0
- package/lib/filters/invert.d.ts +11 -0
- package/lib/filters/invert.d.ts.map +1 -0
- package/lib/filters/invert.js +37 -0
- package/lib/filters/invert.js.map +1 -0
- package/lib/filters/or.d.ts +17 -0
- package/lib/filters/or.d.ts.map +1 -0
- package/lib/filters/or.js +29 -0
- package/lib/filters/or.js.map +1 -0
- package/lib/filters/subtractImage.d.ts +13 -0
- package/lib/filters/subtractImage.d.ts.map +1 -0
- package/lib/filters/subtractImage.js +64 -0
- package/lib/filters/subtractImage.js.map +1 -0
- package/lib/geometry/index.d.ts +4 -0
- package/lib/geometry/index.d.ts.map +1 -0
- package/lib/geometry/index.js +20 -0
- package/lib/geometry/index.js.map +1 -0
- package/lib/geometry/resize.d.ts +52 -0
- package/lib/geometry/resize.d.ts.map +1 -0
- package/lib/geometry/resize.js +107 -0
- package/lib/geometry/resize.js.map +1 -0
- package/lib/geometry/rotate.d.ts +54 -0
- package/lib/geometry/rotate.d.ts.map +1 -0
- package/lib/geometry/rotate.js +44 -0
- package/lib/geometry/rotate.js.map +1 -0
- package/lib/geometry/transform.d.ts +46 -0
- package/lib/geometry/transform.d.ts.map +1 -0
- package/lib/geometry/transform.js +95 -0
- package/lib/geometry/transform.js.map +1 -0
- package/lib/index.d.ts +10 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +26 -0
- package/lib/index.js.map +1 -0
- package/lib/load/decode.d.ts +10 -0
- package/lib/load/decode.d.ts.map +1 -0
- package/lib/load/decode.js +33 -0
- package/lib/load/decode.js.map +1 -0
- package/lib/load/decodeJpeg.d.ts +9 -0
- package/lib/load/decodeJpeg.d.ts.map +1 -0
- package/lib/load/decodeJpeg.js +20 -0
- package/lib/load/decodeJpeg.js.map +1 -0
- package/lib/load/decodePng.d.ts +9 -0
- package/lib/load/decodePng.d.ts.map +1 -0
- package/lib/load/decodePng.js +72 -0
- package/lib/load/decodePng.js.map +1 -0
- package/lib/load/decodeTiff.d.ts +9 -0
- package/lib/load/decodeTiff.d.ts.map +1 -0
- package/lib/load/decodeTiff.js +64 -0
- package/lib/load/decodeTiff.js.map +1 -0
- package/lib/load/index.d.ts +8 -0
- package/lib/load/index.d.ts.map +1 -0
- package/lib/load/index.js +24 -0
- package/lib/load/index.js.map +1 -0
- package/lib/load/read.d.ts +17 -0
- package/lib/load/read.d.ts.map +1 -0
- package/lib/load/read.js +31 -0
- package/lib/load/read.js.map +1 -0
- package/lib/load/readCanvas.d.ts +3 -0
- package/lib/load/readCanvas.d.ts.map +1 -0
- package/lib/load/readCanvas.js +17 -0
- package/lib/load/readCanvas.js.map +1 -0
- package/lib/load/readImg.d.ts +3 -0
- package/lib/load/readImg.d.ts.map +1 -0
- package/lib/load/readImg.js +17 -0
- package/lib/load/readImg.js.map +1 -0
- package/lib/morphology/bottomHat.d.ts +19 -0
- package/lib/morphology/bottomHat.d.ts.map +1 -0
- package/lib/morphology/bottomHat.js +46 -0
- package/lib/morphology/bottomHat.js.map +1 -0
- package/lib/morphology/cannyEdgeDetector.d.ts +49 -0
- package/lib/morphology/cannyEdgeDetector.d.ts.map +1 -0
- package/lib/morphology/cannyEdgeDetector.js +157 -0
- package/lib/morphology/cannyEdgeDetector.js.map +1 -0
- package/lib/morphology/clearBorder.d.ts +22 -0
- package/lib/morphology/clearBorder.d.ts.map +1 -0
- package/lib/morphology/clearBorder.js +89 -0
- package/lib/morphology/clearBorder.js.map +1 -0
- package/lib/morphology/close.d.ts +19 -0
- package/lib/morphology/close.d.ts.map +1 -0
- package/lib/morphology/close.js +41 -0
- package/lib/morphology/close.js.map +1 -0
- package/lib/morphology/dilate.d.ts +20 -0
- package/lib/morphology/dilate.d.ts.map +1 -0
- package/lib/morphology/dilate.js +199 -0
- package/lib/morphology/dilate.js.map +1 -0
- package/lib/morphology/erode.d.ts +20 -0
- package/lib/morphology/erode.d.ts.map +1 -0
- package/lib/morphology/erode.js +199 -0
- package/lib/morphology/erode.js.map +1 -0
- package/lib/morphology/floodFill.d.ts +22 -0
- package/lib/morphology/floodFill.d.ts.map +1 -0
- package/lib/morphology/floodFill.js +20 -0
- package/lib/morphology/floodFill.js.map +1 -0
- package/lib/morphology/index.d.ts +11 -0
- package/lib/morphology/index.d.ts.map +1 -0
- package/lib/morphology/index.js +27 -0
- package/lib/morphology/index.js.map +1 -0
- package/lib/morphology/morphologicalGradient.d.ts +19 -0
- package/lib/morphology/morphologicalGradient.d.ts.map +1 -0
- package/lib/morphology/morphologicalGradient.js +43 -0
- package/lib/morphology/morphologicalGradient.js.map +1 -0
- package/lib/morphology/open.d.ts +19 -0
- package/lib/morphology/open.d.ts.map +1 -0
- package/lib/morphology/open.js +43 -0
- package/lib/morphology/open.js.map +1 -0
- package/lib/morphology/topHat.d.ts +19 -0
- package/lib/morphology/topHat.d.ts.map +1 -0
- package/lib/morphology/topHat.js +44 -0
- package/lib/morphology/topHat.js.map +1 -0
- package/lib/operations/convertColor.d.ts +32 -0
- package/lib/operations/convertColor.d.ts.map +1 -0
- package/lib/operations/convertColor.js +148 -0
- package/lib/operations/convertColor.js.map +1 -0
- package/lib/operations/convertDepth.d.ts +10 -0
- package/lib/operations/convertDepth.d.ts.map +1 -0
- package/lib/operations/convertDepth.js +60 -0
- package/lib/operations/convertDepth.js.map +1 -0
- package/lib/operations/copyTo.d.ts +29 -0
- package/lib/operations/copyTo.d.ts.map +1 -0
- package/lib/operations/copyTo.js +51 -0
- package/lib/operations/copyTo.js.map +1 -0
- package/lib/operations/grey.d.ts +50 -0
- package/lib/operations/grey.d.ts.map +1 -0
- package/lib/operations/grey.js +86 -0
- package/lib/operations/grey.js.map +1 -0
- package/lib/operations/greyAlgorithms.d.ts +149 -0
- package/lib/operations/greyAlgorithms.d.ts.map +1 -0
- package/lib/operations/greyAlgorithms.js +242 -0
- package/lib/operations/greyAlgorithms.js.map +1 -0
- package/lib/operations/index.d.ts +8 -0
- package/lib/operations/index.d.ts.map +1 -0
- package/lib/operations/index.js +24 -0
- package/lib/operations/index.js.map +1 -0
- package/lib/operations/merge.d.ts +9 -0
- package/lib/operations/merge.d.ts.map +1 -0
- package/lib/operations/merge.js +51 -0
- package/lib/operations/merge.js.map +1 -0
- package/lib/operations/split.d.ts +9 -0
- package/lib/operations/split.d.ts.map +1 -0
- package/lib/operations/split.js +23 -0
- package/lib/operations/split.js.map +1 -0
- package/lib/operations/threshold.d.ts +58 -0
- package/lib/operations/threshold.d.ts.map +1 -0
- package/lib/operations/threshold.js +114 -0
- package/lib/operations/threshold.js.map +1 -0
- package/lib/operations/thresholds/huang.d.ts +8 -0
- package/lib/operations/thresholds/huang.d.ts.map +1 -0
- package/lib/operations/thresholds/huang.js +81 -0
- package/lib/operations/thresholds/huang.js.map +1 -0
- package/lib/operations/thresholds/intermodes.d.ts +8 -0
- package/lib/operations/thresholds/intermodes.d.ts.map +1 -0
- package/lib/operations/thresholds/intermodes.js +62 -0
- package/lib/operations/thresholds/intermodes.js.map +1 -0
- package/lib/operations/thresholds/isodata.d.ts +8 -0
- package/lib/operations/thresholds/isodata.d.ts.map +1 -0
- package/lib/operations/thresholds/isodata.js +55 -0
- package/lib/operations/thresholds/isodata.js.map +1 -0
- package/lib/operations/thresholds/li.d.ts +9 -0
- package/lib/operations/thresholds/li.d.ts.map +1 -0
- package/lib/operations/thresholds/li.js +77 -0
- package/lib/operations/thresholds/li.js.map +1 -0
- package/lib/operations/thresholds/maxEntropy.d.ts +9 -0
- package/lib/operations/thresholds/maxEntropy.d.ts.map +1 -0
- package/lib/operations/thresholds/maxEntropy.js +80 -0
- package/lib/operations/thresholds/maxEntropy.js.map +1 -0
- package/lib/operations/thresholds/mean.d.ts +9 -0
- package/lib/operations/thresholds/mean.d.ts.map +1 -0
- package/lib/operations/thresholds/mean.js +26 -0
- package/lib/operations/thresholds/mean.js.map +1 -0
- package/lib/operations/thresholds/minError.d.ts +9 -0
- package/lib/operations/thresholds/minError.d.ts.map +1 -0
- package/lib/operations/thresholds/minError.js +90 -0
- package/lib/operations/thresholds/minError.js.map +1 -0
- package/lib/operations/thresholds/minimum.d.ts +8 -0
- package/lib/operations/thresholds/minimum.d.ts.map +1 -0
- package/lib/operations/thresholds/minimum.js +78 -0
- package/lib/operations/thresholds/minimum.js.map +1 -0
- package/lib/operations/thresholds/moments.d.ts +9 -0
- package/lib/operations/thresholds/moments.d.ts.map +1 -0
- package/lib/operations/thresholds/moments.js +62 -0
- package/lib/operations/thresholds/moments.js.map +1 -0
- package/lib/operations/thresholds/otsu.d.ts +9 -0
- package/lib/operations/thresholds/otsu.d.ts.map +1 -0
- package/lib/operations/thresholds/otsu.js +43 -0
- package/lib/operations/thresholds/otsu.js.map +1 -0
- package/lib/operations/thresholds/percentile.d.ts +8 -0
- package/lib/operations/thresholds/percentile.d.ts.map +1 -0
- package/lib/operations/thresholds/percentile.js +39 -0
- package/lib/operations/thresholds/percentile.js.map +1 -0
- package/lib/operations/thresholds/renyiEntropy.d.ts +9 -0
- package/lib/operations/thresholds/renyiEntropy.d.ts.map +1 -0
- package/lib/operations/thresholds/renyiEntropy.js +133 -0
- package/lib/operations/thresholds/renyiEntropy.js.map +1 -0
- package/lib/operations/thresholds/shanbhag.d.ts +10 -0
- package/lib/operations/thresholds/shanbhag.d.ts.map +1 -0
- package/lib/operations/thresholds/shanbhag.js +77 -0
- package/lib/operations/thresholds/shanbhag.js.map +1 -0
- package/lib/operations/thresholds/triangle.d.ts +8 -0
- package/lib/operations/thresholds/triangle.d.ts.map +1 -0
- package/lib/operations/thresholds/triangle.js +113 -0
- package/lib/operations/thresholds/triangle.js.map +1 -0
- package/lib/operations/thresholds/yen.d.ts +9 -0
- package/lib/operations/thresholds/yen.d.ts.map +1 -0
- package/lib/operations/thresholds/yen.js +62 -0
- package/lib/operations/thresholds/yen.js.map +1 -0
- package/lib/roi/RoiManager.d.ts +32 -0
- package/lib/roi/RoiManager.d.ts.map +1 -0
- package/lib/roi/RoiManager.js +10 -0
- package/lib/roi/RoiManager.js.map +1 -0
- package/lib/roi/RoiMapManager.d.ts +33 -0
- package/lib/roi/RoiMapManager.d.ts.map +1 -0
- package/lib/roi/RoiMapManager.js +17 -0
- package/lib/roi/RoiMapManager.js.map +1 -0
- package/lib/roi/colorRois.d.ts +39 -0
- package/lib/roi/colorRois.d.ts.map +1 -0
- package/lib/roi/colorRois.js +48 -0
- package/lib/roi/colorRois.js.map +1 -0
- package/lib/roi/fromMask.d.ts +19 -0
- package/lib/roi/fromMask.d.ts.map +1 -0
- package/lib/roi/fromMask.js +148 -0
- package/lib/roi/fromMask.js.map +1 -0
- package/lib/roi/index.d.ts +5 -0
- package/lib/roi/index.d.ts.map +1 -0
- package/lib/roi/index.js +21 -0
- package/lib/roi/index.js.map +1 -0
- package/lib/roi/utils/colorMaps/getBinaryMap.d.ts +37 -0
- package/lib/roi/utils/colorMaps/getBinaryMap.d.ts.map +1 -0
- package/lib/roi/utils/colorMaps/getBinaryMap.js +34 -0
- package/lib/roi/utils/colorMaps/getBinaryMap.js.map +1 -0
- package/lib/roi/utils/colorMaps/getRainbowMap.d.ts +25 -0
- package/lib/roi/utils/colorMaps/getRainbowMap.d.ts.map +1 -0
- package/lib/roi/utils/colorMaps/getRainbowMap.js +51 -0
- package/lib/roi/utils/colorMaps/getRainbowMap.js.map +1 -0
- package/lib/roi/utils/colorMaps/getSaturationMap.d.ts +42 -0
- package/lib/roi/utils/colorMaps/getSaturationMap.d.ts.map +1 -0
- package/lib/roi/utils/colorMaps/getSaturationMap.js +39 -0
- package/lib/roi/utils/colorMaps/getSaturationMap.js.map +1 -0
- package/lib/roi/utils/constants.d.ts +4 -0
- package/lib/roi/utils/constants.d.ts.map +1 -0
- package/lib/roi/utils/constants.js +7 -0
- package/lib/roi/utils/constants.js.map +1 -0
- package/lib/roi/utils/getColorMap.d.ts +32 -0
- package/lib/roi/utils/getColorMap.d.ts.map +1 -0
- package/lib/roi/utils/getColorMap.js +28 -0
- package/lib/roi/utils/getColorMap.js.map +1 -0
- package/lib/roi/utils/hsvToRgb.d.ts +21 -0
- package/lib/roi/utils/hsvToRgb.d.ts.map +1 -0
- package/lib/roi/utils/hsvToRgb.js +58 -0
- package/lib/roi/utils/hsvToRgb.js.map +1 -0
- package/lib/roi/utils/rgbToNumber.d.ts +8 -0
- package/lib/roi/utils/rgbToNumber.d.ts.map +1 -0
- package/lib/roi/utils/rgbToNumber.js +14 -0
- package/lib/roi/utils/rgbToNumber.js.map +1 -0
- package/lib/save/encode.d.ts +38 -0
- package/lib/save/encode.d.ts.map +1 -0
- package/lib/save/encode.js +33 -0
- package/lib/save/encode.js.map +1 -0
- package/lib/save/encodeJpeg.d.ts +18 -0
- package/lib/save/encodeJpeg.d.ts.map +1 -0
- package/lib/save/encodeJpeg.js +26 -0
- package/lib/save/encodeJpeg.js.map +1 -0
- package/lib/save/encodePng.d.ts +12 -0
- package/lib/save/encodePng.d.ts.map +1 -0
- package/lib/save/encodePng.js +16 -0
- package/lib/save/encodePng.js.map +1 -0
- package/lib/save/index.d.ts +6 -0
- package/lib/save/index.d.ts.map +1 -0
- package/lib/save/index.js +22 -0
- package/lib/save/index.js.map +1 -0
- package/lib/save/write.d.ts +27 -0
- package/lib/save/write.d.ts.map +1 -0
- package/lib/save/write.js +73 -0
- package/lib/save/write.js.map +1 -0
- package/lib/save/writeCanvas.d.ts +42 -0
- package/lib/save/writeCanvas.d.ts.map +1 -0
- package/lib/save/writeCanvas.js +29 -0
- package/lib/save/writeCanvas.js.map +1 -0
- package/lib/utils/boolToNumber.d.ts +9 -0
- package/lib/utils/boolToNumber.d.ts.map +1 -0
- package/lib/utils/boolToNumber.js +21 -0
- package/lib/utils/boolToNumber.js.map +1 -0
- package/lib/utils/borderIterator.d.ts +9 -0
- package/lib/utils/borderIterator.d.ts.map +1 -0
- package/lib/utils/borderIterator.js +25 -0
- package/lib/utils/borderIterator.js.map +1 -0
- package/lib/utils/checkKernel.d.ts +8 -0
- package/lib/utils/checkKernel.d.ts.map +1 -0
- package/lib/utils/checkKernel.js +16 -0
- package/lib/utils/checkKernel.js.map +1 -0
- package/lib/utils/checkProcessable.d.ts +18 -0
- package/lib/utils/checkProcessable.d.ts.map +1 -0
- package/lib/utils/checkProcessable.js +65 -0
- package/lib/utils/checkProcessable.js.map +1 -0
- package/lib/utils/clamp.d.ts +10 -0
- package/lib/utils/clamp.d.ts.map +1 -0
- package/lib/utils/clamp.js +38 -0
- package/lib/utils/clamp.js.map +1 -0
- package/lib/utils/colorModels.d.ts +15 -0
- package/lib/utils/colorModels.d.ts.map +1 -0
- package/lib/utils/colorModels.js +39 -0
- package/lib/utils/colorModels.js.map +1 -0
- package/lib/utils/copyData.d.ts +4 -0
- package/lib/utils/copyData.d.ts.map +1 -0
- package/lib/utils/copyData.js +20 -0
- package/lib/utils/copyData.js.map +1 -0
- package/lib/utils/getIndex.d.ts +12 -0
- package/lib/utils/getIndex.d.ts.map +1 -0
- package/lib/utils/getIndex.js +17 -0
- package/lib/utils/getIndex.js.map +1 -0
- package/lib/utils/getOutputImage.d.ts +61 -0
- package/lib/utils/getOutputImage.d.ts.map +1 -0
- package/lib/utils/getOutputImage.js +150 -0
- package/lib/utils/getOutputImage.js.map +1 -0
- package/lib/utils/interpolateBorder.d.ts +44 -0
- package/lib/utils/interpolateBorder.d.ts.map +1 -0
- package/lib/utils/interpolateBorder.js +143 -0
- package/lib/utils/interpolateBorder.js.map +1 -0
- package/lib/utils/interpolatePixel.d.ts +18 -0
- package/lib/utils/interpolatePixel.d.ts.map +1 -0
- package/lib/utils/interpolatePixel.js +122 -0
- package/lib/utils/interpolatePixel.js.map +1 -0
- package/lib/utils/kernels.d.ts +13 -0
- package/lib/utils/kernels.d.ts.map +1 -0
- package/lib/utils/kernels.js +66 -0
- package/lib/utils/kernels.js.map +1 -0
- package/lib/utils/kinds.d.ts +9 -0
- package/lib/utils/kinds.d.ts.map +1 -0
- package/lib/utils/kinds.js +23 -0
- package/lib/utils/kinds.js.map +1 -0
- package/lib/utils/round.d.ts +2 -0
- package/lib/utils/round.d.ts.map +1 -0
- package/lib/utils/round.js +11 -0
- package/lib/utils/round.js.map +1 -0
- package/lib/utils/validators.d.ts +23 -0
- package/lib/utils/validators.d.ts.map +1 -0
- package/lib/utils/validators.js +40 -0
- package/lib/utils/validators.js.map +1 -0
- package/lib-esm/IJS.d.ts +316 -0
- package/lib-esm/IJS.d.ts.map +1 -0
- package/lib-esm/IJS.js +526 -0
- package/lib-esm/IJS.js.map +1 -0
- package/lib-esm/Mask.d.ts +257 -0
- package/lib-esm/Mask.d.ts.map +1 -0
- package/lib-esm/Mask.js +334 -0
- package/lib-esm/Mask.js.map +1 -0
- package/lib-esm/compute/histogram.d.ts +20 -0
- package/lib-esm/compute/histogram.d.ts.map +1 -0
- package/lib-esm/compute/histogram.js +24 -0
- package/lib-esm/compute/histogram.js.map +1 -0
- package/lib-esm/compute/index.d.ts +2 -0
- package/lib-esm/compute/index.d.ts.map +1 -0
- package/lib-esm/compute/index.js +2 -0
- package/lib-esm/compute/index.js.map +1 -0
- package/lib-esm/filters/and.d.ts +17 -0
- package/lib-esm/filters/and.d.ts.map +1 -0
- package/lib-esm/filters/and.js +25 -0
- package/lib-esm/filters/and.js.map +1 -0
- package/lib-esm/filters/blur.d.ts +37 -0
- package/lib-esm/filters/blur.d.ts.map +1 -0
- package/lib-esm/filters/blur.js +18 -0
- package/lib-esm/filters/blur.js.map +1 -0
- package/lib-esm/filters/convolution.d.ts +79 -0
- package/lib-esm/filters/convolution.d.ts.map +1 -0
- package/lib-esm/filters/convolution.js +189 -0
- package/lib-esm/filters/convolution.js.map +1 -0
- package/lib-esm/filters/derivativeFilter.d.ts +40 -0
- package/lib-esm/filters/derivativeFilter.d.ts.map +1 -0
- package/lib-esm/filters/derivativeFilter.js +38 -0
- package/lib-esm/filters/derivativeFilter.js.map +1 -0
- package/lib-esm/filters/gaussianBlur.d.ts +59 -0
- package/lib-esm/filters/gaussianBlur.d.ts.map +1 -0
- package/lib-esm/filters/gaussianBlur.js +55 -0
- package/lib-esm/filters/gaussianBlur.js.map +1 -0
- package/lib-esm/filters/gradientFilter.d.ts +54 -0
- package/lib-esm/filters/gradientFilter.d.ts.map +1 -0
- package/lib-esm/filters/gradientFilter.js +51 -0
- package/lib-esm/filters/gradientFilter.js.map +1 -0
- package/lib-esm/filters/hypotenuse.d.ts +23 -0
- package/lib-esm/filters/hypotenuse.d.ts.map +1 -0
- package/lib-esm/filters/hypotenuse.js +39 -0
- package/lib-esm/filters/hypotenuse.js.map +1 -0
- package/lib-esm/filters/index.d.ts +11 -0
- package/lib-esm/filters/index.d.ts.map +1 -0
- package/lib-esm/filters/index.js +11 -0
- package/lib-esm/filters/index.js.map +1 -0
- package/lib-esm/filters/invert.d.ts +11 -0
- package/lib-esm/filters/invert.d.ts.map +1 -0
- package/lib-esm/filters/invert.js +33 -0
- package/lib-esm/filters/invert.js.map +1 -0
- package/lib-esm/filters/or.d.ts +17 -0
- package/lib-esm/filters/or.d.ts.map +1 -0
- package/lib-esm/filters/or.js +25 -0
- package/lib-esm/filters/or.js.map +1 -0
- package/lib-esm/filters/subtractImage.d.ts +13 -0
- package/lib-esm/filters/subtractImage.d.ts.map +1 -0
- package/lib-esm/filters/subtractImage.js +57 -0
- package/lib-esm/filters/subtractImage.js.map +1 -0
- package/lib-esm/geometry/index.d.ts +4 -0
- package/lib-esm/geometry/index.d.ts.map +1 -0
- package/lib-esm/geometry/index.js +4 -0
- package/lib-esm/geometry/index.js.map +1 -0
- package/lib-esm/geometry/resize.d.ts +52 -0
- package/lib-esm/geometry/resize.d.ts.map +1 -0
- package/lib-esm/geometry/resize.js +103 -0
- package/lib-esm/geometry/resize.js.map +1 -0
- package/lib-esm/geometry/rotate.d.ts +54 -0
- package/lib-esm/geometry/rotate.d.ts.map +1 -0
- package/lib-esm/geometry/rotate.js +40 -0
- package/lib-esm/geometry/rotate.js.map +1 -0
- package/lib-esm/geometry/transform.d.ts +46 -0
- package/lib-esm/geometry/transform.d.ts.map +1 -0
- package/lib-esm/geometry/transform.js +91 -0
- package/lib-esm/geometry/transform.js.map +1 -0
- package/lib-esm/index.d.ts +10 -0
- package/lib-esm/index.d.ts.map +1 -0
- package/lib-esm/index.js +10 -0
- package/lib-esm/index.js.map +1 -0
- package/lib-esm/load/decode.d.ts +10 -0
- package/lib-esm/load/decode.d.ts.map +1 -0
- package/lib-esm/load/decode.js +26 -0
- package/lib-esm/load/decode.js.map +1 -0
- package/lib-esm/load/decodeJpeg.d.ts +9 -0
- package/lib-esm/load/decodeJpeg.d.ts.map +1 -0
- package/lib-esm/load/decodeJpeg.js +16 -0
- package/lib-esm/load/decodeJpeg.js.map +1 -0
- package/lib-esm/load/decodePng.d.ts +9 -0
- package/lib-esm/load/decodePng.d.ts.map +1 -0
- package/lib-esm/load/decodePng.js +68 -0
- package/lib-esm/load/decodePng.js.map +1 -0
- package/lib-esm/load/decodeTiff.d.ts +9 -0
- package/lib-esm/load/decodeTiff.d.ts.map +1 -0
- package/lib-esm/load/decodeTiff.js +60 -0
- package/lib-esm/load/decodeTiff.js.map +1 -0
- package/lib-esm/load/index.d.ts +8 -0
- package/lib-esm/load/index.d.ts.map +1 -0
- package/lib-esm/load/index.js +8 -0
- package/lib-esm/load/index.js.map +1 -0
- package/lib-esm/load/read.d.ts +17 -0
- package/lib-esm/load/read.d.ts.map +1 -0
- package/lib-esm/load/read.js +23 -0
- package/lib-esm/load/read.js.map +1 -0
- package/lib-esm/load/readCanvas.d.ts +3 -0
- package/lib-esm/load/readCanvas.d.ts.map +1 -0
- package/lib-esm/load/readCanvas.js +13 -0
- package/lib-esm/load/readCanvas.js.map +1 -0
- package/lib-esm/load/readImg.d.ts +3 -0
- package/lib-esm/load/readImg.d.ts.map +1 -0
- package/lib-esm/load/readImg.js +13 -0
- package/lib-esm/load/readImg.js.map +1 -0
- package/lib-esm/morphology/bottomHat.d.ts +19 -0
- package/lib-esm/morphology/bottomHat.d.ts.map +1 -0
- package/lib-esm/morphology/bottomHat.js +39 -0
- package/lib-esm/morphology/bottomHat.js.map +1 -0
- package/lib-esm/morphology/cannyEdgeDetector.d.ts +49 -0
- package/lib-esm/morphology/cannyEdgeDetector.d.ts.map +1 -0
- package/lib-esm/morphology/cannyEdgeDetector.js +149 -0
- package/lib-esm/morphology/cannyEdgeDetector.js.map +1 -0
- package/lib-esm/morphology/clearBorder.d.ts +22 -0
- package/lib-esm/morphology/clearBorder.d.ts.map +1 -0
- package/lib-esm/morphology/clearBorder.js +85 -0
- package/lib-esm/morphology/clearBorder.js.map +1 -0
- package/lib-esm/morphology/close.d.ts +19 -0
- package/lib-esm/morphology/close.d.ts.map +1 -0
- package/lib-esm/morphology/close.js +34 -0
- package/lib-esm/morphology/close.js.map +1 -0
- package/lib-esm/morphology/dilate.d.ts +20 -0
- package/lib-esm/morphology/dilate.d.ts.map +1 -0
- package/lib-esm/morphology/dilate.js +192 -0
- package/lib-esm/morphology/dilate.js.map +1 -0
- package/lib-esm/morphology/erode.d.ts +20 -0
- package/lib-esm/morphology/erode.d.ts.map +1 -0
- package/lib-esm/morphology/erode.js +192 -0
- package/lib-esm/morphology/erode.js.map +1 -0
- package/lib-esm/morphology/floodFill.d.ts +22 -0
- package/lib-esm/morphology/floodFill.d.ts.map +1 -0
- package/lib-esm/morphology/floodFill.js +16 -0
- package/lib-esm/morphology/floodFill.js.map +1 -0
- package/lib-esm/morphology/index.d.ts +11 -0
- package/lib-esm/morphology/index.d.ts.map +1 -0
- package/lib-esm/morphology/index.js +11 -0
- package/lib-esm/morphology/index.js.map +1 -0
- package/lib-esm/morphology/morphologicalGradient.d.ts +19 -0
- package/lib-esm/morphology/morphologicalGradient.d.ts.map +1 -0
- package/lib-esm/morphology/morphologicalGradient.js +36 -0
- package/lib-esm/morphology/morphologicalGradient.js.map +1 -0
- package/lib-esm/morphology/open.d.ts +19 -0
- package/lib-esm/morphology/open.d.ts.map +1 -0
- package/lib-esm/morphology/open.js +36 -0
- package/lib-esm/morphology/open.js.map +1 -0
- package/lib-esm/morphology/topHat.d.ts +19 -0
- package/lib-esm/morphology/topHat.d.ts.map +1 -0
- package/lib-esm/morphology/topHat.js +37 -0
- package/lib-esm/morphology/topHat.js.map +1 -0
- package/lib-esm/operations/convertColor.d.ts +32 -0
- package/lib-esm/operations/convertColor.d.ts.map +1 -0
- package/lib-esm/operations/convertColor.js +142 -0
- package/lib-esm/operations/convertColor.js.map +1 -0
- package/lib-esm/operations/convertDepth.d.ts +10 -0
- package/lib-esm/operations/convertDepth.d.ts.map +1 -0
- package/lib-esm/operations/convertDepth.js +56 -0
- package/lib-esm/operations/convertDepth.js.map +1 -0
- package/lib-esm/operations/copyTo.d.ts +29 -0
- package/lib-esm/operations/copyTo.d.ts.map +1 -0
- package/lib-esm/operations/copyTo.js +48 -0
- package/lib-esm/operations/copyTo.js.map +1 -0
- package/lib-esm/operations/grey.d.ts +50 -0
- package/lib-esm/operations/grey.d.ts.map +1 -0
- package/lib-esm/operations/grey.js +60 -0
- package/lib-esm/operations/grey.js.map +1 -0
- package/lib-esm/operations/greyAlgorithms.d.ts +149 -0
- package/lib-esm/operations/greyAlgorithms.d.ts.map +1 -0
- package/lib-esm/operations/greyAlgorithms.js +223 -0
- package/lib-esm/operations/greyAlgorithms.js.map +1 -0
- package/lib-esm/operations/index.d.ts +8 -0
- package/lib-esm/operations/index.d.ts.map +1 -0
- package/lib-esm/operations/index.js +8 -0
- package/lib-esm/operations/index.js.map +1 -0
- package/lib-esm/operations/merge.d.ts +9 -0
- package/lib-esm/operations/merge.d.ts.map +1 -0
- package/lib-esm/operations/merge.js +47 -0
- package/lib-esm/operations/merge.js.map +1 -0
- package/lib-esm/operations/split.d.ts +9 -0
- package/lib-esm/operations/split.d.ts.map +1 -0
- package/lib-esm/operations/split.js +19 -0
- package/lib-esm/operations/split.js.map +1 -0
- package/lib-esm/operations/threshold.d.ts +58 -0
- package/lib-esm/operations/threshold.d.ts.map +1 -0
- package/lib-esm/operations/threshold.js +106 -0
- package/lib-esm/operations/threshold.js.map +1 -0
- package/lib-esm/operations/thresholds/huang.d.ts +8 -0
- package/lib-esm/operations/thresholds/huang.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/huang.js +78 -0
- package/lib-esm/operations/thresholds/huang.js.map +1 -0
- package/lib-esm/operations/thresholds/intermodes.d.ts +8 -0
- package/lib-esm/operations/thresholds/intermodes.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/intermodes.js +59 -0
- package/lib-esm/operations/thresholds/intermodes.js.map +1 -0
- package/lib-esm/operations/thresholds/isodata.d.ts +8 -0
- package/lib-esm/operations/thresholds/isodata.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/isodata.js +52 -0
- package/lib-esm/operations/thresholds/isodata.js.map +1 -0
- package/lib-esm/operations/thresholds/li.d.ts +9 -0
- package/lib-esm/operations/thresholds/li.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/li.js +74 -0
- package/lib-esm/operations/thresholds/li.js.map +1 -0
- package/lib-esm/operations/thresholds/maxEntropy.d.ts +9 -0
- package/lib-esm/operations/thresholds/maxEntropy.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/maxEntropy.js +77 -0
- package/lib-esm/operations/thresholds/maxEntropy.js.map +1 -0
- package/lib-esm/operations/thresholds/mean.d.ts +9 -0
- package/lib-esm/operations/thresholds/mean.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/mean.js +23 -0
- package/lib-esm/operations/thresholds/mean.js.map +1 -0
- package/lib-esm/operations/thresholds/minError.d.ts +9 -0
- package/lib-esm/operations/thresholds/minError.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/minError.js +87 -0
- package/lib-esm/operations/thresholds/minError.js.map +1 -0
- package/lib-esm/operations/thresholds/minimum.d.ts +8 -0
- package/lib-esm/operations/thresholds/minimum.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/minimum.js +75 -0
- package/lib-esm/operations/thresholds/minimum.js.map +1 -0
- package/lib-esm/operations/thresholds/moments.d.ts +9 -0
- package/lib-esm/operations/thresholds/moments.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/moments.js +59 -0
- package/lib-esm/operations/thresholds/moments.js.map +1 -0
- package/lib-esm/operations/thresholds/otsu.d.ts +9 -0
- package/lib-esm/operations/thresholds/otsu.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/otsu.js +39 -0
- package/lib-esm/operations/thresholds/otsu.js.map +1 -0
- package/lib-esm/operations/thresholds/percentile.d.ts +8 -0
- package/lib-esm/operations/thresholds/percentile.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/percentile.js +36 -0
- package/lib-esm/operations/thresholds/percentile.js.map +1 -0
- package/lib-esm/operations/thresholds/renyiEntropy.d.ts +9 -0
- package/lib-esm/operations/thresholds/renyiEntropy.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/renyiEntropy.js +130 -0
- package/lib-esm/operations/thresholds/renyiEntropy.js.map +1 -0
- package/lib-esm/operations/thresholds/shanbhag.d.ts +10 -0
- package/lib-esm/operations/thresholds/shanbhag.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/shanbhag.js +74 -0
- package/lib-esm/operations/thresholds/shanbhag.js.map +1 -0
- package/lib-esm/operations/thresholds/triangle.d.ts +8 -0
- package/lib-esm/operations/thresholds/triangle.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/triangle.js +109 -0
- package/lib-esm/operations/thresholds/triangle.js.map +1 -0
- package/lib-esm/operations/thresholds/yen.d.ts +9 -0
- package/lib-esm/operations/thresholds/yen.d.ts.map +1 -0
- package/lib-esm/operations/thresholds/yen.js +59 -0
- package/lib-esm/operations/thresholds/yen.js.map +1 -0
- package/lib-esm/roi/RoiManager.d.ts +32 -0
- package/lib-esm/roi/RoiManager.d.ts.map +1 -0
- package/lib-esm/roi/RoiManager.js +7 -0
- package/lib-esm/roi/RoiManager.js.map +1 -0
- package/lib-esm/roi/RoiMapManager.d.ts +33 -0
- package/lib-esm/roi/RoiMapManager.d.ts.map +1 -0
- package/lib-esm/roi/RoiMapManager.js +13 -0
- package/lib-esm/roi/RoiMapManager.js.map +1 -0
- package/lib-esm/roi/colorRois.d.ts +39 -0
- package/lib-esm/roi/colorRois.d.ts.map +1 -0
- package/lib-esm/roi/colorRois.js +44 -0
- package/lib-esm/roi/colorRois.js.map +1 -0
- package/lib-esm/roi/fromMask.d.ts +19 -0
- package/lib-esm/roi/fromMask.d.ts.map +1 -0
- package/lib-esm/roi/fromMask.js +144 -0
- package/lib-esm/roi/fromMask.js.map +1 -0
- package/lib-esm/roi/index.d.ts +5 -0
- package/lib-esm/roi/index.d.ts.map +1 -0
- package/lib-esm/roi/index.js +5 -0
- package/lib-esm/roi/index.js.map +1 -0
- package/lib-esm/roi/utils/colorMaps/getBinaryMap.d.ts +37 -0
- package/lib-esm/roi/utils/colorMaps/getBinaryMap.d.ts.map +1 -0
- package/lib-esm/roi/utils/colorMaps/getBinaryMap.js +30 -0
- package/lib-esm/roi/utils/colorMaps/getBinaryMap.js.map +1 -0
- package/lib-esm/roi/utils/colorMaps/getRainbowMap.d.ts +25 -0
- package/lib-esm/roi/utils/colorMaps/getRainbowMap.d.ts.map +1 -0
- package/lib-esm/roi/utils/colorMaps/getRainbowMap.js +47 -0
- package/lib-esm/roi/utils/colorMaps/getRainbowMap.js.map +1 -0
- package/lib-esm/roi/utils/colorMaps/getSaturationMap.d.ts +42 -0
- package/lib-esm/roi/utils/colorMaps/getSaturationMap.d.ts.map +1 -0
- package/lib-esm/roi/utils/colorMaps/getSaturationMap.js +35 -0
- package/lib-esm/roi/utils/colorMaps/getSaturationMap.js.map +1 -0
- package/lib-esm/roi/utils/constants.d.ts +4 -0
- package/lib-esm/roi/utils/constants.d.ts.map +1 -0
- package/lib-esm/roi/utils/constants.js +4 -0
- package/lib-esm/roi/utils/constants.js.map +1 -0
- package/lib-esm/roi/utils/getColorMap.d.ts +32 -0
- package/lib-esm/roi/utils/getColorMap.d.ts.map +1 -0
- package/lib-esm/roi/utils/getColorMap.js +24 -0
- package/lib-esm/roi/utils/getColorMap.js.map +1 -0
- package/lib-esm/roi/utils/hsvToRgb.d.ts +21 -0
- package/lib-esm/roi/utils/hsvToRgb.d.ts.map +1 -0
- package/lib-esm/roi/utils/hsvToRgb.js +54 -0
- package/lib-esm/roi/utils/hsvToRgb.js.map +1 -0
- package/lib-esm/roi/utils/rgbToNumber.d.ts +8 -0
- package/lib-esm/roi/utils/rgbToNumber.d.ts.map +1 -0
- package/lib-esm/roi/utils/rgbToNumber.js +10 -0
- package/lib-esm/roi/utils/rgbToNumber.js.map +1 -0
- package/lib-esm/save/encode.d.ts +38 -0
- package/lib-esm/save/encode.d.ts.map +1 -0
- package/lib-esm/save/encode.js +29 -0
- package/lib-esm/save/encode.js.map +1 -0
- package/lib-esm/save/encodeJpeg.d.ts +18 -0
- package/lib-esm/save/encodeJpeg.d.ts.map +1 -0
- package/lib-esm/save/encodeJpeg.js +22 -0
- package/lib-esm/save/encodeJpeg.js.map +1 -0
- package/lib-esm/save/encodePng.d.ts +12 -0
- package/lib-esm/save/encodePng.d.ts.map +1 -0
- package/lib-esm/save/encodePng.js +12 -0
- package/lib-esm/save/encodePng.js.map +1 -0
- package/lib-esm/save/index.d.ts +6 -0
- package/lib-esm/save/index.d.ts.map +1 -0
- package/lib-esm/save/index.js +6 -0
- package/lib-esm/save/index.js.map +1 -0
- package/lib-esm/save/write.d.ts +27 -0
- package/lib-esm/save/write.d.ts.map +1 -0
- package/lib-esm/save/write.js +65 -0
- package/lib-esm/save/write.js.map +1 -0
- package/lib-esm/save/writeCanvas.d.ts +42 -0
- package/lib-esm/save/writeCanvas.d.ts.map +1 -0
- package/lib-esm/save/writeCanvas.js +25 -0
- package/lib-esm/save/writeCanvas.js.map +1 -0
- package/lib-esm/utils/boolToNumber.d.ts +9 -0
- package/lib-esm/utils/boolToNumber.d.ts.map +1 -0
- package/lib-esm/utils/boolToNumber.js +17 -0
- package/lib-esm/utils/boolToNumber.js.map +1 -0
- package/lib-esm/utils/borderIterator.d.ts +9 -0
- package/lib-esm/utils/borderIterator.d.ts.map +1 -0
- package/lib-esm/utils/borderIterator.js +21 -0
- package/lib-esm/utils/borderIterator.js.map +1 -0
- package/lib-esm/utils/checkKernel.d.ts +8 -0
- package/lib-esm/utils/checkKernel.d.ts.map +1 -0
- package/lib-esm/utils/checkKernel.js +12 -0
- package/lib-esm/utils/checkKernel.js.map +1 -0
- package/lib-esm/utils/checkProcessable.d.ts +18 -0
- package/lib-esm/utils/checkProcessable.d.ts.map +1 -0
- package/lib-esm/utils/checkProcessable.js +62 -0
- package/lib-esm/utils/checkProcessable.js.map +1 -0
- package/lib-esm/utils/clamp.d.ts +10 -0
- package/lib-esm/utils/clamp.d.ts.map +1 -0
- package/lib-esm/utils/clamp.js +34 -0
- package/lib-esm/utils/clamp.js.map +1 -0
- package/lib-esm/utils/colorModels.d.ts +15 -0
- package/lib-esm/utils/colorModels.d.ts.map +1 -0
- package/lib-esm/utils/colorModels.js +36 -0
- package/lib-esm/utils/colorModels.js.map +1 -0
- package/lib-esm/utils/copyData.d.ts +4 -0
- package/lib-esm/utils/copyData.d.ts.map +1 -0
- package/lib-esm/utils/copyData.js +16 -0
- package/lib-esm/utils/copyData.js.map +1 -0
- package/lib-esm/utils/getIndex.d.ts +12 -0
- package/lib-esm/utils/getIndex.d.ts.map +1 -0
- package/lib-esm/utils/getIndex.js +13 -0
- package/lib-esm/utils/getIndex.js.map +1 -0
- package/lib-esm/utils/getOutputImage.d.ts +61 -0
- package/lib-esm/utils/getOutputImage.d.ts.map +1 -0
- package/lib-esm/utils/getOutputImage.js +143 -0
- package/lib-esm/utils/getOutputImage.js.map +1 -0
- package/lib-esm/utils/interpolateBorder.d.ts +44 -0
- package/lib-esm/utils/interpolateBorder.d.ts.map +1 -0
- package/lib-esm/utils/interpolateBorder.js +134 -0
- package/lib-esm/utils/interpolateBorder.js.map +1 -0
- package/lib-esm/utils/interpolatePixel.d.ts +18 -0
- package/lib-esm/utils/interpolatePixel.d.ts.map +1 -0
- package/lib-esm/utils/interpolatePixel.js +118 -0
- package/lib-esm/utils/interpolatePixel.js.map +1 -0
- package/lib-esm/utils/kernels.d.ts +13 -0
- package/lib-esm/utils/kernels.d.ts.map +1 -0
- package/lib-esm/utils/kernels.js +63 -0
- package/lib-esm/utils/kernels.js.map +1 -0
- package/lib-esm/utils/kinds.d.ts +9 -0
- package/lib-esm/utils/kinds.d.ts.map +1 -0
- package/lib-esm/utils/kinds.js +20 -0
- package/lib-esm/utils/kinds.js.map +1 -0
- package/lib-esm/utils/round.d.ts +2 -0
- package/lib-esm/utils/round.d.ts.map +1 -0
- package/lib-esm/utils/round.js +7 -0
- package/lib-esm/utils/round.js.map +1 -0
- package/lib-esm/utils/validators.d.ts +23 -0
- package/lib-esm/utils/validators.d.ts.map +1 -0
- package/lib-esm/utils/validators.js +34 -0
- package/lib-esm/utils/validators.js.map +1 -0
- package/package.json +79 -0
- package/src/IJS.ts +758 -0
- package/src/Mask.ts +476 -0
- package/src/compute/histogram.ts +39 -0
- package/src/compute/index.ts +1 -0
- package/src/filters/and.ts +34 -0
- package/src/filters/blur.ts +49 -0
- package/src/filters/convolution.ts +357 -0
- package/src/filters/derivativeFilter.ts +77 -0
- package/src/filters/gaussianBlur.ts +124 -0
- package/src/filters/gradientFilter.ts +106 -0
- package/src/filters/hypotenuse.ts +74 -0
- package/src/filters/index.ts +10 -0
- package/src/filters/invert.ts +47 -0
- package/src/filters/or.ts +34 -0
- package/src/filters/subtractImage.ts +91 -0
- package/src/geometry/index.ts +3 -0
- package/src/geometry/resize.ts +182 -0
- package/src/geometry/rotate.ts +99 -0
- package/src/geometry/transform.ts +169 -0
- package/src/index.ts +9 -0
- package/src/load/decode.ts +33 -0
- package/src/load/decodeJpeg.ts +17 -0
- package/src/load/decodePng.ts +78 -0
- package/src/load/decodeTiff.ts +64 -0
- package/src/load/index.ts +7 -0
- package/src/load/read.ts +27 -0
- package/src/load/readCanvas.ts +17 -0
- package/src/load/readImg.ts +15 -0
- package/src/morphology/bottomHat.ts +66 -0
- package/src/morphology/cannyEdgeDetector.ts +214 -0
- package/src/morphology/clearBorder.ts +116 -0
- package/src/morphology/close.ts +61 -0
- package/src/morphology/dilate.ts +264 -0
- package/src/morphology/erode.ts +264 -0
- package/src/morphology/floodFill.ts +31 -0
- package/src/morphology/index.ts +10 -0
- package/src/morphology/morphologicalGradient.ts +69 -0
- package/src/morphology/open.ts +61 -0
- package/src/morphology/topHat.ts +64 -0
- package/src/operations/convertColor.ts +185 -0
- package/src/operations/convertDepth.ts +59 -0
- package/src/operations/copyTo.ts +107 -0
- package/src/operations/grey.ts +114 -0
- package/src/operations/greyAlgorithms.ts +265 -0
- package/src/operations/index.ts +7 -0
- package/src/operations/merge.ts +52 -0
- package/src/operations/split.ts +19 -0
- package/src/operations/threshold.ts +145 -0
- package/src/operations/thresholds/huang.ts +84 -0
- package/src/operations/thresholds/intermodes.ts +62 -0
- package/src/operations/thresholds/isodata.ts +53 -0
- package/src/operations/thresholds/li.ts +81 -0
- package/src/operations/thresholds/maxEntropy.ts +89 -0
- package/src/operations/thresholds/mean.ts +23 -0
- package/src/operations/thresholds/minError.ts +102 -0
- package/src/operations/thresholds/minimum.ts +78 -0
- package/src/operations/thresholds/moments.ts +60 -0
- package/src/operations/thresholds/otsu.ts +42 -0
- package/src/operations/thresholds/percentile.ts +40 -0
- package/src/operations/thresholds/renyiEntropy.ts +148 -0
- package/src/operations/thresholds/shanbhag.ts +82 -0
- package/src/operations/thresholds/triangle.ts +115 -0
- package/src/operations/thresholds/yen.ts +63 -0
- package/src/roi/RoiManager.ts +34 -0
- package/src/roi/RoiMapManager.ts +48 -0
- package/src/roi/colorRois.ts +69 -0
- package/src/roi/fromMask.ts +184 -0
- package/src/roi/index.ts +4 -0
- package/src/roi/utils/colorMaps/getBinaryMap.ts +72 -0
- package/src/roi/utils/colorMaps/getRainbowMap.ts +65 -0
- package/src/roi/utils/colorMaps/getSaturationMap.ts +80 -0
- package/src/roi/utils/constants.ts +3 -0
- package/src/roi/utils/getColorMap.ts +51 -0
- package/src/roi/utils/hsvToRgb.ts +62 -0
- package/src/roi/utils/rgbToNumber.ts +9 -0
- package/src/save/encode.ts +65 -0
- package/src/save/encodeJpeg.ts +37 -0
- package/src/save/encodePng.ts +16 -0
- package/src/save/index.ts +5 -0
- package/src/save/write.ts +109 -0
- package/src/save/writeCanvas.ts +82 -0
- package/src/utils/boolToNumber.ts +18 -0
- package/src/utils/borderIterator.ts +22 -0
- package/src/utils/checkKernel.ts +13 -0
- package/src/utils/checkProcessable.ts +98 -0
- package/src/utils/clamp.ts +39 -0
- package/src/utils/colorModels.ts +41 -0
- package/src/utils/copyData.ts +23 -0
- package/src/utils/getIndex.ts +19 -0
- package/src/utils/getOutputImage.ts +182 -0
- package/src/utils/interpolateBorder.ts +206 -0
- package/src/utils/interpolatePixel.ts +170 -0
- package/src/utils/kernels.ts +73 -0
- package/src/utils/kinds.ts +27 -0
- package/src/utils/round.ts +6 -0
- package/src/utils/validators.ts +43 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create function that allows to iterate on the pixels of the border of an image.
|
|
3
|
+
*
|
|
4
|
+
* @param image - Image for which to create the border iterator.
|
|
5
|
+
* @yields - Index of the border pixel.
|
|
6
|
+
*/
|
|
7
|
+
export function* borderIterator(image) {
|
|
8
|
+
for (let col = 0; col < image.width; col++) {
|
|
9
|
+
yield col;
|
|
10
|
+
}
|
|
11
|
+
for (let row = 2; row < image.height; row++) {
|
|
12
|
+
yield row * image.width - 1;
|
|
13
|
+
}
|
|
14
|
+
for (let col = 0; col < image.width; col++) {
|
|
15
|
+
yield image.width * image.height - col - 1;
|
|
16
|
+
}
|
|
17
|
+
for (let row = image.height - 2; row >= 1; row--) {
|
|
18
|
+
yield row * image.width;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=borderIterator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"borderIterator.js","sourceRoot":"","sources":["../../src/utils/borderIterator.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,SAAS,CAAC,CAAC,cAAc,CAAC,KAAiB;IAC/C,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,GAAG,CAAC;KACX;IACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;KAC7B;IACD,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QAC1C,MAAM,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;KAC5C;IACD,KAAK,IAAI,GAAG,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE;QAChD,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;KACzB;AACH,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks the that the dimensions of the kernel are odd.
|
|
3
|
+
*
|
|
4
|
+
* @param kernel - Kernel passed to a morphology function.
|
|
5
|
+
* @param functionName - Name of the function.
|
|
6
|
+
*/
|
|
7
|
+
export declare function checkKernel(kernel: number[][], functionName: string): void;
|
|
8
|
+
//# sourceMappingURL=checkKernel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkKernel.d.ts","sourceRoot":"","sources":["../../src/utils/checkKernel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,YAAY,EAAE,MAAM,QAMnE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks the that the dimensions of the kernel are odd.
|
|
3
|
+
*
|
|
4
|
+
* @param kernel - Kernel passed to a morphology function.
|
|
5
|
+
* @param functionName - Name of the function.
|
|
6
|
+
*/
|
|
7
|
+
export function checkKernel(kernel, functionName) {
|
|
8
|
+
if (kernel.length % 2 === 0 || kernel[0].length % 2 === 0) {
|
|
9
|
+
throw new TypeError(`${functionName}: The number of rows and columns of the kernel must be odd`);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=checkKernel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkKernel.js","sourceRoot":"","sources":["../../src/utils/checkKernel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,MAAkB,EAAE,YAAoB;IAClE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE;QACzD,MAAM,IAAI,SAAS,CACjB,GAAG,YAAY,4DAA4D,CAC5E,CAAC;KACH;AACH,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ColorDepth, IJS, ImageColorModel } from '..';
|
|
2
|
+
interface CheckOptions {
|
|
3
|
+
bitDepth?: ColorDepth[] | ColorDepth;
|
|
4
|
+
alpha?: boolean[] | boolean;
|
|
5
|
+
colorModel?: ImageColorModel[] | ImageColorModel;
|
|
6
|
+
components?: number[] | number;
|
|
7
|
+
channels?: number[] | number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* This method checks if a process can be applied on the current image
|
|
11
|
+
*
|
|
12
|
+
* @param image - Image for which compatibility has to be checked
|
|
13
|
+
* @param processName - Name of the process to apply
|
|
14
|
+
* @param options - Check processable options
|
|
15
|
+
*/
|
|
16
|
+
export default function checkProcessable(image: IJS, processName: string, options?: CheckOptions): void;
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=checkProcessable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkProcessable.d.ts","sourceRoot":"","sources":["../../src/utils/checkProcessable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAKtD,UAAU,YAAY;IACpB,QAAQ,CAAC,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;IACrC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC;IACjD,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;CAC9B;AAED;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,KAAK,EAAE,GAAG,EACV,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,YAAiB,QAoE3B"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// @ts-expect-error Intl types don't exist yet
|
|
2
|
+
const formatter = new Intl.ListFormat('en', { type: 'disjunction' });
|
|
3
|
+
/**
|
|
4
|
+
* This method checks if a process can be applied on the current image
|
|
5
|
+
*
|
|
6
|
+
* @param image - Image for which compatibility has to be checked
|
|
7
|
+
* @param processName - Name of the process to apply
|
|
8
|
+
* @param options - Check processable options
|
|
9
|
+
*/
|
|
10
|
+
export default function checkProcessable(image, processName, options = {}) {
|
|
11
|
+
let { bitDepth, alpha, colorModel, components, channels } = options;
|
|
12
|
+
if (bitDepth) {
|
|
13
|
+
if (!Array.isArray(bitDepth)) {
|
|
14
|
+
bitDepth = [bitDepth];
|
|
15
|
+
}
|
|
16
|
+
if (!bitDepth.includes(image.depth)) {
|
|
17
|
+
throw new TypeError(`The process "${processName}" can only be applied if bit depth is ${format(bitDepth)}`);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
if (alpha) {
|
|
21
|
+
if (!Array.isArray(alpha)) {
|
|
22
|
+
alpha = [alpha];
|
|
23
|
+
}
|
|
24
|
+
if (!alpha.includes(image.alpha)) {
|
|
25
|
+
throw new TypeError(`The process "${processName}" can only be applied if alpha is ${format(alpha)}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
if (colorModel) {
|
|
29
|
+
if (!Array.isArray(colorModel)) {
|
|
30
|
+
colorModel = [colorModel];
|
|
31
|
+
}
|
|
32
|
+
if (!colorModel.includes(image.colorModel)) {
|
|
33
|
+
throw new TypeError(`The process "${processName}" can only be applied if color model is ${format(colorModel)}`);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
if (components) {
|
|
37
|
+
if (!Array.isArray(components)) {
|
|
38
|
+
components = [components];
|
|
39
|
+
}
|
|
40
|
+
if (!components.includes(image.components)) {
|
|
41
|
+
let errorMessage = `The process "${processName}" can only be applied if the number of components is ${format(components)}`;
|
|
42
|
+
if (components.length === 1 && components[0] === 1) {
|
|
43
|
+
throw new TypeError(`${errorMessage}.\rYou should transform your image using "image.grey()" before applying the algorithm.`);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
throw new TypeError(errorMessage);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (channels) {
|
|
51
|
+
if (!Array.isArray(channels)) {
|
|
52
|
+
channels = [channels];
|
|
53
|
+
}
|
|
54
|
+
if (!channels.includes(image.channels)) {
|
|
55
|
+
throw new TypeError(`The process "${processName}" can only be applied if the number of channels is ${format(channels)}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
function format(array) {
|
|
60
|
+
return formatter.format(array.map((element) => String(element)));
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=checkProcessable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkProcessable.js","sourceRoot":"","sources":["../../src/utils/checkProcessable.ts"],"names":[],"mappings":"AAEA,8CAA8C;AAC9C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;AAUrE;;;;;;GAMG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,KAAU,EACV,WAAmB,EACnB,UAAwB,EAAE;IAE1B,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IACpE,IAAI,QAAQ,EAAE;QACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC5B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;SACvB;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YACnC,MAAM,IAAI,SAAS,CACjB,gBAAgB,WAAW,yCAAyC,MAAM,CACxE,QAAQ,CACT,EAAE,CACJ,CAAC;SACH;KACF;IACD,IAAI,KAAK,EAAE;QACT,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACzB,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;SACjB;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;YAChC,MAAM,IAAI,SAAS,CACjB,gBAAgB,WAAW,qCAAqC,MAAM,CACpE,KAAK,CACN,EAAE,CACJ,CAAC;SACH;KACF;IACD,IAAI,UAAU,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC9B,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YAC1C,MAAM,IAAI,SAAS,CACjB,gBAAgB,WAAW,2CAA2C,MAAM,CAC1E,UAAU,CACX,EAAE,CACJ,CAAC;SACH;KACF;IACD,IAAI,UAAU,EAAE;QACd,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC9B,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE;YAC1C,IAAI,YAAY,GAAG,gBAAgB,WAAW,wDAAwD,MAAM,CAC1G,UAAU,CACX,EAAE,CAAC;YACJ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBAClD,MAAM,IAAI,SAAS,CACjB,GAAG,YAAY,wFAAwF,CACxG,CAAC;aACH;iBAAM;gBACL,MAAM,IAAI,SAAS,CAAC,YAAY,CAAC,CAAC;aACnC;SACF;KACF;IACD,IAAI,QAAQ,EAAE;QACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC5B,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;SACvB;QACD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACtC,MAAM,IAAI,SAAS,CACjB,gBAAgB,WAAW,sDAAsD,MAAM,CACrF,QAAQ,CACT,EAAE,CACJ,CAAC;SACH;KACF;AACH,CAAC;AAID,SAAS,MAAM,CAAC,KAAgB;IAC9B,OAAO,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IJS } from '../IJS';
|
|
2
|
+
export declare type ClampFunction = (value: number) => number;
|
|
3
|
+
/**
|
|
4
|
+
* Get the clamp function for an image (depends on the image bit depth)
|
|
5
|
+
*
|
|
6
|
+
* @param image - The image for which the clamp function is needed.
|
|
7
|
+
* @returns The clamp function.
|
|
8
|
+
*/
|
|
9
|
+
export declare function getClamp(image: IJS): ClampFunction;
|
|
10
|
+
//# sourceMappingURL=clamp.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clamp.d.ts","sourceRoot":"","sources":["../../src/utils/clamp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,oBAAY,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;AAEtD;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,GAAG,GAAG,aAAa,CAQlD"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Get the clamp function for an image (depends on the image bit depth)
|
|
3
|
+
*
|
|
4
|
+
* @param image - The image for which the clamp function is needed.
|
|
5
|
+
* @returns The clamp function.
|
|
6
|
+
*/
|
|
7
|
+
export function getClamp(image) {
|
|
8
|
+
if (image.maxValue === 255) {
|
|
9
|
+
return clamp255;
|
|
10
|
+
}
|
|
11
|
+
if (image.maxValue === 65535) {
|
|
12
|
+
return clamp65535;
|
|
13
|
+
}
|
|
14
|
+
throw new Error(`unknown maxValue: ${image.maxValue}`);
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Clamp value for 8-bit images.
|
|
18
|
+
*
|
|
19
|
+
* @param value - Value to clamp.
|
|
20
|
+
* @returns The clamped value.
|
|
21
|
+
*/
|
|
22
|
+
function clamp255(value) {
|
|
23
|
+
return Math.min(Math.max(value, 0), 255);
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Clamp value for 16-bit images.
|
|
27
|
+
*
|
|
28
|
+
* @param value - Value to clamp.
|
|
29
|
+
* @returns The clamped value.
|
|
30
|
+
*/
|
|
31
|
+
function clamp65535(value) {
|
|
32
|
+
return Math.min(Math.max(value, 0), 65535);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=clamp.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clamp.js","sourceRoot":"","sources":["../../src/utils/clamp.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAU;IACjC,IAAI,KAAK,CAAC,QAAQ,KAAK,GAAG,EAAE;QAC1B,OAAO,QAAQ,CAAC;KACjB;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,EAAE;QAC5B,OAAO,UAAU,CAAC;KACnB;IACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AACzD,CAAC;AAED;;;;;GAKG;AACH,SAAS,QAAQ,CAAC,KAAa;IAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export declare enum ImageColorModel {
|
|
2
|
+
GREY = "GREY",
|
|
3
|
+
GREYA = "GREYA",
|
|
4
|
+
RGB = "RGB",
|
|
5
|
+
RGBA = "RGBA",
|
|
6
|
+
BINARY = "BINARY"
|
|
7
|
+
}
|
|
8
|
+
export declare const colorModels: {
|
|
9
|
+
[key in ImageColorModel]: {
|
|
10
|
+
components: number;
|
|
11
|
+
alpha: boolean;
|
|
12
|
+
channels: number;
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=colorModels.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorModels.d.ts","sourceRoot":"","sources":["../../src/utils/colorModels.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe;IACzB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAED,eAAO,MAAM,WAAW,EAAE;KACvB,GAAG,IAAI,eAAe,GAAG;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,KAAK,EAAE,OAAO,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB;CA2BF,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export var ImageColorModel;
|
|
2
|
+
(function (ImageColorModel) {
|
|
3
|
+
ImageColorModel["GREY"] = "GREY";
|
|
4
|
+
ImageColorModel["GREYA"] = "GREYA";
|
|
5
|
+
ImageColorModel["RGB"] = "RGB";
|
|
6
|
+
ImageColorModel["RGBA"] = "RGBA";
|
|
7
|
+
ImageColorModel["BINARY"] = "BINARY";
|
|
8
|
+
})(ImageColorModel || (ImageColorModel = {}));
|
|
9
|
+
export const colorModels = {
|
|
10
|
+
[ImageColorModel.GREY]: {
|
|
11
|
+
components: 1,
|
|
12
|
+
alpha: false,
|
|
13
|
+
channels: 1,
|
|
14
|
+
},
|
|
15
|
+
[ImageColorModel.GREYA]: {
|
|
16
|
+
components: 1,
|
|
17
|
+
alpha: true,
|
|
18
|
+
channels: 2,
|
|
19
|
+
},
|
|
20
|
+
[ImageColorModel.RGB]: {
|
|
21
|
+
components: 3,
|
|
22
|
+
alpha: false,
|
|
23
|
+
channels: 3,
|
|
24
|
+
},
|
|
25
|
+
[ImageColorModel.RGBA]: {
|
|
26
|
+
components: 3,
|
|
27
|
+
alpha: true,
|
|
28
|
+
channels: 4,
|
|
29
|
+
},
|
|
30
|
+
[ImageColorModel.BINARY]: {
|
|
31
|
+
components: 1,
|
|
32
|
+
alpha: false,
|
|
33
|
+
channels: 1,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=colorModels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"colorModels.js","sourceRoot":"","sources":["../../src/utils/colorModels.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,eAMX;AAND,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,kCAAe,CAAA;IACf,8BAAW,CAAA;IACX,gCAAa,CAAA;IACb,oCAAiB,CAAA;AACnB,CAAC,EANW,eAAe,KAAf,eAAe,QAM1B;AAED,MAAM,CAAC,MAAM,WAAW,GAMpB;IACF,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QACtB,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,CAAC;KACZ;IACD,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE;QACvB,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC;KACZ;IACD,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;QACrB,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,CAAC;KACZ;IACD,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE;QACtB,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,CAAC;KACZ;IACD,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE;QACxB,UAAU,EAAE,CAAC;QACb,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,CAAC;KACZ;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copyData.d.ts","sourceRoot":"","sources":["../../src/utils/copyData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B,wBAAgB,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;AACzD,wBAAgB,QAAQ,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copy the data of an source to the target image.
|
|
3
|
+
*
|
|
4
|
+
* @param source - Image which data is copied.
|
|
5
|
+
* @param target - Image to which the data must be copied.
|
|
6
|
+
*/
|
|
7
|
+
export function copyData(source, target) {
|
|
8
|
+
if (target.width !== source.width ||
|
|
9
|
+
target.height !== source.height ||
|
|
10
|
+
target.colorModel !== source.colorModel) {
|
|
11
|
+
throw new Error('copyData: images width, height or color model is different');
|
|
12
|
+
}
|
|
13
|
+
// @ts-expect-error Accessing data, which is private
|
|
14
|
+
target.data = source.data.slice();
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=copyData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copyData.js","sourceRoot":"","sources":["../../src/utils/copyData.ts"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAkB,EAAE,MAAkB;IAC7D,IACE,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK;QAC7B,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;QAC/B,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU,EACvC;QACA,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;KACH;IACD,oDAAoD;IACpD,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;AACpC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { IJS, Mask } from '..';
|
|
2
|
+
/**
|
|
3
|
+
* Compute the current data index based on the value coordinates.
|
|
4
|
+
*
|
|
5
|
+
* @param row - Row of the value.
|
|
6
|
+
* @param column - Column of the value.
|
|
7
|
+
* @param channel - Value channel.
|
|
8
|
+
* @param image - The image that is being processed.
|
|
9
|
+
* @returns The value index.
|
|
10
|
+
*/
|
|
11
|
+
export declare function getIndex(row: number, column: number, channel: number, image: IJS | Mask): number;
|
|
12
|
+
//# sourceMappingURL=getIndex.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getIndex.d.ts","sourceRoot":"","sources":["../../src/utils/getIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAE/B;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,GAAG,GAAG,IAAI,GAChB,MAAM,CAER"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Compute the current data index based on the value coordinates.
|
|
3
|
+
*
|
|
4
|
+
* @param row - Row of the value.
|
|
5
|
+
* @param column - Column of the value.
|
|
6
|
+
* @param channel - Value channel.
|
|
7
|
+
* @param image - The image that is being processed.
|
|
8
|
+
* @returns The value index.
|
|
9
|
+
*/
|
|
10
|
+
export function getIndex(row, column, channel, image) {
|
|
11
|
+
return (row * image.width + column) * image.channels + channel;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=getIndex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getIndex.js","sourceRoot":"","sources":["../../src/utils/getIndex.ts"],"names":[],"mappings":"AAEA;;;;;;;;GAQG;AACH,MAAM,UAAU,QAAQ,CACtB,GAAW,EACX,MAAc,EACd,OAAe,EACf,KAAiB;IAEjB,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,GAAG,OAAO,CAAC;AACjE,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { CreateFromOptions, IJS } from '../IJS';
|
|
2
|
+
import { Mask } from '../Mask';
|
|
3
|
+
export interface OutOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Image to use as the output.
|
|
6
|
+
* The image must have compatible properties or the method will throw.
|
|
7
|
+
*/
|
|
8
|
+
out?: IJS | Mask;
|
|
9
|
+
}
|
|
10
|
+
declare type NewImageParameters = Omit<CreateFromOptions, 'data'>;
|
|
11
|
+
interface OutInternalOptions {
|
|
12
|
+
/**
|
|
13
|
+
* Parameters that will be combined with the ones from
|
|
14
|
+
* `thisImage`.
|
|
15
|
+
*/
|
|
16
|
+
newParameters?: NewImageParameters;
|
|
17
|
+
/**
|
|
18
|
+
* Specify if the values of the original image should be cloned.
|
|
19
|
+
*/
|
|
20
|
+
clone?: boolean;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Use this function to support getting the output image of an algorithm from
|
|
24
|
+
* user-supplied options.
|
|
25
|
+
*
|
|
26
|
+
* @param thisImage - Current image on which the algorithm is applied.
|
|
27
|
+
* @param options - Options object received by the algorithm.
|
|
28
|
+
* @param internalOptions - Some additional private options.
|
|
29
|
+
* @returns The output image.
|
|
30
|
+
*/
|
|
31
|
+
export declare function getOutputImage(thisImage: IJS, options?: OutOptions, internalOptions?: OutInternalOptions): IJS;
|
|
32
|
+
/**
|
|
33
|
+
* Use this function to support getting the output image of an algorithm from
|
|
34
|
+
* user-supplied options when the input is a mask.
|
|
35
|
+
*
|
|
36
|
+
* @param mask - Current mask on which the algorithm is applied.
|
|
37
|
+
* @param options - Options object received by the algorithm.
|
|
38
|
+
* @returns The output image.
|
|
39
|
+
*/
|
|
40
|
+
export declare function maskToOutputImage(mask: Mask, options?: OutOptions): IJS;
|
|
41
|
+
/**
|
|
42
|
+
* Use this function to support getting the output mask of an algorithm from
|
|
43
|
+
* user-supplied options when the input is an image.
|
|
44
|
+
*
|
|
45
|
+
* @param image - Current image on which the algorithm is applied.
|
|
46
|
+
* @param options - Options object received by the algorithm.
|
|
47
|
+
* @returns The output mask.
|
|
48
|
+
*/
|
|
49
|
+
export declare function imageToOutputMask(image: IJS, options?: OutOptions): Mask;
|
|
50
|
+
/**
|
|
51
|
+
* Use this function to support getting the output mask of an algorithm from
|
|
52
|
+
* user-supplied options when the input is an mask.
|
|
53
|
+
*
|
|
54
|
+
* @param mask - Current mask on which the algorithm is applied.
|
|
55
|
+
* @param options - Options object received by the algorithm.
|
|
56
|
+
* @param internalOptions - Additional private options.
|
|
57
|
+
* @returns The output mask.
|
|
58
|
+
*/
|
|
59
|
+
export declare function maskToOutputMask(mask: Mask, options?: OutOptions, internalOptions?: OutInternalOptions): Mask;
|
|
60
|
+
export {};
|
|
61
|
+
//# sourceMappingURL=getOutputImage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOutputImage.d.ts","sourceRoot":"","sources":["../../src/utils/getOutputImage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAmB,MAAM,QAAQ,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAI/B,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,GAAG,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;CAClB;AAED,aAAK,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAE1D,UAAU,kBAAkB;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC;;OAEG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,GAAG,EACd,OAAO,GAAE,UAAe,EACxB,eAAe,GAAE,kBAAuB,GACvC,GAAG,CA4BL;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,GAAE,UAAe,GAAG,GAAG,CAoB3E;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,GAAE,UAAe,GAAG,IAAI,CAiB5E;AAiBD;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,OAAO,GAAE,UAAe,EACxB,eAAe,GAAE,kBAAuB,GACvC,IAAI,CAyBN"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import { ColorDepth } from '..';
|
|
2
|
+
import { IJS, ImageColorModel } from '../IJS';
|
|
3
|
+
import { Mask } from '../Mask';
|
|
4
|
+
import { copyData } from './copyData';
|
|
5
|
+
/**
|
|
6
|
+
* Use this function to support getting the output image of an algorithm from
|
|
7
|
+
* user-supplied options.
|
|
8
|
+
*
|
|
9
|
+
* @param thisImage - Current image on which the algorithm is applied.
|
|
10
|
+
* @param options - Options object received by the algorithm.
|
|
11
|
+
* @param internalOptions - Some additional private options.
|
|
12
|
+
* @returns The output image.
|
|
13
|
+
*/
|
|
14
|
+
export function getOutputImage(thisImage, options = {}, internalOptions = {}) {
|
|
15
|
+
const { out } = options;
|
|
16
|
+
const { newParameters, clone } = internalOptions;
|
|
17
|
+
if (out === undefined) {
|
|
18
|
+
if (clone) {
|
|
19
|
+
return thisImage.clone();
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
return IJS.createFrom(thisImage, newParameters);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
if (!(out instanceof IJS)) {
|
|
27
|
+
throw new TypeError('out must be an IJS object');
|
|
28
|
+
}
|
|
29
|
+
const requirements = Object.assign({
|
|
30
|
+
width: thisImage.width,
|
|
31
|
+
height: thisImage.height,
|
|
32
|
+
depth: thisImage.depth,
|
|
33
|
+
colorModel: thisImage.colorModel,
|
|
34
|
+
}, newParameters);
|
|
35
|
+
checkRequirements(requirements, out);
|
|
36
|
+
if (clone) {
|
|
37
|
+
copyData(thisImage, out);
|
|
38
|
+
}
|
|
39
|
+
return out;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Use this function to support getting the output image of an algorithm from
|
|
44
|
+
* user-supplied options when the input is a mask.
|
|
45
|
+
*
|
|
46
|
+
* @param mask - Current mask on which the algorithm is applied.
|
|
47
|
+
* @param options - Options object received by the algorithm.
|
|
48
|
+
* @returns The output image.
|
|
49
|
+
*/
|
|
50
|
+
export function maskToOutputImage(mask, options = {}) {
|
|
51
|
+
const { out } = options;
|
|
52
|
+
if (out === undefined) {
|
|
53
|
+
return IJS.createFrom(mask, {
|
|
54
|
+
colorModel: ImageColorModel.GREY,
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
if (!(out instanceof IJS)) {
|
|
59
|
+
throw new TypeError('out must be an IJS object');
|
|
60
|
+
}
|
|
61
|
+
const requirements = {
|
|
62
|
+
width: mask.width,
|
|
63
|
+
height: mask.height,
|
|
64
|
+
depth: ColorDepth.UINT8,
|
|
65
|
+
colorModel: ImageColorModel.GREY,
|
|
66
|
+
};
|
|
67
|
+
checkRequirements(requirements, out);
|
|
68
|
+
return out;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Use this function to support getting the output mask of an algorithm from
|
|
73
|
+
* user-supplied options when the input is an image.
|
|
74
|
+
*
|
|
75
|
+
* @param image - Current image on which the algorithm is applied.
|
|
76
|
+
* @param options - Options object received by the algorithm.
|
|
77
|
+
* @returns The output mask.
|
|
78
|
+
*/
|
|
79
|
+
export function imageToOutputMask(image, options = {}) {
|
|
80
|
+
const { out } = options;
|
|
81
|
+
if (out === undefined) {
|
|
82
|
+
return Mask.createFrom(image);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
if (!(out instanceof Mask)) {
|
|
86
|
+
throw new TypeError('out must be a Mask object');
|
|
87
|
+
}
|
|
88
|
+
const requirements = {
|
|
89
|
+
width: image.width,
|
|
90
|
+
height: image.height,
|
|
91
|
+
depth: ColorDepth.UINT1,
|
|
92
|
+
colorModel: ImageColorModel.BINARY,
|
|
93
|
+
};
|
|
94
|
+
checkRequirements(requirements, out);
|
|
95
|
+
return out;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
function checkRequirements(requirements, out) {
|
|
99
|
+
for (const property in requirements) {
|
|
100
|
+
const prop = property;
|
|
101
|
+
if (out[prop] !== requirements[prop]) {
|
|
102
|
+
throw new RangeError(`cannot use out. Its ${property} property must be ${requirements[prop]}. Found ${out[prop]}`);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Use this function to support getting the output mask of an algorithm from
|
|
108
|
+
* user-supplied options when the input is an mask.
|
|
109
|
+
*
|
|
110
|
+
* @param mask - Current mask on which the algorithm is applied.
|
|
111
|
+
* @param options - Options object received by the algorithm.
|
|
112
|
+
* @param internalOptions - Additional private options.
|
|
113
|
+
* @returns The output mask.
|
|
114
|
+
*/
|
|
115
|
+
export function maskToOutputMask(mask, options = {}, internalOptions = {}) {
|
|
116
|
+
const { out } = options;
|
|
117
|
+
const { newParameters, clone } = internalOptions;
|
|
118
|
+
if (out === undefined) {
|
|
119
|
+
if (clone) {
|
|
120
|
+
return mask.clone();
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
return Mask.createFrom(mask, newParameters);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
else {
|
|
127
|
+
if (!(out instanceof Mask)) {
|
|
128
|
+
throw new TypeError('out must be a Mask object');
|
|
129
|
+
}
|
|
130
|
+
const requirements = {
|
|
131
|
+
width: mask.width,
|
|
132
|
+
height: mask.height,
|
|
133
|
+
depth: ColorDepth.UINT1,
|
|
134
|
+
colorModel: ImageColorModel.BINARY,
|
|
135
|
+
};
|
|
136
|
+
checkRequirements(requirements, out);
|
|
137
|
+
if (clone) {
|
|
138
|
+
copyData(mask, out);
|
|
139
|
+
}
|
|
140
|
+
return out;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
//# sourceMappingURL=getOutputImage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getOutputImage.js","sourceRoot":"","sources":["../../src/utils/getOutputImage.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { IJS } from '../IJS';
|
|
2
|
+
export declare enum BorderType {
|
|
3
|
+
CONSTANT = "CONSTANT",
|
|
4
|
+
REPLICATE = "REPLICATE",
|
|
5
|
+
REFLECT = "REFLECT",
|
|
6
|
+
WRAP = "WRAP",
|
|
7
|
+
REFLECT_101 = "REFLECT_101"
|
|
8
|
+
}
|
|
9
|
+
export declare type BorderInterpolationFunction = (column: number, row: number, channel: number, image: IJS) => number;
|
|
10
|
+
/**
|
|
11
|
+
* Pick the border interpolation algorithm.
|
|
12
|
+
* The different algorithms are illustrated here:
|
|
13
|
+
* https://vovkos.github.io/doxyrest-showcase/opencv/sphinx_rtd_theme/enum_cv_BorderTypes.html
|
|
14
|
+
*
|
|
15
|
+
* @param type
|
|
16
|
+
* @param value
|
|
17
|
+
*/
|
|
18
|
+
export declare function getBorderInterpolation(type: BorderType, value: number): BorderInterpolationFunction;
|
|
19
|
+
/**
|
|
20
|
+
* @param point
|
|
21
|
+
* @param length
|
|
22
|
+
*/
|
|
23
|
+
export declare function interpolateConstantPoint(point: number, length: number): number;
|
|
24
|
+
/**
|
|
25
|
+
* @param point
|
|
26
|
+
* @param length
|
|
27
|
+
*/
|
|
28
|
+
export declare function interpolateReplicatePoint(point: number, length: number): number;
|
|
29
|
+
/**
|
|
30
|
+
* @param point
|
|
31
|
+
* @param length
|
|
32
|
+
*/
|
|
33
|
+
export declare function interpolateReflectPoint(point: number, length: number): number;
|
|
34
|
+
/**
|
|
35
|
+
* @param point
|
|
36
|
+
* @param length
|
|
37
|
+
*/
|
|
38
|
+
export declare function interpolateWrapPoint(point: number, length: number): number;
|
|
39
|
+
/**
|
|
40
|
+
* @param point
|
|
41
|
+
* @param length
|
|
42
|
+
*/
|
|
43
|
+
export declare function interpolateReflect101Point(point: number, length: number): number;
|
|
44
|
+
//# sourceMappingURL=interpolateBorder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interpolateBorder.d.ts","sourceRoot":"","sources":["../../src/utils/interpolateBorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAE7B,oBAAY,UAAU;IACpB,QAAQ,aAAa;IACrB,SAAS,cAAc;IACvB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,WAAW,gBAAgB;CAC5B;AAED,oBAAY,2BAA2B,GAAG,CACxC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,GAAG,KACP,MAAM,CAAC;AAEZ;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,MAAM,GACZ,2BAA2B,CAiB7B;AA0BD;;;GAGG;AACH,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,MAAM,CAKR;AAeD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,MAAM,CAUR;AAeD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAU7E;AAeD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAU1E;AAeD;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,MAAM,CAUR"}
|