node-itk
Version:
ITK is an open-source, cross-platform system that provides developers with an extensive suite of software tools for image analysis. Among them, Node-ITK is a node.js wrapper which built on top of ITK, intended to facilitate its use in rapid prototyping, education, and web servies for Medical Image Processing.Its Origins by My master thesis--jolly, a new Framework for Medical Image Processing
51 lines (50 loc) • 1.66 kB
JavaScript
Number.prototype.toPercent = function(n){n = n || 0;return ( Math.round( this * Math.pow( 10, n + 2 ) ) / Math.pow( 10, n ) ).toFixed( n ) + '%';}
var node_itk = require('node-itk');
var path = require('path')
var image = new node_itk.NodeImage('uchar',2);
image.Read('rgb', 2, path.resolve(__dirname, 'Data/GourdsRGB.png'), 'png');
var outputR = node_itk.ImageFilter({
"InputA":image,
"FilterName":"ExtractRGBChannelFilter",
"Channel":"R",
"Progress": function(progress){console.log('处理进度:'+progress.toPercent(2))},
"Finish": function(r){
if(r.OK){
r.Output.Write('ExtractRGBChannelFilterR.bmp', 'bmp')
console.log(r)
}else{
console.log(r);
}
}});
var outputG = node_itk.ImageFilter({
"InputA":image,
"FilterName":"ExtractRGBChannelFilter",
"Channel":"G",
"Progress": function(progress){console.log('处理进度:'+progress.toPercent(2))},
"Finish": function(r){
if(r.OK){
r.Output.Write('ExtractRGBChannelFilterG.bmp', 'bmp')
console.log(r)
}else{
console.log(r);
}
}});
var outputB = node_itk.ImageFilter({
"InputA":image,
"FilterName":"ExtractRGBChannelFilter",
"Channel":"B",
"Progress": function(progress){console.log('处理进度:'+progress.toPercent(2))},
"Finish": function(r){
if(r.OK){
r.Output.Write('ExtractRGBChannelFilterB.bmp', 'bmp')
console.log(r)
}else{
console.log(r);
}
}});
var viewer = new node_itk.NodeQuickView();
viewer.AddImage({"Input":image,"Flipvertical":true})
viewer.AddImage({"Input":outputR,"Flipvertical":true})
viewer.AddImage({"Input":outputG,"Flipvertical":true})
viewer.AddImage({"Input":outputB,"Flipvertical":true})
viewer.Visualize();