decode-tiff
Advanced tools
Comparing version 0.2.0 to 0.2.1
@@ -28,3 +28,4 @@ "use strict"; | ||
0x0117: "stripByteCounts", | ||
0x0128: "resolutionUnit" | ||
0x0128: "resolutionUnit", | ||
0x0140: "colorMap" | ||
}; | ||
@@ -187,6 +188,8 @@ | ||
function readStrips(ifdEntries) { | ||
var ret = new Uint8Array(ifdEntries.imageWidth[0] * ifdEntries.imageLength[0] * ifdEntries.bitsPerSample.length); | ||
var ret = new Uint8Array(ifdEntries.stripByteCounts.reduce(function (s, b) { | ||
return s + b; | ||
}, 0)); | ||
var copiedBl = 0; | ||
for (var s = 0; s < ifdEntries.stripOffsets.length; s++) { | ||
var x = buf.subarray(ifdEntries.stripOffsets[s], ifdEntries.stripByteCounts[s]); | ||
var x = buf.subarray(ifdEntries.stripOffsets[s], ifdEntries.stripOffsets[s] + ifdEntries.stripByteCounts[s]); | ||
ret.set(x, copiedBl); | ||
@@ -246,12 +249,38 @@ copiedBl += x.byteLength; | ||
function decompressData(ifdEntries, stripData) { | ||
var compression = ifdEntries.compression; | ||
if (!compression || compression[0] === 1) { | ||
// no-compress | ||
return stripData; | ||
} else if (compression[0] === 2) { | ||
// CCITT Group 3 | ||
throw new Error("CCITT group3 decompressionion is not implemented."); | ||
} else if (compression[0] === 5) { | ||
// LZW | ||
throw new Error("LZW decompressionion is not implemented."); | ||
} else if (compression[0] === 6) { | ||
// JPEG | ||
throw new Error("JPEG decompressionion is not implemented."); | ||
} else if (compression[0] === 7) { | ||
// JPEG2 | ||
throw new Error("JPEG2 decompressionion is not implemented."); | ||
} else if (compression[0] === 8) { | ||
// Zip(Adobe Deflate) | ||
throw new Error("Zip (Adove Deflate) decompressionion is not implemented."); | ||
} else if (compression[0] === 32773) { | ||
// Packbits | ||
throw new Error("Packbits decompression is not implemented."); | ||
} else { | ||
throw new Error("Unknown compression type: " + compression[0]); | ||
} | ||
} | ||
function normalizeStripData(ifdEntries, stripData) { | ||
var colorMap = ifdEntries.colorMap, | ||
bitsPerSample = ifdEntries.bitsPerSample, | ||
compression = ifdEntries.compression, | ||
photometricInterpretation = ifdEntries.photometricInterpretation; | ||
var x = void 0; | ||
if (compression && compression[0] !== 1) { | ||
throw new Error("Compression is not implemented."); | ||
} | ||
stripData = decompressData(ifdEntries, stripData); | ||
if (!bitsPerSample) { | ||
@@ -296,2 +325,4 @@ throw new Error("Bilevel image decode is not implemented."); | ||
return x; | ||
} else { | ||
throw new Error("Can't detect image type. PhotometricInterpretation: " + photometricInterpretation[0] + ", BitsPerSample: " + bitsPerSample); | ||
} | ||
@@ -298,0 +329,0 @@ } |
{ | ||
"name": "decode-tiff", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"description": "Lightweight tiff decoder", | ||
@@ -5,0 +5,0 @@ "main": "lib/index.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
1356063
330
0