Reader SDK Documents
Breadcrumbs

IFU047(02) v1.0.0 (WASM)

Novarum DX Ltd
Instructions for Use / Guides

Document ID: IFU047 
Revision: 02 
Released: Jul 16, 2026 

1. Overview

This is the first release of the Web (WASM) Reader SDK, @novarumdx/ndx-imaging-web — the browser platform of the Novarum Reader SDK v4 family. It brings the shared NDX Imaging Core to the browser as a WebAssembly build, enabling in-browser capture and analysis of lateral-flow tests using the device camera, with no server round-trip for the imaging step.

Warning: The 1.0.0 (WASM) SDK is not compatible with current reader files that do not use the new format with the {estimators: [ wrapper. Reader files must be updated to the new format before use with SDK 1.0.0 (WASM).

  • Two integration paths: a React entry point (@novarumdx/ndx-imaging-web/react) and a framework-agnostic Vanilla JS entry point (@novarumdx/ndx-imaging-web), both over the same worker, message protocol and result model.

  • Off-main-thread imaging: the WASM engine runs in a dedicated Web Worker, so scanning does not block the host UI.

  • Distribution: published to npm via AWS CodeArtifact (novarum.client.npm); static WASM runtime files are copied into the host app on install.

  • Safety classification: IEC 62304 Class B. Common algorithmic behaviour is provided by the shared @novarumdx/ndx-imaging-core and verified by reference in the SDKCORE Verification Report.

2. What's Included

Initial capability set of the Web SDK:

  • Camera & scanning — rear-camera acquisition, real-time alignment overlay (dot-matrix and SVG modes), fit-status colour feedback (red / amber / green), per-strip status icons, and progress/warning reporting.

  • React APIuseNDXReader hook and ready-made NDXReaderView component (camera feed, overlay, status UI).

  • Vanilla JS APIcreateNDXReader controller with start() / stop() / abort() and lifecycle callbacks.

  • Result modelStripAnalysis per strip (tcRatio, cHeight, tHeight, cPos, tPos, cArea, tArea, profile, baseline), plus serializeAnalysisResult for the Novarum server API.

  • PMF story diagnostics — per-frame diagnostic log with optional full-frame and strip-crop image capture to IndexedDB, and resolve/revoke/clear helpers.

  • Configuration — runtime cassette configuration via unified JSON URL; options for preview mode (Fit/Fill), frames per strip, collection mode, camera device selection, torch, and homography scale.

  • Robustness — portrait/landscape frame normalisation, browser-capability detection with graceful degradation, typed error mapping via onError, and Screen Wake Lock during active scanning.

  • TypeScript-first — full type declarations for both entry points.

3. Distribution & Installation

  • Package: @novarumdx/ndx-imaging-web (npm), with @novarumdx/ndx-imaging-web/react for React.

  • Registry: the customer-facing AWS CodeArtifact npm repository novarum.client.npm. Access credentials (a read-only key and .npmrc) are issued per organisation by Novarum DX.

  • Runtime files: the package's post-install step copies the Web Worker and WASM binary (imagingWorker.js, ndx_imaging_wasm.js, ndx_imaging_wasm.wasm, ndx-imaging-web.browser.mjs) into the host application, which must serve them as static files.

  • Getting started: see the Web Integration Guides (React and Vanilla JS).

4. Compatibility & Requirements

Item

Requirement

Browsers

Chrome 80+, Safari 15+, Firefox 79+, Edge 80+

Node.js / npm

Node 18+, npm 8+ (build/install only)

Secure context

Camera and Screen Wake Lock require HTTPS (or localhost)

Headers

No SharedArrayBufferCOOP/COEP headers not required. Optional CSP directives are documented in the integration guides.

5. Versioning Summary

Component

Version

Notes

Web (WASM) Reader SDK

1.0.0

@novarumdx/ndx-imaging-web (root + /react entry points)

Shared core dependency

1.0.0

@novarumdx/ndx-imaging-core, pinned exactly; compiled to WASM

SDK family

v4

Web platform of the v4 Reader SDK generation

6. Known Issues

ID

Summary

Severity

Status

Risk

Affects version

Notes

SDKWASM-155

Web SDK UI rotates on device tilt, causing wireframe misalignment and rendering the reader unusable

High

Open

Moderate

1.0.0-wasm

When the user rotates the phone, the “Fit” wireframe remains fixed or rotates incorrectly relative to the test strip in the camera feed. This can prevent cassette alignment and scan completion, resulting in failed tests and poor user experience.

7. Summary of Developer Actions

Area

Action

Registry access

Configure the AWS CLI with the read-only credentials Novarum DX issues you, and place the provided .npmrc.

Install

npm install @novarumdx/ndx-imaging-web; ensure the copied runtime files are served as static assets.

Serve

Serve the app over HTTPS (or localhost) so the camera works; do not open via file://.

Integrate

Follow the React or Vanilla JS integration guide; supply your cassette .unified.json.