@cornerstonejs/jpeg-lossless-decoder-js

中文文档
2.2.1发布于 2026/09/11MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 9.8万

一个JavaScript JPEG Lossless 解码器.

中文使用文档
文档目录6 节
  1. 使用量
  2. 安装
  3. 测试
  4. 大楼
  5. 出版
  6. 承认

JPEG LosslessDecoderJS 化学化学反应

一个常见的DICOM压缩格式是JPEG Lossless. 标准JPEG解码器库中一般不支持这种格式.

此解码器可以从以下 DICOM 传输语法读取数据 :

  • 1.2.840.1008.1.2.4.4.57 JPEG 无损失,无等级(流程14)
  • 1.2.840.10008.1.2.4.4.70 JPEG 无损失,无等级(程序14[选 1])

使用量

API 密码 财务报告和审定财务报表 更多实例

var decoder = new jpeg.lossless.Decoder();
var output = decoder.decompress(buffer [, offset [, length]]);

// Parameters
// {ArrayBuffer} buffer
// {Number} offset offset into buffer (default = 0)
// {Number} length length of buffer (default = end of JPEG block)

// Returns
// {ArrayBuffer} output (size = cols * rows * bytesPerComponent * numComponents)

安装

通过此分叉安装 国家预防机制数字 :

npm install @cornerstonejs/jpeg-lossless-decoder-js

这个叉子增加了字节相通的末端扫描固定. 没有瞄准镜 [email protected] npm 上丢弃任意框架的最后样本 最后的Huffman代码完全结束在一个字节边界上,所以真实的 CT 图像 以错误的上一个像素解码.

测试

npm test

大楼

npm run build

这个写着 lossless.js 财务报告和审定财务报表 lossless-min.js,连同宣言 文件与源地图, 到 /release。 。 。 .

release/ 正在构建输出并忽略它。 别犯法 承诺 release/ 永远无法完整 因为同样 .gitignore 也排除 源地图和创建源代码的申报文件。 提交 03bb80c0 显示成本:承诺 release/cjs/lossless.cjs 还在 2.1.2建筑,它没有固定同一承诺增加的 src/。 。 。 .

两个版本 package.json 被故意持有, 每个人保留 建立稳定:

  • overrides.esbuild 坚持建设 0.19.7把它盖起来,然后 用于同一来源的不同编译 JavaScript 。 针 让我们 npm audit fix 更新测试工具而不修改已公布的工具 艺术品. cornerstonejs/codecs 针起起同样的原因.

    指针故意地覆盖了整棵树. 一针 tsup 一个人,因为 overrides.tsup.esbuild,使npm 10和npm 11建立不同的树—— npm 11会把树倒到0.19.7,npm 10会保持vite的筑起 0.28.2 旁边——然后一个锁文件不能为两者服务. 有了这个公寓 pin,npm 10.8,npm 10.9和npm 11.19都安装了同一种锁文件.

  • typescript 用途 ~5.4.3没有 ^5.4.3。类型脚本 5.7 制作 ArrayBufferLike 停止满足 ArrayBuffer,以及 src/decoder.ts 第93行 然后无法编译, 无法建立声明 。 抬起胸针 和类型说明一起使用 src/。 。 。 .

出版

牵引请求标题决定释放. 这个仓库壁球合并, 所以合并会写一个承诺 main 而拉动请求的标题是 承诺的主体. .github/workflows/release.yml 阅读主题和 选取版本. 您不手工编辑版本 .

标题凸起
feat!: …,或一个 BREAKING CHANGE: 页脚主要
feat: …小声
fix: …, (中文(简体) ), perf: …补丁
build:, (中文(简体) ), chore:, (中文(简体) ), ci:, (中文(简体) ), docs:, (中文(简体) ), refactor:, (中文(简体) ), revert:, (中文(简体) ), style:, (中文(简体) ), test:无释放
无常规前缀合并前被拒绝

第四行中带有类型的标题是有效的,不发表任何内容,即 右键用于未到达软件包的更改.

.github/workflows/pr-title.yml 检查每个拉请求的标题,然后它 编辑后重新检查。 它没有一个非常规的标题,它 声明释放的有效标题将产生,因此结果在 合并。 检查本地标题 :

node tools/check-pr-title.mjs "fix: decode the last sample of a scan"

Pull request # 1 是检查存在的原因 。 7个,4个 fix:, (中文(简体) ), 在标题下合并 chore: publish as @cornerstonejs/jpeg-lossless-decoder-js。 。 。 . chore 释放什么,所以 发布工作流程没有发表任何内容——运行仍然报告成功, 因为"没什么可以释放的"是一个合法的绿色结果. 只有登记处 显示错误.

tools/conventional.mjs 遵守检查和释放的规则 读取,所以两者不能分开.

当发布到期时,工作流程将新版本写到 package.json, (中文(简体) ), 预留一个区域到 CHANGELOG.md,承诺为 chore(release): publish标记 v<version>并创建 GitHub发布. 构建任务跳过释放承诺,所以释放不会 开始另一个释放.

tools/version.mjs 决定版本, 它只写文件 。 问甚么 在任何时间,释放都会对一棵肮脏的树:

node tools/version.mjs --dry-run

每个git写作都留在工作流程中,因此脚本可以安全地在当地运行. cornerstonejs/codecs 分隔 tools/release/version.mjs 及其释放 工作流程也一样.

工作流程通过 OIDC 信任的出版以 npm 认证 。 它使用一个 短命的符號: npm 薄荷,用于每个运行和此工作流程文件的范围, 因此此寄存器没有 NPM_TOKEN。工作流程文件的名称是部分 配置: 重命名文件, npm 拒绝交换 .

这个包裹是如何被拖走的

以下步骤已经完成。 它们被录制是因为 npm 无法创建软件包 通过信任的出版来命名, 所以首次发布任何新软件包名称 必须是手工的, 下一个从这里开始.

2.2.0 手工出版:

npm login                       # a web login session, not an access token
npm ci
npm run lint && npm test
npm publish                     # prepublishOnly runs the build first

这个工作流程后来被注册为软件包所信任的出版商,因此 以后的发行不需要符号 :

npm trust github @cornerstonejs/jpeg-lossless-decoder-js \
  --repo cornerstonejs/JPEGLosslessDecoderJS \
  --file release.yml \
  --allow-publish --yes

npm trust list @cornerstonejs/jpeg-lossless-decoder-js   # confirm it

npm trust 需要npm 11.1.5.0 或稍后,它只接受一个网页登录会话 - 颗粒状或经典访问符 ~/.npmrc 401失败,甚至 虽然同一种出版物没有问题.

npm trust github ADDS 一个授权的发布路径,它不撤销任何内容. 在发布此软件包之前, 每一个访问符都可以发布 后来 要关闭此路径, 请设定软件包的出版访问权限 npmjs.com 改为"需要双要素认证和不允许令牌".

最后一个, v2.2.0 被标记在 main,因为手动发布不会创建标签和 tools/version.mjs 阅读自上次以来的承诺 v* 标签。 每个后来的标签 来自工作流程.

2.2.0 无出处证明: npm 只为信任者生成一个 发表于CI. 工作流程出版的每个版本都有一个.

承认

这个解码器最初由Helmut Dersch为Java所写. 我加入了对选择值 2 到 7 的支持, 贡献了错误修正并移植到 JavaScript .

还感谢 @jens-ox (英语) 用于更新此软件包到 TypeScript .

版本与发布记录

@cornerstonejs/jpeg-lossless-decoder-js 共发布 2 个版本,首次发布于 2026/09/11;过去 12 个月发布了 2 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
2.2.1latest2026/09/111 个月前
2.2.02026/09/111 个月前

关于 @cornerstonejs/jpeg-lossless-decoder-js 的常见问题

@cornerstonejs/jpeg-lossless-decoder-js 是什么?

一个JavaScript JPEG Lossless 解码器.

如何安装 @cornerstonejs/jpeg-lossless-decoder-js?

在项目目录运行 npm install @cornerstonejs/jpeg-lossless-decoder-js,或使用 pnpm add / yarn add / bun add。

@cornerstonejs/jpeg-lossless-decoder-js 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@cornerstonejs/jpeg-lossless-decoder-js 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@cornerstonejs/jpeg-lossless-decoder-js 可以商用吗?

@cornerstonejs/jpeg-lossless-decoder-js 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@cornerstonejs/jpeg-lossless-decoder-js 的下载量有多少?

根据 npm 官方下载统计,@cornerstonejs/jpeg-lossless-decoder-js 在 2026/10/11 – 2026/11/09 这 30 天内被下载 97,882 次,日均约 3,263 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@cornerstonejs/jpeg-lossless-decoder-js 还在维护吗?

最新版本 2.2.1 发布于 2026/09/11(1 个月前);至今共发布 2 个版本,其中过去 12 个月发布了 2 个;首次发布于 2026/09/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。