EASI JS 1.0 is here

DICOM in.
Useful data out.

Build imaging workflows in JavaScript.
Read, select, map, and write DICOM data with one expressive, streaming-first API.

  • Browser + Node.js
  • Native ES modules
  • No required runtime dependencies
ONE PIPELINE. YOUR APPLICATION.
read-from-dicomweb.mjsJavaScript
import EASI from '@xinonix/easi-js';

const url = 'https://pacs.example/dicom-web/studies/2.25.1';

const result = await EASI.pipelineBuilder()
  .fromDicomweb()
  .ofDicomData()
  .toInstances()
  .build()
  .process({
    source: url,
    sourceOptions: {
      mode: 'wado-instance',
      accept: 'multipart/related; type="application/dicom"'
    }
  });

console.log(result.toArray());
01SourceDICOMweb URL
02ParseDICOM
03OutputInstances

Browser + Node.js Read a study from a DICOMweb URL and work with its instance objects.

Replace this example with your complete WADO-RS study URL. Configure archive authentication and allow your browser origin through the archive’s CORS settings. Explore pipeline sources

ONE COMMAND TO BEGINSmall install. A clear place to start.
npm install @xinonix/easi-js

FOCUS ON WHAT YOU’RE BUILDING

A pipeline.
A lot less glue code.

DICOM is rich, structured, and often large. EASI JS gives you a consistent way to turn that data into the product your application actually needs.

Choose the result.
Keep the workflow.

Read an instance, select a few attributes, map to a custom object, or serialize DICOM. Change the output strategy through the same builder.

The pipeline model

Start with streams.
Stay deliberate.

Work with byte streams, files, HTTP responses, and DICOMweb parts. Select only the attributes you need when a full object model adds unnecessary work.

Targeted selection

Use JavaScript.
Across your stack.

Use the core pipeline in a bundled browser app or Node.js 22 and 24. Add filesystem and DIMSE transports on the Node.js side.

Find your starting point

A SMALL EXAMPLE. A REAL PIPELINE.

Same bytes.
Different possibilities.

Choose a synthetic sample and an output. EASI JS runs here in your browser, so you can see the transformation for yourself.

02   Output product

Tiny generated datasets with fictional identifiers. No patient files are loaded or uploaded.

Inspect the generated input metadata
Preparing the synthetic sample…
YOUR PIPELINE
Loading the example…
THE RESULT
Choose an output and run the pipeline.

This demonstrates metadata processing using small synthetic DICOM datasets. It is not a clinical viewer or a diagnostic tool.

BEYOND THE FIRST FILE

Imaging doesn’t live in isolation.
Your workflows shouldn’t either.

Built to be composed.

EASI JS is a library for imaging workflows. Your application supplies its UI, identity, storage, and deployment. Some pixel formats need optional codec backends.

Understand the boundaries

LEARN AT YOUR OWN DEPTH

Simple first.
Powerful when you’re ready.

Start with a runnable example. Follow the ideas into sources, transformations, and integrations as your project needs them.

A CLEAR WAY TO BEGIN. ROOM TO GROW.

Make your next imaging
idea a working project.

Free community use for qualifying individuals, research institutions, nonprofits, and organization groups with annual gross revenue below US$5 million. Commercial licensing is available for larger organizations.

Source-available software. Eligibility and exceptions are defined by the community license.