A cornerstone Image Loader for images (JPG, PNG) using the HTML5 File API or from ArrayBuffer.
Using the File API presents in HTML5 or ArrayBuffer data is possible open local image such as JPEG and PNG in Cornerstone library.
It's also possible to build a new image from a previously loaded Cornerstone image with a custom pixel data.
View the Universal Dicom Viewer built on cornerstone.
Via NPM:
npm install cornerstone-file-image-loader
Simply include the cornerstoneFileImageLoader.js in your HTML file after you load cornerstone.js and then set the cornerstone instance as an external module for cornerstoneFileImageLoader:
cornerstoneFileImageLoader.external.cornerstone = cornerstone;
This will let cornerstoneFileImageLoader register itself with cornerstone to load imageId's that have the imagefile schemes.
To display an image, first add a HTML5 file object to cornerstoneFileImageLoader then pass the image as the imageId parameter to a cornerstone loadImage():
const imageId = cornerstoneFileImageLoader.fileManager.add(file);
cornerstone.loadImage(imageId).then(function(image) {
cornerstone.displayImage(element, image);
...
}
Or if previously the JPG or PNG data has loaded in a ArrayBuffer:
const imageId = cornerstoneFileImageLoader.fileManager.addBuffer(data);
cornerstone.loadImage(imageId).then(function(image) {
cornerstone.displayImage(element, image);
...
}
To build a new image from loaded Cornerstone Image and a custom pixel data:
const customObj = {
rows: rows, // rows in PixelData
columns: columns, // columns in pixelData
pixelData: pixelData, // custom pixel data
image: loadedImage, // loaded Cornerstone Image
}
const imageId = cornerstoneFileImageLoader.fileManager.addCustom(customObj);
cornerstone.loadImage(imageId).then(function(image) {
cornerstone.displayImage(element, image);
...
}
This project uses webpack to build the software.
NodeJs - click to visit web site for installation instructions.
Update dependencies (after each pull):
npm install
Running the build:
npm start
Automatically running the build and unit tests after each source change:
npm run watch
Cornerstone was designed to support loading of any kind of image regardless of its container, compression algorithm, encoding or transport. This is one of many possible image loaders that can provide the image pixel data to cornerstone to display
Copyright 2019 Luigi Orso webnamics@gmail.com