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.
Files changed (867) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +29 -0
  3. package/lib/IJS.d.ts +316 -0
  4. package/lib/IJS.d.ts.map +1 -0
  5. package/lib/IJS.js +534 -0
  6. package/lib/IJS.js.map +1 -0
  7. package/lib/Mask.d.ts +257 -0
  8. package/lib/Mask.d.ts.map +1 -0
  9. package/lib/Mask.js +338 -0
  10. package/lib/Mask.js.map +1 -0
  11. package/lib/compute/histogram.d.ts +20 -0
  12. package/lib/compute/histogram.d.ts.map +1 -0
  13. package/lib/compute/histogram.js +28 -0
  14. package/lib/compute/histogram.js.map +1 -0
  15. package/lib/compute/index.d.ts +2 -0
  16. package/lib/compute/index.d.ts.map +1 -0
  17. package/lib/compute/index.js +18 -0
  18. package/lib/compute/index.js.map +1 -0
  19. package/lib/filters/and.d.ts +17 -0
  20. package/lib/filters/and.d.ts.map +1 -0
  21. package/lib/filters/and.js +29 -0
  22. package/lib/filters/and.js.map +1 -0
  23. package/lib/filters/blur.d.ts +37 -0
  24. package/lib/filters/blur.d.ts.map +1 -0
  25. package/lib/filters/blur.js +22 -0
  26. package/lib/filters/blur.js.map +1 -0
  27. package/lib/filters/convolution.d.ts +79 -0
  28. package/lib/filters/convolution.d.ts.map +1 -0
  29. package/lib/filters/convolution.js +196 -0
  30. package/lib/filters/convolution.js.map +1 -0
  31. package/lib/filters/derivativeFilter.d.ts +40 -0
  32. package/lib/filters/derivativeFilter.d.ts.map +1 -0
  33. package/lib/filters/derivativeFilter.js +42 -0
  34. package/lib/filters/derivativeFilter.js.map +1 -0
  35. package/lib/filters/gaussianBlur.d.ts +59 -0
  36. package/lib/filters/gaussianBlur.d.ts.map +1 -0
  37. package/lib/filters/gaussianBlur.js +59 -0
  38. package/lib/filters/gaussianBlur.js.map +1 -0
  39. package/lib/filters/gradientFilter.d.ts +54 -0
  40. package/lib/filters/gradientFilter.d.ts.map +1 -0
  41. package/lib/filters/gradientFilter.js +58 -0
  42. package/lib/filters/gradientFilter.js.map +1 -0
  43. package/lib/filters/hypotenuse.d.ts +23 -0
  44. package/lib/filters/hypotenuse.d.ts.map +1 -0
  45. package/lib/filters/hypotenuse.js +46 -0
  46. package/lib/filters/hypotenuse.js.map +1 -0
  47. package/lib/filters/index.d.ts +11 -0
  48. package/lib/filters/index.d.ts.map +1 -0
  49. package/lib/filters/index.js +27 -0
  50. package/lib/filters/index.js.map +1 -0
  51. package/lib/filters/invert.d.ts +11 -0
  52. package/lib/filters/invert.d.ts.map +1 -0
  53. package/lib/filters/invert.js +37 -0
  54. package/lib/filters/invert.js.map +1 -0
  55. package/lib/filters/or.d.ts +17 -0
  56. package/lib/filters/or.d.ts.map +1 -0
  57. package/lib/filters/or.js +29 -0
  58. package/lib/filters/or.js.map +1 -0
  59. package/lib/filters/subtractImage.d.ts +13 -0
  60. package/lib/filters/subtractImage.d.ts.map +1 -0
  61. package/lib/filters/subtractImage.js +64 -0
  62. package/lib/filters/subtractImage.js.map +1 -0
  63. package/lib/geometry/index.d.ts +4 -0
  64. package/lib/geometry/index.d.ts.map +1 -0
  65. package/lib/geometry/index.js +20 -0
  66. package/lib/geometry/index.js.map +1 -0
  67. package/lib/geometry/resize.d.ts +52 -0
  68. package/lib/geometry/resize.d.ts.map +1 -0
  69. package/lib/geometry/resize.js +107 -0
  70. package/lib/geometry/resize.js.map +1 -0
  71. package/lib/geometry/rotate.d.ts +54 -0
  72. package/lib/geometry/rotate.d.ts.map +1 -0
  73. package/lib/geometry/rotate.js +44 -0
  74. package/lib/geometry/rotate.js.map +1 -0
  75. package/lib/geometry/transform.d.ts +46 -0
  76. package/lib/geometry/transform.d.ts.map +1 -0
  77. package/lib/geometry/transform.js +95 -0
  78. package/lib/geometry/transform.js.map +1 -0
  79. package/lib/index.d.ts +10 -0
  80. package/lib/index.d.ts.map +1 -0
  81. package/lib/index.js +26 -0
  82. package/lib/index.js.map +1 -0
  83. package/lib/load/decode.d.ts +10 -0
  84. package/lib/load/decode.d.ts.map +1 -0
  85. package/lib/load/decode.js +33 -0
  86. package/lib/load/decode.js.map +1 -0
  87. package/lib/load/decodeJpeg.d.ts +9 -0
  88. package/lib/load/decodeJpeg.d.ts.map +1 -0
  89. package/lib/load/decodeJpeg.js +20 -0
  90. package/lib/load/decodeJpeg.js.map +1 -0
  91. package/lib/load/decodePng.d.ts +9 -0
  92. package/lib/load/decodePng.d.ts.map +1 -0
  93. package/lib/load/decodePng.js +72 -0
  94. package/lib/load/decodePng.js.map +1 -0
  95. package/lib/load/decodeTiff.d.ts +9 -0
  96. package/lib/load/decodeTiff.d.ts.map +1 -0
  97. package/lib/load/decodeTiff.js +64 -0
  98. package/lib/load/decodeTiff.js.map +1 -0
  99. package/lib/load/index.d.ts +8 -0
  100. package/lib/load/index.d.ts.map +1 -0
  101. package/lib/load/index.js +24 -0
  102. package/lib/load/index.js.map +1 -0
  103. package/lib/load/read.d.ts +17 -0
  104. package/lib/load/read.d.ts.map +1 -0
  105. package/lib/load/read.js +31 -0
  106. package/lib/load/read.js.map +1 -0
  107. package/lib/load/readCanvas.d.ts +3 -0
  108. package/lib/load/readCanvas.d.ts.map +1 -0
  109. package/lib/load/readCanvas.js +17 -0
  110. package/lib/load/readCanvas.js.map +1 -0
  111. package/lib/load/readImg.d.ts +3 -0
  112. package/lib/load/readImg.d.ts.map +1 -0
  113. package/lib/load/readImg.js +17 -0
  114. package/lib/load/readImg.js.map +1 -0
  115. package/lib/morphology/bottomHat.d.ts +19 -0
  116. package/lib/morphology/bottomHat.d.ts.map +1 -0
  117. package/lib/morphology/bottomHat.js +46 -0
  118. package/lib/morphology/bottomHat.js.map +1 -0
  119. package/lib/morphology/cannyEdgeDetector.d.ts +49 -0
  120. package/lib/morphology/cannyEdgeDetector.d.ts.map +1 -0
  121. package/lib/morphology/cannyEdgeDetector.js +157 -0
  122. package/lib/morphology/cannyEdgeDetector.js.map +1 -0
  123. package/lib/morphology/clearBorder.d.ts +22 -0
  124. package/lib/morphology/clearBorder.d.ts.map +1 -0
  125. package/lib/morphology/clearBorder.js +89 -0
  126. package/lib/morphology/clearBorder.js.map +1 -0
  127. package/lib/morphology/close.d.ts +19 -0
  128. package/lib/morphology/close.d.ts.map +1 -0
  129. package/lib/morphology/close.js +41 -0
  130. package/lib/morphology/close.js.map +1 -0
  131. package/lib/morphology/dilate.d.ts +20 -0
  132. package/lib/morphology/dilate.d.ts.map +1 -0
  133. package/lib/morphology/dilate.js +199 -0
  134. package/lib/morphology/dilate.js.map +1 -0
  135. package/lib/morphology/erode.d.ts +20 -0
  136. package/lib/morphology/erode.d.ts.map +1 -0
  137. package/lib/morphology/erode.js +199 -0
  138. package/lib/morphology/erode.js.map +1 -0
  139. package/lib/morphology/floodFill.d.ts +22 -0
  140. package/lib/morphology/floodFill.d.ts.map +1 -0
  141. package/lib/morphology/floodFill.js +20 -0
  142. package/lib/morphology/floodFill.js.map +1 -0
  143. package/lib/morphology/index.d.ts +11 -0
  144. package/lib/morphology/index.d.ts.map +1 -0
  145. package/lib/morphology/index.js +27 -0
  146. package/lib/morphology/index.js.map +1 -0
  147. package/lib/morphology/morphologicalGradient.d.ts +19 -0
  148. package/lib/morphology/morphologicalGradient.d.ts.map +1 -0
  149. package/lib/morphology/morphologicalGradient.js +43 -0
  150. package/lib/morphology/morphologicalGradient.js.map +1 -0
  151. package/lib/morphology/open.d.ts +19 -0
  152. package/lib/morphology/open.d.ts.map +1 -0
  153. package/lib/morphology/open.js +43 -0
  154. package/lib/morphology/open.js.map +1 -0
  155. package/lib/morphology/topHat.d.ts +19 -0
  156. package/lib/morphology/topHat.d.ts.map +1 -0
  157. package/lib/morphology/topHat.js +44 -0
  158. package/lib/morphology/topHat.js.map +1 -0
  159. package/lib/operations/convertColor.d.ts +32 -0
  160. package/lib/operations/convertColor.d.ts.map +1 -0
  161. package/lib/operations/convertColor.js +148 -0
  162. package/lib/operations/convertColor.js.map +1 -0
  163. package/lib/operations/convertDepth.d.ts +10 -0
  164. package/lib/operations/convertDepth.d.ts.map +1 -0
  165. package/lib/operations/convertDepth.js +60 -0
  166. package/lib/operations/convertDepth.js.map +1 -0
  167. package/lib/operations/copyTo.d.ts +29 -0
  168. package/lib/operations/copyTo.d.ts.map +1 -0
  169. package/lib/operations/copyTo.js +51 -0
  170. package/lib/operations/copyTo.js.map +1 -0
  171. package/lib/operations/grey.d.ts +50 -0
  172. package/lib/operations/grey.d.ts.map +1 -0
  173. package/lib/operations/grey.js +86 -0
  174. package/lib/operations/grey.js.map +1 -0
  175. package/lib/operations/greyAlgorithms.d.ts +149 -0
  176. package/lib/operations/greyAlgorithms.d.ts.map +1 -0
  177. package/lib/operations/greyAlgorithms.js +242 -0
  178. package/lib/operations/greyAlgorithms.js.map +1 -0
  179. package/lib/operations/index.d.ts +8 -0
  180. package/lib/operations/index.d.ts.map +1 -0
  181. package/lib/operations/index.js +24 -0
  182. package/lib/operations/index.js.map +1 -0
  183. package/lib/operations/merge.d.ts +9 -0
  184. package/lib/operations/merge.d.ts.map +1 -0
  185. package/lib/operations/merge.js +51 -0
  186. package/lib/operations/merge.js.map +1 -0
  187. package/lib/operations/split.d.ts +9 -0
  188. package/lib/operations/split.d.ts.map +1 -0
  189. package/lib/operations/split.js +23 -0
  190. package/lib/operations/split.js.map +1 -0
  191. package/lib/operations/threshold.d.ts +58 -0
  192. package/lib/operations/threshold.d.ts.map +1 -0
  193. package/lib/operations/threshold.js +114 -0
  194. package/lib/operations/threshold.js.map +1 -0
  195. package/lib/operations/thresholds/huang.d.ts +8 -0
  196. package/lib/operations/thresholds/huang.d.ts.map +1 -0
  197. package/lib/operations/thresholds/huang.js +81 -0
  198. package/lib/operations/thresholds/huang.js.map +1 -0
  199. package/lib/operations/thresholds/intermodes.d.ts +8 -0
  200. package/lib/operations/thresholds/intermodes.d.ts.map +1 -0
  201. package/lib/operations/thresholds/intermodes.js +62 -0
  202. package/lib/operations/thresholds/intermodes.js.map +1 -0
  203. package/lib/operations/thresholds/isodata.d.ts +8 -0
  204. package/lib/operations/thresholds/isodata.d.ts.map +1 -0
  205. package/lib/operations/thresholds/isodata.js +55 -0
  206. package/lib/operations/thresholds/isodata.js.map +1 -0
  207. package/lib/operations/thresholds/li.d.ts +9 -0
  208. package/lib/operations/thresholds/li.d.ts.map +1 -0
  209. package/lib/operations/thresholds/li.js +77 -0
  210. package/lib/operations/thresholds/li.js.map +1 -0
  211. package/lib/operations/thresholds/maxEntropy.d.ts +9 -0
  212. package/lib/operations/thresholds/maxEntropy.d.ts.map +1 -0
  213. package/lib/operations/thresholds/maxEntropy.js +80 -0
  214. package/lib/operations/thresholds/maxEntropy.js.map +1 -0
  215. package/lib/operations/thresholds/mean.d.ts +9 -0
  216. package/lib/operations/thresholds/mean.d.ts.map +1 -0
  217. package/lib/operations/thresholds/mean.js +26 -0
  218. package/lib/operations/thresholds/mean.js.map +1 -0
  219. package/lib/operations/thresholds/minError.d.ts +9 -0
  220. package/lib/operations/thresholds/minError.d.ts.map +1 -0
  221. package/lib/operations/thresholds/minError.js +90 -0
  222. package/lib/operations/thresholds/minError.js.map +1 -0
  223. package/lib/operations/thresholds/minimum.d.ts +8 -0
  224. package/lib/operations/thresholds/minimum.d.ts.map +1 -0
  225. package/lib/operations/thresholds/minimum.js +78 -0
  226. package/lib/operations/thresholds/minimum.js.map +1 -0
  227. package/lib/operations/thresholds/moments.d.ts +9 -0
  228. package/lib/operations/thresholds/moments.d.ts.map +1 -0
  229. package/lib/operations/thresholds/moments.js +62 -0
  230. package/lib/operations/thresholds/moments.js.map +1 -0
  231. package/lib/operations/thresholds/otsu.d.ts +9 -0
  232. package/lib/operations/thresholds/otsu.d.ts.map +1 -0
  233. package/lib/operations/thresholds/otsu.js +43 -0
  234. package/lib/operations/thresholds/otsu.js.map +1 -0
  235. package/lib/operations/thresholds/percentile.d.ts +8 -0
  236. package/lib/operations/thresholds/percentile.d.ts.map +1 -0
  237. package/lib/operations/thresholds/percentile.js +39 -0
  238. package/lib/operations/thresholds/percentile.js.map +1 -0
  239. package/lib/operations/thresholds/renyiEntropy.d.ts +9 -0
  240. package/lib/operations/thresholds/renyiEntropy.d.ts.map +1 -0
  241. package/lib/operations/thresholds/renyiEntropy.js +133 -0
  242. package/lib/operations/thresholds/renyiEntropy.js.map +1 -0
  243. package/lib/operations/thresholds/shanbhag.d.ts +10 -0
  244. package/lib/operations/thresholds/shanbhag.d.ts.map +1 -0
  245. package/lib/operations/thresholds/shanbhag.js +77 -0
  246. package/lib/operations/thresholds/shanbhag.js.map +1 -0
  247. package/lib/operations/thresholds/triangle.d.ts +8 -0
  248. package/lib/operations/thresholds/triangle.d.ts.map +1 -0
  249. package/lib/operations/thresholds/triangle.js +113 -0
  250. package/lib/operations/thresholds/triangle.js.map +1 -0
  251. package/lib/operations/thresholds/yen.d.ts +9 -0
  252. package/lib/operations/thresholds/yen.d.ts.map +1 -0
  253. package/lib/operations/thresholds/yen.js +62 -0
  254. package/lib/operations/thresholds/yen.js.map +1 -0
  255. package/lib/roi/RoiManager.d.ts +32 -0
  256. package/lib/roi/RoiManager.d.ts.map +1 -0
  257. package/lib/roi/RoiManager.js +10 -0
  258. package/lib/roi/RoiManager.js.map +1 -0
  259. package/lib/roi/RoiMapManager.d.ts +33 -0
  260. package/lib/roi/RoiMapManager.d.ts.map +1 -0
  261. package/lib/roi/RoiMapManager.js +17 -0
  262. package/lib/roi/RoiMapManager.js.map +1 -0
  263. package/lib/roi/colorRois.d.ts +39 -0
  264. package/lib/roi/colorRois.d.ts.map +1 -0
  265. package/lib/roi/colorRois.js +48 -0
  266. package/lib/roi/colorRois.js.map +1 -0
  267. package/lib/roi/fromMask.d.ts +19 -0
  268. package/lib/roi/fromMask.d.ts.map +1 -0
  269. package/lib/roi/fromMask.js +148 -0
  270. package/lib/roi/fromMask.js.map +1 -0
  271. package/lib/roi/index.d.ts +5 -0
  272. package/lib/roi/index.d.ts.map +1 -0
  273. package/lib/roi/index.js +21 -0
  274. package/lib/roi/index.js.map +1 -0
  275. package/lib/roi/utils/colorMaps/getBinaryMap.d.ts +37 -0
  276. package/lib/roi/utils/colorMaps/getBinaryMap.d.ts.map +1 -0
  277. package/lib/roi/utils/colorMaps/getBinaryMap.js +34 -0
  278. package/lib/roi/utils/colorMaps/getBinaryMap.js.map +1 -0
  279. package/lib/roi/utils/colorMaps/getRainbowMap.d.ts +25 -0
  280. package/lib/roi/utils/colorMaps/getRainbowMap.d.ts.map +1 -0
  281. package/lib/roi/utils/colorMaps/getRainbowMap.js +51 -0
  282. package/lib/roi/utils/colorMaps/getRainbowMap.js.map +1 -0
  283. package/lib/roi/utils/colorMaps/getSaturationMap.d.ts +42 -0
  284. package/lib/roi/utils/colorMaps/getSaturationMap.d.ts.map +1 -0
  285. package/lib/roi/utils/colorMaps/getSaturationMap.js +39 -0
  286. package/lib/roi/utils/colorMaps/getSaturationMap.js.map +1 -0
  287. package/lib/roi/utils/constants.d.ts +4 -0
  288. package/lib/roi/utils/constants.d.ts.map +1 -0
  289. package/lib/roi/utils/constants.js +7 -0
  290. package/lib/roi/utils/constants.js.map +1 -0
  291. package/lib/roi/utils/getColorMap.d.ts +32 -0
  292. package/lib/roi/utils/getColorMap.d.ts.map +1 -0
  293. package/lib/roi/utils/getColorMap.js +28 -0
  294. package/lib/roi/utils/getColorMap.js.map +1 -0
  295. package/lib/roi/utils/hsvToRgb.d.ts +21 -0
  296. package/lib/roi/utils/hsvToRgb.d.ts.map +1 -0
  297. package/lib/roi/utils/hsvToRgb.js +58 -0
  298. package/lib/roi/utils/hsvToRgb.js.map +1 -0
  299. package/lib/roi/utils/rgbToNumber.d.ts +8 -0
  300. package/lib/roi/utils/rgbToNumber.d.ts.map +1 -0
  301. package/lib/roi/utils/rgbToNumber.js +14 -0
  302. package/lib/roi/utils/rgbToNumber.js.map +1 -0
  303. package/lib/save/encode.d.ts +38 -0
  304. package/lib/save/encode.d.ts.map +1 -0
  305. package/lib/save/encode.js +33 -0
  306. package/lib/save/encode.js.map +1 -0
  307. package/lib/save/encodeJpeg.d.ts +18 -0
  308. package/lib/save/encodeJpeg.d.ts.map +1 -0
  309. package/lib/save/encodeJpeg.js +26 -0
  310. package/lib/save/encodeJpeg.js.map +1 -0
  311. package/lib/save/encodePng.d.ts +12 -0
  312. package/lib/save/encodePng.d.ts.map +1 -0
  313. package/lib/save/encodePng.js +16 -0
  314. package/lib/save/encodePng.js.map +1 -0
  315. package/lib/save/index.d.ts +6 -0
  316. package/lib/save/index.d.ts.map +1 -0
  317. package/lib/save/index.js +22 -0
  318. package/lib/save/index.js.map +1 -0
  319. package/lib/save/write.d.ts +27 -0
  320. package/lib/save/write.d.ts.map +1 -0
  321. package/lib/save/write.js +73 -0
  322. package/lib/save/write.js.map +1 -0
  323. package/lib/save/writeCanvas.d.ts +42 -0
  324. package/lib/save/writeCanvas.d.ts.map +1 -0
  325. package/lib/save/writeCanvas.js +29 -0
  326. package/lib/save/writeCanvas.js.map +1 -0
  327. package/lib/utils/boolToNumber.d.ts +9 -0
  328. package/lib/utils/boolToNumber.d.ts.map +1 -0
  329. package/lib/utils/boolToNumber.js +21 -0
  330. package/lib/utils/boolToNumber.js.map +1 -0
  331. package/lib/utils/borderIterator.d.ts +9 -0
  332. package/lib/utils/borderIterator.d.ts.map +1 -0
  333. package/lib/utils/borderIterator.js +25 -0
  334. package/lib/utils/borderIterator.js.map +1 -0
  335. package/lib/utils/checkKernel.d.ts +8 -0
  336. package/lib/utils/checkKernel.d.ts.map +1 -0
  337. package/lib/utils/checkKernel.js +16 -0
  338. package/lib/utils/checkKernel.js.map +1 -0
  339. package/lib/utils/checkProcessable.d.ts +18 -0
  340. package/lib/utils/checkProcessable.d.ts.map +1 -0
  341. package/lib/utils/checkProcessable.js +65 -0
  342. package/lib/utils/checkProcessable.js.map +1 -0
  343. package/lib/utils/clamp.d.ts +10 -0
  344. package/lib/utils/clamp.d.ts.map +1 -0
  345. package/lib/utils/clamp.js +38 -0
  346. package/lib/utils/clamp.js.map +1 -0
  347. package/lib/utils/colorModels.d.ts +15 -0
  348. package/lib/utils/colorModels.d.ts.map +1 -0
  349. package/lib/utils/colorModels.js +39 -0
  350. package/lib/utils/colorModels.js.map +1 -0
  351. package/lib/utils/copyData.d.ts +4 -0
  352. package/lib/utils/copyData.d.ts.map +1 -0
  353. package/lib/utils/copyData.js +20 -0
  354. package/lib/utils/copyData.js.map +1 -0
  355. package/lib/utils/getIndex.d.ts +12 -0
  356. package/lib/utils/getIndex.d.ts.map +1 -0
  357. package/lib/utils/getIndex.js +17 -0
  358. package/lib/utils/getIndex.js.map +1 -0
  359. package/lib/utils/getOutputImage.d.ts +61 -0
  360. package/lib/utils/getOutputImage.d.ts.map +1 -0
  361. package/lib/utils/getOutputImage.js +150 -0
  362. package/lib/utils/getOutputImage.js.map +1 -0
  363. package/lib/utils/interpolateBorder.d.ts +44 -0
  364. package/lib/utils/interpolateBorder.d.ts.map +1 -0
  365. package/lib/utils/interpolateBorder.js +143 -0
  366. package/lib/utils/interpolateBorder.js.map +1 -0
  367. package/lib/utils/interpolatePixel.d.ts +18 -0
  368. package/lib/utils/interpolatePixel.d.ts.map +1 -0
  369. package/lib/utils/interpolatePixel.js +122 -0
  370. package/lib/utils/interpolatePixel.js.map +1 -0
  371. package/lib/utils/kernels.d.ts +13 -0
  372. package/lib/utils/kernels.d.ts.map +1 -0
  373. package/lib/utils/kernels.js +66 -0
  374. package/lib/utils/kernels.js.map +1 -0
  375. package/lib/utils/kinds.d.ts +9 -0
  376. package/lib/utils/kinds.d.ts.map +1 -0
  377. package/lib/utils/kinds.js +23 -0
  378. package/lib/utils/kinds.js.map +1 -0
  379. package/lib/utils/round.d.ts +2 -0
  380. package/lib/utils/round.d.ts.map +1 -0
  381. package/lib/utils/round.js +11 -0
  382. package/lib/utils/round.js.map +1 -0
  383. package/lib/utils/validators.d.ts +23 -0
  384. package/lib/utils/validators.d.ts.map +1 -0
  385. package/lib/utils/validators.js +40 -0
  386. package/lib/utils/validators.js.map +1 -0
  387. package/lib-esm/IJS.d.ts +316 -0
  388. package/lib-esm/IJS.d.ts.map +1 -0
  389. package/lib-esm/IJS.js +526 -0
  390. package/lib-esm/IJS.js.map +1 -0
  391. package/lib-esm/Mask.d.ts +257 -0
  392. package/lib-esm/Mask.d.ts.map +1 -0
  393. package/lib-esm/Mask.js +334 -0
  394. package/lib-esm/Mask.js.map +1 -0
  395. package/lib-esm/compute/histogram.d.ts +20 -0
  396. package/lib-esm/compute/histogram.d.ts.map +1 -0
  397. package/lib-esm/compute/histogram.js +24 -0
  398. package/lib-esm/compute/histogram.js.map +1 -0
  399. package/lib-esm/compute/index.d.ts +2 -0
  400. package/lib-esm/compute/index.d.ts.map +1 -0
  401. package/lib-esm/compute/index.js +2 -0
  402. package/lib-esm/compute/index.js.map +1 -0
  403. package/lib-esm/filters/and.d.ts +17 -0
  404. package/lib-esm/filters/and.d.ts.map +1 -0
  405. package/lib-esm/filters/and.js +25 -0
  406. package/lib-esm/filters/and.js.map +1 -0
  407. package/lib-esm/filters/blur.d.ts +37 -0
  408. package/lib-esm/filters/blur.d.ts.map +1 -0
  409. package/lib-esm/filters/blur.js +18 -0
  410. package/lib-esm/filters/blur.js.map +1 -0
  411. package/lib-esm/filters/convolution.d.ts +79 -0
  412. package/lib-esm/filters/convolution.d.ts.map +1 -0
  413. package/lib-esm/filters/convolution.js +189 -0
  414. package/lib-esm/filters/convolution.js.map +1 -0
  415. package/lib-esm/filters/derivativeFilter.d.ts +40 -0
  416. package/lib-esm/filters/derivativeFilter.d.ts.map +1 -0
  417. package/lib-esm/filters/derivativeFilter.js +38 -0
  418. package/lib-esm/filters/derivativeFilter.js.map +1 -0
  419. package/lib-esm/filters/gaussianBlur.d.ts +59 -0
  420. package/lib-esm/filters/gaussianBlur.d.ts.map +1 -0
  421. package/lib-esm/filters/gaussianBlur.js +55 -0
  422. package/lib-esm/filters/gaussianBlur.js.map +1 -0
  423. package/lib-esm/filters/gradientFilter.d.ts +54 -0
  424. package/lib-esm/filters/gradientFilter.d.ts.map +1 -0
  425. package/lib-esm/filters/gradientFilter.js +51 -0
  426. package/lib-esm/filters/gradientFilter.js.map +1 -0
  427. package/lib-esm/filters/hypotenuse.d.ts +23 -0
  428. package/lib-esm/filters/hypotenuse.d.ts.map +1 -0
  429. package/lib-esm/filters/hypotenuse.js +39 -0
  430. package/lib-esm/filters/hypotenuse.js.map +1 -0
  431. package/lib-esm/filters/index.d.ts +11 -0
  432. package/lib-esm/filters/index.d.ts.map +1 -0
  433. package/lib-esm/filters/index.js +11 -0
  434. package/lib-esm/filters/index.js.map +1 -0
  435. package/lib-esm/filters/invert.d.ts +11 -0
  436. package/lib-esm/filters/invert.d.ts.map +1 -0
  437. package/lib-esm/filters/invert.js +33 -0
  438. package/lib-esm/filters/invert.js.map +1 -0
  439. package/lib-esm/filters/or.d.ts +17 -0
  440. package/lib-esm/filters/or.d.ts.map +1 -0
  441. package/lib-esm/filters/or.js +25 -0
  442. package/lib-esm/filters/or.js.map +1 -0
  443. package/lib-esm/filters/subtractImage.d.ts +13 -0
  444. package/lib-esm/filters/subtractImage.d.ts.map +1 -0
  445. package/lib-esm/filters/subtractImage.js +57 -0
  446. package/lib-esm/filters/subtractImage.js.map +1 -0
  447. package/lib-esm/geometry/index.d.ts +4 -0
  448. package/lib-esm/geometry/index.d.ts.map +1 -0
  449. package/lib-esm/geometry/index.js +4 -0
  450. package/lib-esm/geometry/index.js.map +1 -0
  451. package/lib-esm/geometry/resize.d.ts +52 -0
  452. package/lib-esm/geometry/resize.d.ts.map +1 -0
  453. package/lib-esm/geometry/resize.js +103 -0
  454. package/lib-esm/geometry/resize.js.map +1 -0
  455. package/lib-esm/geometry/rotate.d.ts +54 -0
  456. package/lib-esm/geometry/rotate.d.ts.map +1 -0
  457. package/lib-esm/geometry/rotate.js +40 -0
  458. package/lib-esm/geometry/rotate.js.map +1 -0
  459. package/lib-esm/geometry/transform.d.ts +46 -0
  460. package/lib-esm/geometry/transform.d.ts.map +1 -0
  461. package/lib-esm/geometry/transform.js +91 -0
  462. package/lib-esm/geometry/transform.js.map +1 -0
  463. package/lib-esm/index.d.ts +10 -0
  464. package/lib-esm/index.d.ts.map +1 -0
  465. package/lib-esm/index.js +10 -0
  466. package/lib-esm/index.js.map +1 -0
  467. package/lib-esm/load/decode.d.ts +10 -0
  468. package/lib-esm/load/decode.d.ts.map +1 -0
  469. package/lib-esm/load/decode.js +26 -0
  470. package/lib-esm/load/decode.js.map +1 -0
  471. package/lib-esm/load/decodeJpeg.d.ts +9 -0
  472. package/lib-esm/load/decodeJpeg.d.ts.map +1 -0
  473. package/lib-esm/load/decodeJpeg.js +16 -0
  474. package/lib-esm/load/decodeJpeg.js.map +1 -0
  475. package/lib-esm/load/decodePng.d.ts +9 -0
  476. package/lib-esm/load/decodePng.d.ts.map +1 -0
  477. package/lib-esm/load/decodePng.js +68 -0
  478. package/lib-esm/load/decodePng.js.map +1 -0
  479. package/lib-esm/load/decodeTiff.d.ts +9 -0
  480. package/lib-esm/load/decodeTiff.d.ts.map +1 -0
  481. package/lib-esm/load/decodeTiff.js +60 -0
  482. package/lib-esm/load/decodeTiff.js.map +1 -0
  483. package/lib-esm/load/index.d.ts +8 -0
  484. package/lib-esm/load/index.d.ts.map +1 -0
  485. package/lib-esm/load/index.js +8 -0
  486. package/lib-esm/load/index.js.map +1 -0
  487. package/lib-esm/load/read.d.ts +17 -0
  488. package/lib-esm/load/read.d.ts.map +1 -0
  489. package/lib-esm/load/read.js +23 -0
  490. package/lib-esm/load/read.js.map +1 -0
  491. package/lib-esm/load/readCanvas.d.ts +3 -0
  492. package/lib-esm/load/readCanvas.d.ts.map +1 -0
  493. package/lib-esm/load/readCanvas.js +13 -0
  494. package/lib-esm/load/readCanvas.js.map +1 -0
  495. package/lib-esm/load/readImg.d.ts +3 -0
  496. package/lib-esm/load/readImg.d.ts.map +1 -0
  497. package/lib-esm/load/readImg.js +13 -0
  498. package/lib-esm/load/readImg.js.map +1 -0
  499. package/lib-esm/morphology/bottomHat.d.ts +19 -0
  500. package/lib-esm/morphology/bottomHat.d.ts.map +1 -0
  501. package/lib-esm/morphology/bottomHat.js +39 -0
  502. package/lib-esm/morphology/bottomHat.js.map +1 -0
  503. package/lib-esm/morphology/cannyEdgeDetector.d.ts +49 -0
  504. package/lib-esm/morphology/cannyEdgeDetector.d.ts.map +1 -0
  505. package/lib-esm/morphology/cannyEdgeDetector.js +149 -0
  506. package/lib-esm/morphology/cannyEdgeDetector.js.map +1 -0
  507. package/lib-esm/morphology/clearBorder.d.ts +22 -0
  508. package/lib-esm/morphology/clearBorder.d.ts.map +1 -0
  509. package/lib-esm/morphology/clearBorder.js +85 -0
  510. package/lib-esm/morphology/clearBorder.js.map +1 -0
  511. package/lib-esm/morphology/close.d.ts +19 -0
  512. package/lib-esm/morphology/close.d.ts.map +1 -0
  513. package/lib-esm/morphology/close.js +34 -0
  514. package/lib-esm/morphology/close.js.map +1 -0
  515. package/lib-esm/morphology/dilate.d.ts +20 -0
  516. package/lib-esm/morphology/dilate.d.ts.map +1 -0
  517. package/lib-esm/morphology/dilate.js +192 -0
  518. package/lib-esm/morphology/dilate.js.map +1 -0
  519. package/lib-esm/morphology/erode.d.ts +20 -0
  520. package/lib-esm/morphology/erode.d.ts.map +1 -0
  521. package/lib-esm/morphology/erode.js +192 -0
  522. package/lib-esm/morphology/erode.js.map +1 -0
  523. package/lib-esm/morphology/floodFill.d.ts +22 -0
  524. package/lib-esm/morphology/floodFill.d.ts.map +1 -0
  525. package/lib-esm/morphology/floodFill.js +16 -0
  526. package/lib-esm/morphology/floodFill.js.map +1 -0
  527. package/lib-esm/morphology/index.d.ts +11 -0
  528. package/lib-esm/morphology/index.d.ts.map +1 -0
  529. package/lib-esm/morphology/index.js +11 -0
  530. package/lib-esm/morphology/index.js.map +1 -0
  531. package/lib-esm/morphology/morphologicalGradient.d.ts +19 -0
  532. package/lib-esm/morphology/morphologicalGradient.d.ts.map +1 -0
  533. package/lib-esm/morphology/morphologicalGradient.js +36 -0
  534. package/lib-esm/morphology/morphologicalGradient.js.map +1 -0
  535. package/lib-esm/morphology/open.d.ts +19 -0
  536. package/lib-esm/morphology/open.d.ts.map +1 -0
  537. package/lib-esm/morphology/open.js +36 -0
  538. package/lib-esm/morphology/open.js.map +1 -0
  539. package/lib-esm/morphology/topHat.d.ts +19 -0
  540. package/lib-esm/morphology/topHat.d.ts.map +1 -0
  541. package/lib-esm/morphology/topHat.js +37 -0
  542. package/lib-esm/morphology/topHat.js.map +1 -0
  543. package/lib-esm/operations/convertColor.d.ts +32 -0
  544. package/lib-esm/operations/convertColor.d.ts.map +1 -0
  545. package/lib-esm/operations/convertColor.js +142 -0
  546. package/lib-esm/operations/convertColor.js.map +1 -0
  547. package/lib-esm/operations/convertDepth.d.ts +10 -0
  548. package/lib-esm/operations/convertDepth.d.ts.map +1 -0
  549. package/lib-esm/operations/convertDepth.js +56 -0
  550. package/lib-esm/operations/convertDepth.js.map +1 -0
  551. package/lib-esm/operations/copyTo.d.ts +29 -0
  552. package/lib-esm/operations/copyTo.d.ts.map +1 -0
  553. package/lib-esm/operations/copyTo.js +48 -0
  554. package/lib-esm/operations/copyTo.js.map +1 -0
  555. package/lib-esm/operations/grey.d.ts +50 -0
  556. package/lib-esm/operations/grey.d.ts.map +1 -0
  557. package/lib-esm/operations/grey.js +60 -0
  558. package/lib-esm/operations/grey.js.map +1 -0
  559. package/lib-esm/operations/greyAlgorithms.d.ts +149 -0
  560. package/lib-esm/operations/greyAlgorithms.d.ts.map +1 -0
  561. package/lib-esm/operations/greyAlgorithms.js +223 -0
  562. package/lib-esm/operations/greyAlgorithms.js.map +1 -0
  563. package/lib-esm/operations/index.d.ts +8 -0
  564. package/lib-esm/operations/index.d.ts.map +1 -0
  565. package/lib-esm/operations/index.js +8 -0
  566. package/lib-esm/operations/index.js.map +1 -0
  567. package/lib-esm/operations/merge.d.ts +9 -0
  568. package/lib-esm/operations/merge.d.ts.map +1 -0
  569. package/lib-esm/operations/merge.js +47 -0
  570. package/lib-esm/operations/merge.js.map +1 -0
  571. package/lib-esm/operations/split.d.ts +9 -0
  572. package/lib-esm/operations/split.d.ts.map +1 -0
  573. package/lib-esm/operations/split.js +19 -0
  574. package/lib-esm/operations/split.js.map +1 -0
  575. package/lib-esm/operations/threshold.d.ts +58 -0
  576. package/lib-esm/operations/threshold.d.ts.map +1 -0
  577. package/lib-esm/operations/threshold.js +106 -0
  578. package/lib-esm/operations/threshold.js.map +1 -0
  579. package/lib-esm/operations/thresholds/huang.d.ts +8 -0
  580. package/lib-esm/operations/thresholds/huang.d.ts.map +1 -0
  581. package/lib-esm/operations/thresholds/huang.js +78 -0
  582. package/lib-esm/operations/thresholds/huang.js.map +1 -0
  583. package/lib-esm/operations/thresholds/intermodes.d.ts +8 -0
  584. package/lib-esm/operations/thresholds/intermodes.d.ts.map +1 -0
  585. package/lib-esm/operations/thresholds/intermodes.js +59 -0
  586. package/lib-esm/operations/thresholds/intermodes.js.map +1 -0
  587. package/lib-esm/operations/thresholds/isodata.d.ts +8 -0
  588. package/lib-esm/operations/thresholds/isodata.d.ts.map +1 -0
  589. package/lib-esm/operations/thresholds/isodata.js +52 -0
  590. package/lib-esm/operations/thresholds/isodata.js.map +1 -0
  591. package/lib-esm/operations/thresholds/li.d.ts +9 -0
  592. package/lib-esm/operations/thresholds/li.d.ts.map +1 -0
  593. package/lib-esm/operations/thresholds/li.js +74 -0
  594. package/lib-esm/operations/thresholds/li.js.map +1 -0
  595. package/lib-esm/operations/thresholds/maxEntropy.d.ts +9 -0
  596. package/lib-esm/operations/thresholds/maxEntropy.d.ts.map +1 -0
  597. package/lib-esm/operations/thresholds/maxEntropy.js +77 -0
  598. package/lib-esm/operations/thresholds/maxEntropy.js.map +1 -0
  599. package/lib-esm/operations/thresholds/mean.d.ts +9 -0
  600. package/lib-esm/operations/thresholds/mean.d.ts.map +1 -0
  601. package/lib-esm/operations/thresholds/mean.js +23 -0
  602. package/lib-esm/operations/thresholds/mean.js.map +1 -0
  603. package/lib-esm/operations/thresholds/minError.d.ts +9 -0
  604. package/lib-esm/operations/thresholds/minError.d.ts.map +1 -0
  605. package/lib-esm/operations/thresholds/minError.js +87 -0
  606. package/lib-esm/operations/thresholds/minError.js.map +1 -0
  607. package/lib-esm/operations/thresholds/minimum.d.ts +8 -0
  608. package/lib-esm/operations/thresholds/minimum.d.ts.map +1 -0
  609. package/lib-esm/operations/thresholds/minimum.js +75 -0
  610. package/lib-esm/operations/thresholds/minimum.js.map +1 -0
  611. package/lib-esm/operations/thresholds/moments.d.ts +9 -0
  612. package/lib-esm/operations/thresholds/moments.d.ts.map +1 -0
  613. package/lib-esm/operations/thresholds/moments.js +59 -0
  614. package/lib-esm/operations/thresholds/moments.js.map +1 -0
  615. package/lib-esm/operations/thresholds/otsu.d.ts +9 -0
  616. package/lib-esm/operations/thresholds/otsu.d.ts.map +1 -0
  617. package/lib-esm/operations/thresholds/otsu.js +39 -0
  618. package/lib-esm/operations/thresholds/otsu.js.map +1 -0
  619. package/lib-esm/operations/thresholds/percentile.d.ts +8 -0
  620. package/lib-esm/operations/thresholds/percentile.d.ts.map +1 -0
  621. package/lib-esm/operations/thresholds/percentile.js +36 -0
  622. package/lib-esm/operations/thresholds/percentile.js.map +1 -0
  623. package/lib-esm/operations/thresholds/renyiEntropy.d.ts +9 -0
  624. package/lib-esm/operations/thresholds/renyiEntropy.d.ts.map +1 -0
  625. package/lib-esm/operations/thresholds/renyiEntropy.js +130 -0
  626. package/lib-esm/operations/thresholds/renyiEntropy.js.map +1 -0
  627. package/lib-esm/operations/thresholds/shanbhag.d.ts +10 -0
  628. package/lib-esm/operations/thresholds/shanbhag.d.ts.map +1 -0
  629. package/lib-esm/operations/thresholds/shanbhag.js +74 -0
  630. package/lib-esm/operations/thresholds/shanbhag.js.map +1 -0
  631. package/lib-esm/operations/thresholds/triangle.d.ts +8 -0
  632. package/lib-esm/operations/thresholds/triangle.d.ts.map +1 -0
  633. package/lib-esm/operations/thresholds/triangle.js +109 -0
  634. package/lib-esm/operations/thresholds/triangle.js.map +1 -0
  635. package/lib-esm/operations/thresholds/yen.d.ts +9 -0
  636. package/lib-esm/operations/thresholds/yen.d.ts.map +1 -0
  637. package/lib-esm/operations/thresholds/yen.js +59 -0
  638. package/lib-esm/operations/thresholds/yen.js.map +1 -0
  639. package/lib-esm/roi/RoiManager.d.ts +32 -0
  640. package/lib-esm/roi/RoiManager.d.ts.map +1 -0
  641. package/lib-esm/roi/RoiManager.js +7 -0
  642. package/lib-esm/roi/RoiManager.js.map +1 -0
  643. package/lib-esm/roi/RoiMapManager.d.ts +33 -0
  644. package/lib-esm/roi/RoiMapManager.d.ts.map +1 -0
  645. package/lib-esm/roi/RoiMapManager.js +13 -0
  646. package/lib-esm/roi/RoiMapManager.js.map +1 -0
  647. package/lib-esm/roi/colorRois.d.ts +39 -0
  648. package/lib-esm/roi/colorRois.d.ts.map +1 -0
  649. package/lib-esm/roi/colorRois.js +44 -0
  650. package/lib-esm/roi/colorRois.js.map +1 -0
  651. package/lib-esm/roi/fromMask.d.ts +19 -0
  652. package/lib-esm/roi/fromMask.d.ts.map +1 -0
  653. package/lib-esm/roi/fromMask.js +144 -0
  654. package/lib-esm/roi/fromMask.js.map +1 -0
  655. package/lib-esm/roi/index.d.ts +5 -0
  656. package/lib-esm/roi/index.d.ts.map +1 -0
  657. package/lib-esm/roi/index.js +5 -0
  658. package/lib-esm/roi/index.js.map +1 -0
  659. package/lib-esm/roi/utils/colorMaps/getBinaryMap.d.ts +37 -0
  660. package/lib-esm/roi/utils/colorMaps/getBinaryMap.d.ts.map +1 -0
  661. package/lib-esm/roi/utils/colorMaps/getBinaryMap.js +30 -0
  662. package/lib-esm/roi/utils/colorMaps/getBinaryMap.js.map +1 -0
  663. package/lib-esm/roi/utils/colorMaps/getRainbowMap.d.ts +25 -0
  664. package/lib-esm/roi/utils/colorMaps/getRainbowMap.d.ts.map +1 -0
  665. package/lib-esm/roi/utils/colorMaps/getRainbowMap.js +47 -0
  666. package/lib-esm/roi/utils/colorMaps/getRainbowMap.js.map +1 -0
  667. package/lib-esm/roi/utils/colorMaps/getSaturationMap.d.ts +42 -0
  668. package/lib-esm/roi/utils/colorMaps/getSaturationMap.d.ts.map +1 -0
  669. package/lib-esm/roi/utils/colorMaps/getSaturationMap.js +35 -0
  670. package/lib-esm/roi/utils/colorMaps/getSaturationMap.js.map +1 -0
  671. package/lib-esm/roi/utils/constants.d.ts +4 -0
  672. package/lib-esm/roi/utils/constants.d.ts.map +1 -0
  673. package/lib-esm/roi/utils/constants.js +4 -0
  674. package/lib-esm/roi/utils/constants.js.map +1 -0
  675. package/lib-esm/roi/utils/getColorMap.d.ts +32 -0
  676. package/lib-esm/roi/utils/getColorMap.d.ts.map +1 -0
  677. package/lib-esm/roi/utils/getColorMap.js +24 -0
  678. package/lib-esm/roi/utils/getColorMap.js.map +1 -0
  679. package/lib-esm/roi/utils/hsvToRgb.d.ts +21 -0
  680. package/lib-esm/roi/utils/hsvToRgb.d.ts.map +1 -0
  681. package/lib-esm/roi/utils/hsvToRgb.js +54 -0
  682. package/lib-esm/roi/utils/hsvToRgb.js.map +1 -0
  683. package/lib-esm/roi/utils/rgbToNumber.d.ts +8 -0
  684. package/lib-esm/roi/utils/rgbToNumber.d.ts.map +1 -0
  685. package/lib-esm/roi/utils/rgbToNumber.js +10 -0
  686. package/lib-esm/roi/utils/rgbToNumber.js.map +1 -0
  687. package/lib-esm/save/encode.d.ts +38 -0
  688. package/lib-esm/save/encode.d.ts.map +1 -0
  689. package/lib-esm/save/encode.js +29 -0
  690. package/lib-esm/save/encode.js.map +1 -0
  691. package/lib-esm/save/encodeJpeg.d.ts +18 -0
  692. package/lib-esm/save/encodeJpeg.d.ts.map +1 -0
  693. package/lib-esm/save/encodeJpeg.js +22 -0
  694. package/lib-esm/save/encodeJpeg.js.map +1 -0
  695. package/lib-esm/save/encodePng.d.ts +12 -0
  696. package/lib-esm/save/encodePng.d.ts.map +1 -0
  697. package/lib-esm/save/encodePng.js +12 -0
  698. package/lib-esm/save/encodePng.js.map +1 -0
  699. package/lib-esm/save/index.d.ts +6 -0
  700. package/lib-esm/save/index.d.ts.map +1 -0
  701. package/lib-esm/save/index.js +6 -0
  702. package/lib-esm/save/index.js.map +1 -0
  703. package/lib-esm/save/write.d.ts +27 -0
  704. package/lib-esm/save/write.d.ts.map +1 -0
  705. package/lib-esm/save/write.js +65 -0
  706. package/lib-esm/save/write.js.map +1 -0
  707. package/lib-esm/save/writeCanvas.d.ts +42 -0
  708. package/lib-esm/save/writeCanvas.d.ts.map +1 -0
  709. package/lib-esm/save/writeCanvas.js +25 -0
  710. package/lib-esm/save/writeCanvas.js.map +1 -0
  711. package/lib-esm/utils/boolToNumber.d.ts +9 -0
  712. package/lib-esm/utils/boolToNumber.d.ts.map +1 -0
  713. package/lib-esm/utils/boolToNumber.js +17 -0
  714. package/lib-esm/utils/boolToNumber.js.map +1 -0
  715. package/lib-esm/utils/borderIterator.d.ts +9 -0
  716. package/lib-esm/utils/borderIterator.d.ts.map +1 -0
  717. package/lib-esm/utils/borderIterator.js +21 -0
  718. package/lib-esm/utils/borderIterator.js.map +1 -0
  719. package/lib-esm/utils/checkKernel.d.ts +8 -0
  720. package/lib-esm/utils/checkKernel.d.ts.map +1 -0
  721. package/lib-esm/utils/checkKernel.js +12 -0
  722. package/lib-esm/utils/checkKernel.js.map +1 -0
  723. package/lib-esm/utils/checkProcessable.d.ts +18 -0
  724. package/lib-esm/utils/checkProcessable.d.ts.map +1 -0
  725. package/lib-esm/utils/checkProcessable.js +62 -0
  726. package/lib-esm/utils/checkProcessable.js.map +1 -0
  727. package/lib-esm/utils/clamp.d.ts +10 -0
  728. package/lib-esm/utils/clamp.d.ts.map +1 -0
  729. package/lib-esm/utils/clamp.js +34 -0
  730. package/lib-esm/utils/clamp.js.map +1 -0
  731. package/lib-esm/utils/colorModels.d.ts +15 -0
  732. package/lib-esm/utils/colorModels.d.ts.map +1 -0
  733. package/lib-esm/utils/colorModels.js +36 -0
  734. package/lib-esm/utils/colorModels.js.map +1 -0
  735. package/lib-esm/utils/copyData.d.ts +4 -0
  736. package/lib-esm/utils/copyData.d.ts.map +1 -0
  737. package/lib-esm/utils/copyData.js +16 -0
  738. package/lib-esm/utils/copyData.js.map +1 -0
  739. package/lib-esm/utils/getIndex.d.ts +12 -0
  740. package/lib-esm/utils/getIndex.d.ts.map +1 -0
  741. package/lib-esm/utils/getIndex.js +13 -0
  742. package/lib-esm/utils/getIndex.js.map +1 -0
  743. package/lib-esm/utils/getOutputImage.d.ts +61 -0
  744. package/lib-esm/utils/getOutputImage.d.ts.map +1 -0
  745. package/lib-esm/utils/getOutputImage.js +143 -0
  746. package/lib-esm/utils/getOutputImage.js.map +1 -0
  747. package/lib-esm/utils/interpolateBorder.d.ts +44 -0
  748. package/lib-esm/utils/interpolateBorder.d.ts.map +1 -0
  749. package/lib-esm/utils/interpolateBorder.js +134 -0
  750. package/lib-esm/utils/interpolateBorder.js.map +1 -0
  751. package/lib-esm/utils/interpolatePixel.d.ts +18 -0
  752. package/lib-esm/utils/interpolatePixel.d.ts.map +1 -0
  753. package/lib-esm/utils/interpolatePixel.js +118 -0
  754. package/lib-esm/utils/interpolatePixel.js.map +1 -0
  755. package/lib-esm/utils/kernels.d.ts +13 -0
  756. package/lib-esm/utils/kernels.d.ts.map +1 -0
  757. package/lib-esm/utils/kernels.js +63 -0
  758. package/lib-esm/utils/kernels.js.map +1 -0
  759. package/lib-esm/utils/kinds.d.ts +9 -0
  760. package/lib-esm/utils/kinds.d.ts.map +1 -0
  761. package/lib-esm/utils/kinds.js +20 -0
  762. package/lib-esm/utils/kinds.js.map +1 -0
  763. package/lib-esm/utils/round.d.ts +2 -0
  764. package/lib-esm/utils/round.d.ts.map +1 -0
  765. package/lib-esm/utils/round.js +7 -0
  766. package/lib-esm/utils/round.js.map +1 -0
  767. package/lib-esm/utils/validators.d.ts +23 -0
  768. package/lib-esm/utils/validators.d.ts.map +1 -0
  769. package/lib-esm/utils/validators.js +34 -0
  770. package/lib-esm/utils/validators.js.map +1 -0
  771. package/package.json +79 -0
  772. package/src/IJS.ts +758 -0
  773. package/src/Mask.ts +476 -0
  774. package/src/compute/histogram.ts +39 -0
  775. package/src/compute/index.ts +1 -0
  776. package/src/filters/and.ts +34 -0
  777. package/src/filters/blur.ts +49 -0
  778. package/src/filters/convolution.ts +357 -0
  779. package/src/filters/derivativeFilter.ts +77 -0
  780. package/src/filters/gaussianBlur.ts +124 -0
  781. package/src/filters/gradientFilter.ts +106 -0
  782. package/src/filters/hypotenuse.ts +74 -0
  783. package/src/filters/index.ts +10 -0
  784. package/src/filters/invert.ts +47 -0
  785. package/src/filters/or.ts +34 -0
  786. package/src/filters/subtractImage.ts +91 -0
  787. package/src/geometry/index.ts +3 -0
  788. package/src/geometry/resize.ts +182 -0
  789. package/src/geometry/rotate.ts +99 -0
  790. package/src/geometry/transform.ts +169 -0
  791. package/src/index.ts +9 -0
  792. package/src/load/decode.ts +33 -0
  793. package/src/load/decodeJpeg.ts +17 -0
  794. package/src/load/decodePng.ts +78 -0
  795. package/src/load/decodeTiff.ts +64 -0
  796. package/src/load/index.ts +7 -0
  797. package/src/load/read.ts +27 -0
  798. package/src/load/readCanvas.ts +17 -0
  799. package/src/load/readImg.ts +15 -0
  800. package/src/morphology/bottomHat.ts +66 -0
  801. package/src/morphology/cannyEdgeDetector.ts +214 -0
  802. package/src/morphology/clearBorder.ts +116 -0
  803. package/src/morphology/close.ts +61 -0
  804. package/src/morphology/dilate.ts +264 -0
  805. package/src/morphology/erode.ts +264 -0
  806. package/src/morphology/floodFill.ts +31 -0
  807. package/src/morphology/index.ts +10 -0
  808. package/src/morphology/morphologicalGradient.ts +69 -0
  809. package/src/morphology/open.ts +61 -0
  810. package/src/morphology/topHat.ts +64 -0
  811. package/src/operations/convertColor.ts +185 -0
  812. package/src/operations/convertDepth.ts +59 -0
  813. package/src/operations/copyTo.ts +107 -0
  814. package/src/operations/grey.ts +114 -0
  815. package/src/operations/greyAlgorithms.ts +265 -0
  816. package/src/operations/index.ts +7 -0
  817. package/src/operations/merge.ts +52 -0
  818. package/src/operations/split.ts +19 -0
  819. package/src/operations/threshold.ts +145 -0
  820. package/src/operations/thresholds/huang.ts +84 -0
  821. package/src/operations/thresholds/intermodes.ts +62 -0
  822. package/src/operations/thresholds/isodata.ts +53 -0
  823. package/src/operations/thresholds/li.ts +81 -0
  824. package/src/operations/thresholds/maxEntropy.ts +89 -0
  825. package/src/operations/thresholds/mean.ts +23 -0
  826. package/src/operations/thresholds/minError.ts +102 -0
  827. package/src/operations/thresholds/minimum.ts +78 -0
  828. package/src/operations/thresholds/moments.ts +60 -0
  829. package/src/operations/thresholds/otsu.ts +42 -0
  830. package/src/operations/thresholds/percentile.ts +40 -0
  831. package/src/operations/thresholds/renyiEntropy.ts +148 -0
  832. package/src/operations/thresholds/shanbhag.ts +82 -0
  833. package/src/operations/thresholds/triangle.ts +115 -0
  834. package/src/operations/thresholds/yen.ts +63 -0
  835. package/src/roi/RoiManager.ts +34 -0
  836. package/src/roi/RoiMapManager.ts +48 -0
  837. package/src/roi/colorRois.ts +69 -0
  838. package/src/roi/fromMask.ts +184 -0
  839. package/src/roi/index.ts +4 -0
  840. package/src/roi/utils/colorMaps/getBinaryMap.ts +72 -0
  841. package/src/roi/utils/colorMaps/getRainbowMap.ts +65 -0
  842. package/src/roi/utils/colorMaps/getSaturationMap.ts +80 -0
  843. package/src/roi/utils/constants.ts +3 -0
  844. package/src/roi/utils/getColorMap.ts +51 -0
  845. package/src/roi/utils/hsvToRgb.ts +62 -0
  846. package/src/roi/utils/rgbToNumber.ts +9 -0
  847. package/src/save/encode.ts +65 -0
  848. package/src/save/encodeJpeg.ts +37 -0
  849. package/src/save/encodePng.ts +16 -0
  850. package/src/save/index.ts +5 -0
  851. package/src/save/write.ts +109 -0
  852. package/src/save/writeCanvas.ts +82 -0
  853. package/src/utils/boolToNumber.ts +18 -0
  854. package/src/utils/borderIterator.ts +22 -0
  855. package/src/utils/checkKernel.ts +13 -0
  856. package/src/utils/checkProcessable.ts +98 -0
  857. package/src/utils/clamp.ts +39 -0
  858. package/src/utils/colorModels.ts +41 -0
  859. package/src/utils/copyData.ts +23 -0
  860. package/src/utils/getIndex.ts +19 -0
  861. package/src/utils/getOutputImage.ts +182 -0
  862. package/src/utils/interpolateBorder.ts +206 -0
  863. package/src/utils/interpolatePixel.ts +170 -0
  864. package/src/utils/kernels.ts +73 -0
  865. package/src/utils/kinds.ts +27 -0
  866. package/src/utils/round.ts +6 -0
  867. package/src/utils/validators.ts +43 -0
package/lib/Mask.d.ts ADDED
@@ -0,0 +1,257 @@
1
+ import { AndOptions, InvertOptions, OrOptions, SubtractImageOptions } from './filters';
2
+ import { BottomHatOptions, ClearBorderOptions, CloseOptions, DilateOptions, ErodeOptions, FloodFillOptions, MorphologicalGradientOptions, OpenOptions, TopHatOptions } from './morphology';
3
+ import { ImageColorModel, ColorDepth, IJS } from '.';
4
+ export declare type BitValue = 1 | 0 | boolean;
5
+ export interface MaskOptions {
6
+ /**
7
+ * Typed array holding the mask data.
8
+ */
9
+ data?: Uint8Array;
10
+ }
11
+ export interface MaskCreateFromOptions extends MaskOptions {
12
+ width?: number;
13
+ height?: number;
14
+ }
15
+ export declare class Mask {
16
+ /**
17
+ * The number of columns of the mask.
18
+ */
19
+ readonly width: number;
20
+ /**
21
+ * The number of rows of the mask.
22
+ */
23
+ readonly height: number;
24
+ /**
25
+ * The total number of bits in the mask (width × height).
26
+ */
27
+ readonly size: number;
28
+ /**
29
+ * The number of bits per value in each channel (always 1).
30
+ */
31
+ readonly depth: ColorDepth;
32
+ /**
33
+ * The color model of the mask (always BINARY).
34
+ */
35
+ readonly colorModel: ImageColorModel;
36
+ /**
37
+ * The number of color channels in the image, excluding the alpha channel.
38
+ * (always 1)
39
+ */
40
+ readonly components: number;
41
+ /**
42
+ * The number of channels in the mask, including the alpha channel.
43
+ * (always 1)
44
+ */
45
+ readonly channels: number;
46
+ /**
47
+ * Specifying that the mask has no an alpha channel.
48
+ */
49
+ readonly alpha: boolean;
50
+ /**
51
+ * The maximum value that a pixel channel can have.
52
+ */
53
+ readonly maxValue: number;
54
+ /**
55
+ * Typed array holding the mask data.
56
+ */
57
+ private readonly data;
58
+ /**
59
+ * Construct a new Mask knowing its dimensions.
60
+ *
61
+ * @param width - Image width.
62
+ * @param height - Image height.
63
+ * @param options - Image options.
64
+ */
65
+ constructor(width: number, height: number, options?: MaskOptions);
66
+ /**
67
+ * Create a new Mask based on the properties of an existing one.
68
+ *
69
+ * @param other - Reference Mask.
70
+ * @param options - Mask options.
71
+ * @returns New mask.
72
+ */
73
+ static createFrom(other: Mask | IJS, options?: MaskCreateFromOptions): Mask;
74
+ /**
75
+ * Create a copy of this mask.
76
+ *
77
+ * @returns The mask clone.
78
+ */
79
+ clone(): Mask;
80
+ /**
81
+ * Get the value of a bit.
82
+ *
83
+ * @param row - Row index.
84
+ * @param column - Column index.
85
+ * @returns The bit value.
86
+ */
87
+ getBit(row: number, column: number): number;
88
+ /**
89
+ * Set the value of a bit.
90
+ *
91
+ * @param row - Row index.
92
+ * @param column - Column index.
93
+ * @param value - New bit value.
94
+ */
95
+ setBit(row: number, column: number, value: BitValue): void;
96
+ /**
97
+ * Get the value of a bit using index.
98
+ *
99
+ * @param index - Index of the pixel.
100
+ * @returns Value of the bit.
101
+ */
102
+ getBitByIndex(index: number): number;
103
+ /**
104
+ * Set the value of a bit using index.
105
+ *
106
+ * @param index - Index of the pixel.
107
+ * @param value - Value to set.
108
+ */
109
+ setBitByIndex(index: number, value: BitValue): void;
110
+ /**
111
+ * Get the value of a bit. Function exists for compatibility with IJS.
112
+ *
113
+ * @param row - Row index.
114
+ * @param column - Column index.
115
+ * @param channel - Index of the channel, must be zero.
116
+ * @returns The bit value.
117
+ */
118
+ getValue(row: number, column: number, channel: number): number;
119
+ /**
120
+ * Set the value of a bit. Function exists for compatibility with IJS.
121
+ *
122
+ * @param row - Row index.
123
+ * @param column - Column index.
124
+ * @param channel - Index of the channel, must be zero.
125
+ * @param value - New bit value.
126
+ */
127
+ setValue(row: number, column: number, channel: number, value: BitValue): void;
128
+ /**
129
+ * Get the value of a bit using index. Function exists for compatibility with IJS.
130
+ *
131
+ * @param index - Index of the pixel.
132
+ * @param channel - Index of the channel, must be zero.
133
+ * @returns Value of the bit.
134
+ */
135
+ getValueByIndex(index: number, channel: number): number;
136
+ /**
137
+ * Set the value of a bit using index. Function exists for compatibility with IJS.
138
+ *
139
+ * @param index - Index of the pixel.
140
+ * @param channel - Index of the channel, must be zero.
141
+ * @param value - Value to set.
142
+ */
143
+ setValueByIndex(index: number, channel: number, value: BitValue): void;
144
+ /**
145
+ * Return the raw mask data.
146
+ *
147
+ * @returns The raw data.
148
+ */
149
+ getRawImage(): {
150
+ width: number;
151
+ height: number;
152
+ data: Uint8Array;
153
+ };
154
+ /**
155
+ * Fill the mask with a value.
156
+ *
157
+ * @param value - Value of the bit.
158
+ * @returns The mask instance.
159
+ */
160
+ fill(value: BitValue): this;
161
+ convertColor(colorModel: ImageColorModel): IJS;
162
+ /**
163
+ * Invert the colors of the mask.
164
+ *
165
+ * @param options - Inversion options
166
+ * @returns The inverted mask.
167
+ */
168
+ invert(options?: InvertOptions): Mask;
169
+ /**
170
+ * Subtract other from a mask.
171
+ *
172
+ * @param other - Image to subtract
173
+ * @param options - Inversion options
174
+ * @returns The subtracted mask.
175
+ */
176
+ subtractImage(other: Mask, options?: SubtractImageOptions): Mask;
177
+ /**
178
+ * Perform an AND operation on two masks.
179
+ *
180
+ * @param other - Second mask.
181
+ * @param options - And options.
182
+ * @returns AND of the two masks.
183
+ */
184
+ and(other: Mask, options?: AndOptions): Mask;
185
+ /**
186
+ * Perform an OR operation on two masks.
187
+ *
188
+ * @param other - Second mask.
189
+ * @param options - And options.
190
+ * @returns OR of the two masks.
191
+ */
192
+ or(other: Mask, options?: OrOptions): Mask;
193
+ /**
194
+ * Erode a Mask.
195
+ *
196
+ * @param options - Erode options
197
+ * @returns The eroded mask.
198
+ */
199
+ erode(options?: ErodeOptions): Mask;
200
+ /**
201
+ * Dilate an image.
202
+ *
203
+ * @param options - Dilate options.
204
+ * @returns The dilated image.
205
+ */
206
+ dilate(options?: DilateOptions): Mask;
207
+ /**
208
+ * Open an image.
209
+ *
210
+ * @param options - Open options.
211
+ * @returns The opened image.
212
+ */
213
+ open(options?: OpenOptions): Mask;
214
+ /**
215
+ * Close an image.
216
+ *
217
+ * @param options - Close options.
218
+ * @returns The closed image.
219
+ */
220
+ close(options?: CloseOptions): Mask;
221
+ /**
222
+ * Top hat of an image.
223
+ *
224
+ * @param options - Top hat options.
225
+ * @returns The top-hatted image.
226
+ */
227
+ topHat(options?: TopHatOptions): Mask;
228
+ /**
229
+ * Bottom hat of an image.
230
+ *
231
+ * @param options - Bottom hat options.
232
+ * @returns The bottom-hatted image.
233
+ */
234
+ bottomHat(options?: BottomHatOptions): Mask;
235
+ /**
236
+ * Apply morphological gradient to an image.
237
+ *
238
+ * @param options - Morphological gradient options.
239
+ * @returns The processed image.
240
+ */
241
+ morphologicalGradient(options?: MorphologicalGradientOptions): Mask;
242
+ /**
243
+ * Remove elements connected to the borders of an image.
244
+ *
245
+ * @param options - Clear border options.
246
+ * @returns The processed image.
247
+ */
248
+ clearBorder(options?: ClearBorderOptions): Mask;
249
+ /**
250
+ * Fill holes in regions of interest.
251
+ *
252
+ * @param options - Flood fill options.
253
+ * @returns The filled mask.
254
+ */
255
+ floodFill(options?: FloodFillOptions): Mask;
256
+ }
257
+ //# sourceMappingURL=Mask.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mask.d.ts","sourceRoot":"","sources":["../src/Mask.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,UAAU,EAEV,aAAa,EAEb,SAAS,EAET,oBAAoB,EACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAEL,gBAAgB,EAEhB,kBAAkB,EAElB,YAAY,EAEZ,aAAa,EACb,YAAY,EAEZ,gBAAgB,EAEhB,4BAA4B,EAE5B,WAAW,EAEX,aAAa,EACd,MAAM,cAAc,CAAC;AAItB,OAAO,EAAE,eAAe,EAAE,UAAU,EAAe,GAAG,EAAgB,MAAM,GAAG,CAAC;AAEhF,oBAAY,QAAQ,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,WAAW,qBAAsB,SAAQ,WAAW;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,qBAAa,IAAI;IACf;;OAEG;IACH,SAAgB,KAAK,EAAE,MAAM,CAAC;IAE9B;;OAEG;IACH,SAAgB,MAAM,EAAE,MAAM,CAAC;IAE/B;;OAEG;IACH,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B;;OAEG;IACH,SAAgB,KAAK,EAAE,UAAU,CAAC;IAElC;;OAEG;IACH,SAAgB,UAAU,EAAE,eAAe,CAAC;IAE5C;;;OAGG;IACH,SAAgB,UAAU,EAAE,MAAM,CAAC;IAEnC;;;OAGG;IACH,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,SAAgB,KAAK,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,SAAgB,QAAQ,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAElC;;;;;;OAMG;gBACgB,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB;IAyC3E;;;;;;OAMG;WACW,UAAU,CACtB,KAAK,EAAE,IAAI,GAAG,GAAG,EACjB,OAAO,GAAE,qBAA0B,GAClC,IAAI;IAKP;;;;OAIG;IACI,KAAK,IAAI,IAAI;IAIpB;;;;;;OAMG;IACI,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM;IAKlD;;;;;;OAMG;IACI,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAMjE;;;;;OAKG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAI3C;;;;;OAKG;IACI,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,GAAG,IAAI;IAK1D;;;;;;;OAOG;IACI,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAKrE;;;;;;;OAOG;IACI,QAAQ,CACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,GACd,IAAI;IAKP;;;;;;OAMG;IACI,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM;IAI9D;;;;;;OAMG;IACI,eAAe,CACpB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,QAAQ,GACd,IAAI;IAKP;;;;OAIG;IACI,WAAW;;;;;IAgBlB;;;;;OAKG;IACI,IAAI,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAM3B,YAAY,CAAC,UAAU,EAAE,eAAe,GAAG,GAAG;IAKrD;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAI5C;;;;;;OAMG;IACI,aAAa,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAGvE;;;;;;OAMG;IACI,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI;IAGnD;;;;;;OAMG;IACI,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,IAAI;IAKjD;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAI1C;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAI5C;;;;;OAKG;IACI,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI;IAIxC;;;;;OAKG;IACI,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAI1C;;;;;OAKG;IACI,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI;IAI5C;;;;;OAKG;IACI,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAIlD;;;;;OAKG;IACI,qBAAqB,CAAC,OAAO,CAAC,EAAE,4BAA4B,GAAG,IAAI;IAI1E;;;;;OAKG;IACI,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,IAAI;IAGtD;;;;;OAKG;IACI,SAAS,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI;CAGnD"}
package/lib/Mask.js ADDED
@@ -0,0 +1,338 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Mask = void 0;
4
+ const filters_1 = require("./filters");
5
+ const morphology_1 = require("./morphology");
6
+ const erode_1 = require("./morphology/erode");
7
+ const boolToNumber_1 = require("./utils/boolToNumber");
8
+ const _1 = require(".");
9
+ class Mask {
10
+ /**
11
+ * Construct a new Mask knowing its dimensions.
12
+ *
13
+ * @param width - Image width.
14
+ * @param height - Image height.
15
+ * @param options - Image options.
16
+ */
17
+ constructor(width, height, options = {}) {
18
+ const { data } = options;
19
+ if (width < 1 || !Number.isInteger(width)) {
20
+ throw new RangeError(`width must be an integer and at least 1. Received ${width}`);
21
+ }
22
+ if (height < 1 || !Number.isInteger(height)) {
23
+ throw new RangeError(`height must be an integer and at least 1. Received ${height}`);
24
+ }
25
+ this.width = width;
26
+ this.height = height;
27
+ this.size = width * height;
28
+ this.depth = _1.ColorDepth.UINT1;
29
+ this.colorModel = _1.ImageColorModel.BINARY;
30
+ const colorModelDef = _1.colorModels[this.colorModel];
31
+ this.components = colorModelDef.components;
32
+ this.alpha = colorModelDef.alpha;
33
+ this.channels = colorModelDef.channels;
34
+ this.maxValue = 1;
35
+ if (data === undefined) {
36
+ this.data = new Uint8Array(this.size);
37
+ }
38
+ else {
39
+ const expectedLength = this.size * this.channels;
40
+ if (data.length !== expectedLength) {
41
+ throw new RangeError(`incorrect data size: ${data.length}. Expected ${expectedLength}`);
42
+ }
43
+ this.data = data;
44
+ }
45
+ }
46
+ /**
47
+ * Create a new Mask based on the properties of an existing one.
48
+ *
49
+ * @param other - Reference Mask.
50
+ * @param options - Mask options.
51
+ * @returns New mask.
52
+ */
53
+ static createFrom(other, options = {}) {
54
+ const { width = other.width, height = other.height } = options;
55
+ return new Mask(width, height, options);
56
+ }
57
+ /**
58
+ * Create a copy of this mask.
59
+ *
60
+ * @returns The mask clone.
61
+ */
62
+ clone() {
63
+ return Mask.createFrom(this, { data: this.data.slice() });
64
+ }
65
+ /**
66
+ * Get the value of a bit.
67
+ *
68
+ * @param row - Row index.
69
+ * @param column - Column index.
70
+ * @returns The bit value.
71
+ */
72
+ getBit(row, column) {
73
+ const index = row * this.width + column;
74
+ return this.data[index];
75
+ }
76
+ /**
77
+ * Set the value of a bit.
78
+ *
79
+ * @param row - Row index.
80
+ * @param column - Column index.
81
+ * @param value - New bit value.
82
+ */
83
+ setBit(row, column, value) {
84
+ const index = row * this.width + column;
85
+ // @ts-expect-error: we know that value is a boolean
86
+ this.data[index] = value;
87
+ }
88
+ /**
89
+ * Get the value of a bit using index.
90
+ *
91
+ * @param index - Index of the pixel.
92
+ * @returns Value of the bit.
93
+ */
94
+ getBitByIndex(index) {
95
+ return this.data[index * this.channels];
96
+ }
97
+ /**
98
+ * Set the value of a bit using index.
99
+ *
100
+ * @param index - Index of the pixel.
101
+ * @param value - Value to set.
102
+ */
103
+ setBitByIndex(index, value) {
104
+ let result = (0, boolToNumber_1.boolToNumber)(value);
105
+ this.data[index * this.channels] = result;
106
+ }
107
+ /**
108
+ * Get the value of a bit. Function exists for compatibility with IJS.
109
+ *
110
+ * @param row - Row index.
111
+ * @param column - Column index.
112
+ * @param channel - Index of the channel, must be zero.
113
+ * @returns The bit value.
114
+ */
115
+ getValue(row, column, channel) {
116
+ checkChannel(channel);
117
+ return this.getBit(row, column);
118
+ }
119
+ /**
120
+ * Set the value of a bit. Function exists for compatibility with IJS.
121
+ *
122
+ * @param row - Row index.
123
+ * @param column - Column index.
124
+ * @param channel - Index of the channel, must be zero.
125
+ * @param value - New bit value.
126
+ */
127
+ setValue(row, column, channel, value) {
128
+ checkChannel(channel);
129
+ this.setBit(row, column, value);
130
+ }
131
+ /**
132
+ * Get the value of a bit using index. Function exists for compatibility with IJS.
133
+ *
134
+ * @param index - Index of the pixel.
135
+ * @param channel - Index of the channel, must be zero.
136
+ * @returns Value of the bit.
137
+ */
138
+ getValueByIndex(index, channel) {
139
+ checkChannel(channel);
140
+ return this.getBitByIndex(index);
141
+ }
142
+ /**
143
+ * Set the value of a bit using index. Function exists for compatibility with IJS.
144
+ *
145
+ * @param index - Index of the pixel.
146
+ * @param channel - Index of the channel, must be zero.
147
+ * @param value - Value to set.
148
+ */
149
+ setValueByIndex(index, channel, value) {
150
+ checkChannel(channel);
151
+ this.setBitByIndex(index, value);
152
+ }
153
+ /**
154
+ * Return the raw mask data.
155
+ *
156
+ * @returns The raw data.
157
+ */
158
+ getRawImage() {
159
+ return {
160
+ width: this.width,
161
+ height: this.height,
162
+ data: this.data,
163
+ };
164
+ }
165
+ [Symbol.for('nodejs.util.inspect.custom')]() {
166
+ return `Mask {
167
+ width: ${this.width}
168
+ height: ${this.height}
169
+ data: ${printData(this)}
170
+ }`;
171
+ }
172
+ /**
173
+ * Fill the mask with a value.
174
+ *
175
+ * @param value - Value of the bit.
176
+ * @returns The mask instance.
177
+ */
178
+ fill(value) {
179
+ let result = (0, boolToNumber_1.boolToNumber)(value);
180
+ this.data.fill(result);
181
+ return this;
182
+ }
183
+ convertColor(colorModel) {
184
+ return (0, _1.convertColor)(this, colorModel);
185
+ }
186
+ // FILTERS
187
+ /**
188
+ * Invert the colors of the mask.
189
+ *
190
+ * @param options - Inversion options
191
+ * @returns The inverted mask.
192
+ */
193
+ invert(options) {
194
+ return (0, filters_1.invert)(this, options);
195
+ }
196
+ /**
197
+ * Subtract other from a mask.
198
+ *
199
+ * @param other - Image to subtract
200
+ * @param options - Inversion options
201
+ * @returns The subtracted mask.
202
+ */
203
+ subtractImage(other, options) {
204
+ return (0, filters_1.subtractImage)(this, other, options);
205
+ }
206
+ /**
207
+ * Perform an AND operation on two masks.
208
+ *
209
+ * @param other - Second mask.
210
+ * @param options - And options.
211
+ * @returns AND of the two masks.
212
+ */
213
+ and(other, options) {
214
+ return (0, filters_1.and)(this, other, options);
215
+ }
216
+ /**
217
+ * Perform an OR operation on two masks.
218
+ *
219
+ * @param other - Second mask.
220
+ * @param options - And options.
221
+ * @returns OR of the two masks.
222
+ */
223
+ or(other, options) {
224
+ return (0, filters_1.or)(this, other, options);
225
+ }
226
+ // MORPHOLOGY
227
+ /**
228
+ * Erode a Mask.
229
+ *
230
+ * @param options - Erode options
231
+ * @returns The eroded mask.
232
+ */
233
+ erode(options) {
234
+ return (0, erode_1.erode)(this, options);
235
+ }
236
+ /**
237
+ * Dilate an image.
238
+ *
239
+ * @param options - Dilate options.
240
+ * @returns The dilated image.
241
+ */
242
+ dilate(options) {
243
+ return (0, morphology_1.dilate)(this, options);
244
+ }
245
+ /**
246
+ * Open an image.
247
+ *
248
+ * @param options - Open options.
249
+ * @returns The opened image.
250
+ */
251
+ open(options) {
252
+ return (0, morphology_1.open)(this, options);
253
+ }
254
+ /**
255
+ * Close an image.
256
+ *
257
+ * @param options - Close options.
258
+ * @returns The closed image.
259
+ */
260
+ close(options) {
261
+ return (0, morphology_1.close)(this, options);
262
+ }
263
+ /**
264
+ * Top hat of an image.
265
+ *
266
+ * @param options - Top hat options.
267
+ * @returns The top-hatted image.
268
+ */
269
+ topHat(options) {
270
+ return (0, morphology_1.topHat)(this, options);
271
+ }
272
+ /**
273
+ * Bottom hat of an image.
274
+ *
275
+ * @param options - Bottom hat options.
276
+ * @returns The bottom-hatted image.
277
+ */
278
+ bottomHat(options) {
279
+ return (0, morphology_1.bottomHat)(this, options);
280
+ }
281
+ /**
282
+ * Apply morphological gradient to an image.
283
+ *
284
+ * @param options - Morphological gradient options.
285
+ * @returns The processed image.
286
+ */
287
+ morphologicalGradient(options) {
288
+ return (0, morphology_1.morphologicalGradient)(this, options);
289
+ }
290
+ /**
291
+ * Remove elements connected to the borders of an image.
292
+ *
293
+ * @param options - Clear border options.
294
+ * @returns The processed image.
295
+ */
296
+ clearBorder(options) {
297
+ return (0, morphology_1.clearBorder)(this, options);
298
+ }
299
+ /**
300
+ * Fill holes in regions of interest.
301
+ *
302
+ * @param options - Flood fill options.
303
+ * @returns The filled mask.
304
+ */
305
+ floodFill(options) {
306
+ return (0, morphology_1.floodFill)(this, options);
307
+ }
308
+ }
309
+ exports.Mask = Mask;
310
+ /**
311
+ * Returns all values of a mask as a string.
312
+ *
313
+ * @param mask - Input mask.
314
+ * @returns Formatted string with all values of a mask.
315
+ */
316
+ function printData(mask) {
317
+ const result = [];
318
+ const padding = 2;
319
+ for (let i = 0; i < mask.height; i++) {
320
+ const line = [];
321
+ for (let j = 0; j < mask.width; j++) {
322
+ line.push(String(mask.getBit(i, j)).padStart(padding, ' '));
323
+ }
324
+ result.push(`[${line.join(' ')}]`);
325
+ }
326
+ return result.join('\n ');
327
+ }
328
+ /**
329
+ * Verify the channel value of a mask
330
+ *
331
+ * @param channel - The channel value
332
+ */
333
+ function checkChannel(channel) {
334
+ if (channel !== 0) {
335
+ throw new Error(`Channel value must be 0 on type Mask, got ${channel}.`);
336
+ }
337
+ }
338
+ //# sourceMappingURL=Mask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mask.js","sourceRoot":"","sources":["../src/Mask.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { IJS } from '../IJS';
2
+ export interface HistogramOptions {
3
+ /**
4
+ * The channel for which to compute the histogram.
5
+ * If it is unspecified, the image must have one channel or the method will
6
+ * throw an error.
7
+ *
8
+ * @default 0
9
+ */
10
+ channel?: number;
11
+ }
12
+ /**
13
+ * Returns a histogram of pixel intensities.
14
+ *
15
+ * @param image - The original image.
16
+ * @param options - Histogram options.
17
+ * @returns - The histogram.
18
+ */
19
+ export declare function histogram(image: IJS, options?: HistogramOptions): Uint32Array;
20
+ //# sourceMappingURL=histogram.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"histogram.d.ts","sourceRoot":"","sources":["../../src/compute/histogram.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAG7B,MAAM,WAAW,gBAAgB;IAC/B;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,GAAG,EACV,OAAO,GAAE,gBAAqB,GAC7B,WAAW,CAcb"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.histogram = void 0;
4
+ const validators_1 = require("../utils/validators");
5
+ /**
6
+ * Returns a histogram of pixel intensities.
7
+ *
8
+ * @param image - The original image.
9
+ * @param options - Histogram options.
10
+ * @returns - The histogram.
11
+ */
12
+ function histogram(image, options = {}) {
13
+ let { channel } = options;
14
+ if (typeof channel !== 'number') {
15
+ if (image.channels !== 1) {
16
+ throw new Error('channel option is mandatory for multi-channel images');
17
+ }
18
+ channel = 0;
19
+ }
20
+ (0, validators_1.validateChannel)(channel, image);
21
+ const hist = new Uint32Array(image.maxValue + 1);
22
+ for (let i = 0; i < image.size; i++) {
23
+ hist[image.getValueByIndex(i, channel)]++;
24
+ }
25
+ return hist;
26
+ }
27
+ exports.histogram = histogram;
28
+ //# sourceMappingURL=histogram.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"histogram.js","sourceRoot":"","sources":["../../src/compute/histogram.ts"],"names":[],"mappings":";;;AACA,oDAAsD;AAatD;;;;;;GAMG;AACH,SAAgB,SAAS,CACvB,KAAU,EACV,UAA4B,EAAE;IAE9B,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC1B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC/B,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;SACzE;QACD,OAAO,GAAG,CAAC,CAAC;KACb;IACD,IAAA,4BAAe,EAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;KAC3C;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAjBD,8BAiBC"}
@@ -0,0 +1,2 @@
1
+ export * from './histogram';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/compute/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./histogram"), exports);
18
+ //# sourceMappingURL=index.js.map