|
Novarum DX Ltd
|
Document ID: IFU047
|
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-coreand 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 API —
useNDXReaderhook and ready-madeNDXReaderViewcomponent (camera feed, overlay, status UI). -
Vanilla JS API —
createNDXReadercontroller withstart()/stop()/abort()and lifecycle callbacks. -
Result model —
StripAnalysisper strip (tcRatio,cHeight,tHeight,cPos,tPos,cArea,tArea,profile,baseline), plusserializeAnalysisResultfor 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/reactfor 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 |
|
Headers |
No |
5. Versioning Summary
|
Component |
Version |
Notes |
|---|---|---|
|
Web (WASM) Reader SDK |
1.0.0 |
|
|
Shared core dependency |
1.0.0 |
|
|
SDK family |
v4 |
Web platform of the v4 Reader SDK generation |
6. Known Issues
|
ID |
Summary |
Severity |
Status |
Risk |
Affects version |
Notes |
|---|---|---|---|---|---|---|
|
Web SDK UI rotates on device tilt, causing wireframe misalignment and rendering the reader unusable |
High |
Open |
Moderate |
|
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 |
|
Install |
|
|
Serve |
Serve the app over HTTPS (or localhost) so the camera works; do not open via |
|
Integrate |
Follow the React or Vanilla JS integration guide; supply your cassette |