Skip to content

Instantly share code, notes, and snippets.

@haehn
Created April 9, 2022 22:52
Show Gist options
  • Save haehn/7f4b2848f6214eb422bd12f341e9184c to your computer and use it in GitHub Desktop.
Save haehn/7f4b2848f6214eb422bd12f341e9184c to your computer and use it in GitHub Desktop.
Cornerstone.js DICOM Brush Example
<html>
<head>
<script src="https://unpkg.com/cornerstone-core/dist/cornerstone.min.js
"></script>
<script src="https://unpkg.com/cornerstone-wado-image-loader"></script>
<script src="https://unpkg.com/dicom-parser"></script>
<script src="https://unpkg.com/cornerstone-math"></script>
<script src="https://unpkg.com/cornerstone-tools"></script>
<script src="https://unpkg.com/hammerjs"></script>
<script>
cornerstoneWADOImageLoader.external.cornerstone = cornerstone;
cornerstoneWADOImageLoader.external.dicomParser = dicomParser;
cornerstoneTools.external.Hammer = Hammer;
cornerstoneTools.external.cornerstone = cornerstone;
cornerstoneTools.external.cornerstoneMath = cornerstoneMath;
function onDragOver(e) {
// stop browser processing right away
e.stopPropagation();
e.preventDefault();
};
function onDrop(e) {
// stop browser processing right away
e.stopPropagation();
e.preventDefault();
var f = e.dataTransfer.files[0];
var i = cornerstoneWADOImageLoader.wadouri.fileManager.add(f);
cornerstone.loadImage(i).then(function(image) {
console.log('Loaded', image);
var viewer = document.getElementById('viewer');
cornerstoneTools.init();
cornerstone.enable(viewer);
cornerstone.displayImage(viewer, image);
// this depends on the data, i am testing with a single file
var stack = { currentImageIdIndex: 0, imageIds: [0] };
cornerstoneTools.addStackStateManager(viewer, ["stack"]);
cornerstoneTools.addToolState(viewer, "stack", stack);
cornerstoneTools.addTool(cornerstoneTools.BrushTool);
cornerstoneTools.setToolActive('Brush', { mouseButtonMask: 1});
});
};
window.onload = function() {
document.body.addEventListener('dragover', onDragOver);
document.body.addEventListener('drop', onDrop);
};
</script>
</head>
<body style='margin:0px;padding:0px;background:black;'>
<div id='viewer' style='width:100%;height:100%;'></div>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment