@azohra/meteo.j2k
JPEG 2000 (ITU-T T. 800) 纯类型脚本解码器, 范围精确到
编码流子集 ECCC 的 GRIB2 饲料船,以
可解释性:每个标记,MQ背景,和起起步活于十
其T.800条款命名的小模块。 这是生产
后面的代码 @azohra/meteo.grib/j2k-node,并拥有
内部支付两次: decodeJ2kRegion 解码 仅限 代码块 a
很少要求的网格点触碰( 位码与完全解码在
这些点,在最大的特别法庭作业地区,每个核心点的速度为16xxxxxxxx
工人池粉丝 一个场的独立 EBCOT 代码块跨线
完全解码。 基准、日期和方法:
https://meteo.azohra.com/docs/j2k/ 性能/。 。 。 .
0 运行时依赖性, 无节点 APIs in src/。 。 。 .
pnpm add @azohra/meteo.j2k
解码真实字段
工作空间的金体 包含真实的 ECCC 信息; 代码流 gRIB 第7节有效载荷(DRT 5.40)。 此解码并读取 样本 :
// decode-fixture.mjs — run inside j2k/ after `pnpm build` (and a grib build)
import { readFileSync } from "node:fs";
import { parseFields, splitMessages } from "../grib/dist/index.js";
import { decodeJ2k } from "./dist/index.js";
const bytes = readFileSync("../grib/test/fixtures/geps-orog-m00.grib2");
const [field] = parseFields(splitMessages(bytes)[0]);
const codestream = field.section7.subarray(5); // DRT 5.40: raw J2K after the section header
const { values, width, height, bitsPerSample, isSigned } = decodeJ2k(codestream);
console.log(`${width}x${height} = ${values.length} samples, ${bitsPerSample}-bit ${isSigned ? "signed" : "unsigned"}`);
console.log(`first samples: ${Array.from(values.slice(0, 4)).join(", ")}`);
720x361 = 259920 samples, 12-bit unsigned
first samples: 1166, 1166, 1166, 1166
当只有几个网点重要的时候, decodeJ2kRegion(codestream, indices)
返回相同的整数 decodeJ2k {\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}会给那些光栅指数
,而 en解码则只用代码块来连接点.
解码器覆盖了测量的子集 饲料船,没有别的了
(外面的一切 响亮的失败 与一个命名 UnsupportedJ2kError(三);
如何接受每个配置——包括区域解码精确度
合同——于 https://meteo.azohra.com/docs/j2k/更正/。 。 。 .
文档
参考文献存在于 docs/ (子集 二环)
正确性门,所测量的性能各有一页)
任职于 https://meteo.azohra.com/docs/j2k/ (中文(简体) )。 。 。 .
麻省理工学院