picross-image-processor 1.0.0 → 1.0.1

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.
@@ -1,15 +1,9 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processImageData = processImageData;
4
- exports.processCanvasImage = processCanvasImage;
5
- exports.processImageUrl = processImageUrl;
6
- exports.processImageFile = processImageFile;
7
- const pixelAnalysis_1 = require("./utils/pixelAnalysis");
8
- const imageAnalysis_1 = require("./utils/imageAnalysis");
1
+ import { isOpaque, hasTransparentNeighbor, hasSignificantColorChange, } from './utils/pixelAnalysis';
2
+ import { calculateBoundingBox } from './utils/imageAnalysis';
9
3
  /**
10
4
  * Process ImageData directly
11
5
  */
12
- function processImageData(imageData, config) {
6
+ export function processImageData(imageData, config) {
13
7
  const boardSize = config?.boardSize || 16;
14
8
  const colorThreshold = config?.colorThreshold || 80;
15
9
  const alphaThreshold = config?.alphaThreshold || 128;
@@ -17,16 +11,16 @@ function processImageData(imageData, config) {
17
11
  const width = imageData.width;
18
12
  const height = imageData.height;
19
13
  // Step 1: Find bounding box
20
- const bbox = (0, imageAnalysis_1.calculateBoundingBox)(data, width, height, alphaThreshold);
14
+ const bbox = calculateBoundingBox(data, width, height, alphaThreshold);
21
15
  // Step 2: Create scaled image data
22
16
  const scaledData = scaleImageData(data, width, height, bbox, boardSize);
23
17
  // Step 3: Convert to binary matrix
24
18
  const board = Array.from({ length: boardSize }, () => Array(boardSize).fill(0));
25
19
  for (let row = 0; row < boardSize; row++) {
26
20
  for (let col = 0; col < boardSize; col++) {
27
- const isOpaquePixel = (0, pixelAnalysis_1.isOpaque)(scaledData, boardSize, row, col, alphaThreshold);
28
- const hasTransparent = (0, pixelAnalysis_1.hasTransparentNeighbor)(scaledData, boardSize, row, col, alphaThreshold);
29
- const hasColorChange = (0, pixelAnalysis_1.hasSignificantColorChange)(scaledData, boardSize, row, col, colorThreshold, alphaThreshold);
21
+ const isOpaquePixel = isOpaque(scaledData, boardSize, row, col, alphaThreshold);
22
+ const hasTransparent = hasTransparentNeighbor(scaledData, boardSize, row, col, alphaThreshold);
23
+ const hasColorChange = hasSignificantColorChange(scaledData, boardSize, row, col, colorThreshold, alphaThreshold);
30
24
  if (isOpaquePixel && (hasTransparent || hasColorChange)) {
31
25
  board[row][col] = 1;
32
26
  }
@@ -69,7 +63,7 @@ function scaleImageData(sourceData, sourceWidth, sourceHeight, bbox, boardSize)
69
63
  /**
70
64
  * Process an image using Canvas API (browser compatible)
71
65
  */
72
- async function processCanvasImage(image, config) {
66
+ export async function processCanvasImage(image, config) {
73
67
  const canvas = new OffscreenCanvas(image.width, image.height);
74
68
  const ctx = canvas.getContext('2d');
75
69
  if (!ctx)
@@ -81,7 +75,7 @@ async function processCanvasImage(image, config) {
81
75
  /**
82
76
  * Process an image from a data URL (browser compatible)
83
77
  */
84
- async function processImageUrl(imageUrl, config) {
78
+ export async function processImageUrl(imageUrl, config) {
85
79
  return new Promise((resolve, reject) => {
86
80
  const img = new Image();
87
81
  img.crossOrigin = 'Anonymous';
@@ -102,7 +96,7 @@ async function processImageUrl(imageUrl, config) {
102
96
  * Process using canvas library (Node.js)
103
97
  * This will use the canvas package if available
104
98
  */
105
- async function processImageFile(filePath, config) {
99
+ export async function processImageFile(filePath, config) {
106
100
  try {
107
101
  // Try to use canvas library if available
108
102
  const canvas = require('canvas');
@@ -1 +1 @@
1
- {"version":3,"file":"imageProcessor.js","sourceRoot":"","sources":["../src/imageProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imageProcessor.js","sourceRoot":"","sources":["../src/imageProcessor.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,27 +1,6 @@
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
- exports.processImageFile = exports.processImageUrl = exports.processCanvasImage = exports.processImageData = void 0;
18
1
  // Main entry point
19
- __exportStar(require("./types"), exports);
20
- var imageProcessor_1 = require("./imageProcessor");
21
- Object.defineProperty(exports, "processImageData", { enumerable: true, get: function () { return imageProcessor_1.processImageData; } });
22
- Object.defineProperty(exports, "processCanvasImage", { enumerable: true, get: function () { return imageProcessor_1.processCanvasImage; } });
23
- Object.defineProperty(exports, "processImageUrl", { enumerable: true, get: function () { return imageProcessor_1.processImageUrl; } });
24
- Object.defineProperty(exports, "processImageFile", { enumerable: true, get: function () { return imageProcessor_1.processImageFile; } });
25
- __exportStar(require("./utils/pixelAnalysis"), exports);
26
- __exportStar(require("./utils/imageAnalysis"), exports);
2
+ export * from './types';
3
+ export { processImageData, processCanvasImage, processImageUrl, processImageFile, } from './imageProcessor';
4
+ export * from './utils/pixelAnalysis';
5
+ export * from './utils/imageAnalysis';
27
6
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,mBAAmB;AACnB,0CAAwB;AACxB,mDAK0B;AAJxB,kHAAA,gBAAgB,OAAA;AAChB,oHAAA,kBAAkB,OAAA;AAClB,iHAAA,eAAe,OAAA;AACf,kHAAA,gBAAgB,OAAA;AAElB,wDAAsC;AACtC,wDAAsC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mBAAmB;AACnB,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC"}
package/dist/types.js CHANGED
@@ -1,3 +1,2 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
1
+ export {};
3
2
  //# sourceMappingURL=types.js.map
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.calculateBoundingBox = calculateBoundingBox;
4
1
  /**
5
2
  * Calculate bounding box of opaque pixels in image data
6
3
  */
7
- function calculateBoundingBox(data, width, height, alphaThreshold = 128) {
4
+ export function calculateBoundingBox(data, width, height, alphaThreshold = 128) {
8
5
  let minX = width;
9
6
  let minY = height;
10
7
  let maxX = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"imageAnalysis.js","sourceRoot":"","sources":["../../src/utils/imageAnalysis.ts"],"names":[],"mappings":";;AAeA,oDA6BC;AAhCD;;GAEG;AACH,SAAgB,oBAAoB,CAClC,IAAoC,EACpC,KAAa,EACb,MAAc,EACd,iBAAyB,GAAG;IAE5B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAE9B,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;gBAC3B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAEnC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC1E,CAAC"}
1
+ {"version":3,"file":"imageAnalysis.js","sourceRoot":"","sources":["../../src/utils/imageAnalysis.ts"],"names":[],"mappings":"AAYA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAAoC,EACpC,KAAa,EACb,MAAc,EACd,iBAAyB,GAAG;IAE5B,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,IAAI,IAAI,GAAG,MAAM,CAAC;IAClB,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;YAE9B,IAAI,KAAK,GAAG,cAAc,EAAE,CAAC;gBAC3B,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC;IAEnC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;AAC1E,CAAC"}
@@ -1,14 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPixelData = getPixelData;
4
- exports.isOpaque = isOpaque;
5
- exports.colorDifference = colorDifference;
6
- exports.hasTransparentNeighbor = hasTransparentNeighbor;
7
- exports.hasSignificantColorChange = hasSignificantColorChange;
8
1
  /**
9
2
  * Get pixel data from ImageData at a specific row and column
10
3
  */
11
- function getPixelData(data, boardSize, row, col) {
4
+ export function getPixelData(data, boardSize, row, col) {
12
5
  if (row < 0 || row >= boardSize || col < 0 || col >= boardSize) {
13
6
  return { r: 0, g: 0, b: 0, a: 0 };
14
7
  }
@@ -23,14 +16,14 @@ function getPixelData(data, boardSize, row, col) {
23
16
  /**
24
17
  * Check if a pixel is opaque based on alpha threshold
25
18
  */
26
- function isOpaque(data, boardSize, row, col, alphaThreshold = 128) {
19
+ export function isOpaque(data, boardSize, row, col, alphaThreshold = 128) {
27
20
  const pixel = getPixelData(data, boardSize, row, col);
28
21
  return pixel.a > alphaThreshold;
29
22
  }
30
23
  /**
31
24
  * Calculate color difference between two pixels using Euclidean distance
32
25
  */
33
- function colorDifference(pixel1, pixel2) {
26
+ export function colorDifference(pixel1, pixel2) {
34
27
  // If either pixel is transparent, return 0
35
28
  if (pixel1.a <= 128 || pixel2.a <= 128) {
36
29
  return 0;
@@ -43,7 +36,7 @@ function colorDifference(pixel1, pixel2) {
43
36
  /**
44
37
  * Check if pixel has at least one transparent neighbor
45
38
  */
46
- function hasTransparentNeighbor(data, boardSize, row, col, alphaThreshold = 128) {
39
+ export function hasTransparentNeighbor(data, boardSize, row, col, alphaThreshold = 128) {
47
40
  const neighbors = [
48
41
  [row - 1, col],
49
42
  [row + 1, col],
@@ -64,7 +57,7 @@ function hasTransparentNeighbor(data, boardSize, row, col, alphaThreshold = 128)
64
57
  /**
65
58
  * Check if pixel has significant color change with neighbors
66
59
  */
67
- function hasSignificantColorChange(data, boardSize, row, col, colorThreshold = 80, alphaThreshold = 128) {
60
+ export function hasSignificantColorChange(data, boardSize, row, col, colorThreshold = 80, alphaThreshold = 128) {
68
61
  if (!isOpaque(data, boardSize, row, col, alphaThreshold)) {
69
62
  return false;
70
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pixelAnalysis.js","sourceRoot":"","sources":["../../src/utils/pixelAnalysis.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pixelAnalysis.js","sourceRoot":"","sources":["../../src/utils/pixelAnalysis.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,54 +1,61 @@
1
- {
2
- "name": "picross-image-processor",
3
- "version": "1.0.0",
4
- "description": "A library to convert images to picross board representations by detecting contours and color changes",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "files": [
8
- "dist",
9
- "README.md",
10
- "LICENSE"
11
- ],
12
- "scripts": {
13
- "build": "tsc",
14
- "test": "jest",
15
- "prepublishOnly": "npm run build"
16
- },
17
- "keywords": [
18
- "picross",
19
- "nonogram",
20
- "image-processing",
21
- "canvas",
22
- "puzzle",
23
- "image-to-puzzle"
24
- ],
25
- "author": "",
26
- "license": "MIT",
27
- "repository": {
28
- "type": "git",
29
- "url": "https://github.com/yourusername/picross-image-processor.git"
30
- },
31
- "bugs": {
32
- "url": "https://github.com/yourusername/picross-image-processor/issues"
33
- },
34
- "homepage": "https://github.com/yourusername/picross-image-processor#readme",
35
- "engines": {
36
- "node": ">=16.0.0"
37
- },
38
- "devDependencies": {
39
- "@types/jest": "^29.5.0",
40
- "@types/node": "^20.0.0",
41
- "jest": "^29.5.0",
42
- "ts-jest": "^29.1.0",
43
- "typescript": "^5.0.0"
44
- },
45
- "peerDependencies": {
46
- "canvas": "^2.11.2"
47
- },
48
- "peerDependenciesMeta": {
49
- "canvas": {
50
- "optional": true
51
- }
52
- }
1
+ {
2
+ "name": "picross-image-processor",
3
+ "version": "1.0.1",
4
+ "description": "A library to convert images to picross board representations by detecting contours and color changes",
5
+ "main": "dist/index.js",
6
+ "module": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "require": "./dist/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "README.md",
18
+ "LICENSE"
19
+ ],
20
+ "scripts": {
21
+ "build": "tsc",
22
+ "test": "jest",
23
+ "prepublishOnly": "npm run build"
24
+ },
25
+ "keywords": [
26
+ "picross",
27
+ "nonogram",
28
+ "image-processing",
29
+ "canvas",
30
+ "puzzle",
31
+ "image-to-puzzle"
32
+ ],
33
+ "author": "",
34
+ "license": "MIT",
35
+ "repository": {
36
+ "type": "git",
37
+ "url": "git+https://github.com/yourusername/picross-image-processor.git"
38
+ },
39
+ "bugs": {
40
+ "url": "https://github.com/yourusername/picross-image-processor/issues"
41
+ },
42
+ "homepage": "https://github.com/yourusername/picross-image-processor#readme",
43
+ "engines": {
44
+ "node": ">=16.0.0"
45
+ },
46
+ "devDependencies": {
47
+ "@types/jest": "^29.5.0",
48
+ "@types/node": "^20.0.0",
49
+ "jest": "^29.5.0",
50
+ "ts-jest": "^29.1.0",
51
+ "typescript": "^5.0.0"
52
+ },
53
+ "peerDependencies": {
54
+ "canvas": "^2.11.2"
55
+ },
56
+ "peerDependenciesMeta": {
57
+ "canvas": {
58
+ "optional": true
59
+ }
60
+ }
53
61
  }
54
-