UNPKG

decentralized-internet

Version:

An NPM library of programs to create decentralized web and distributed computing projects

1 lines 1.35 kB
var request=require("request"),fs=require("fs"),Promise=require("bluebird"),path=require("path"),job={executable:"ComponentSizeRLE",parameters:[{flag:"--i",name:"atlas_DD_040_t1w.nrrd"},{flag:"--m",name:"DD_040_seg.nii.gz"},{flag:"--outputHistogram",name:"outputHistogram.csv"},{flag:"--outputRLE",name:"outputRLE.csv"}],inputs:[{name:"atlas_DD_040_t1w.nrrd"},{name:"DD_040_seg.nii.gz",remote:{serverCodename:"COUCHDB",uri:"52f388e8f3e8045a9f6260e86c0f6c4a/52f388e8f3e8045a9f6260e86c0f6c4a.nii.gz"}}],outputs:[{type:"file",name:"outputHistogram.csv"},{type:"file",name:"outputRLE.csv"}],type:"job",userEmail:"juanprietob@gmail.com",executionserver:"killdevil"},inputs=["/Users/prieto/NetBeansProjects/UNC/data/canine/atlas_DD_040_t1w.nrrd"],uploadfile=function(e){var t=e.filename,a=e.id;return new Promise(function(e,r){try{var o={url:"http://localhost:8180/dataprovider/"+a+"/"+path.basename(t),method:"PUT",headers:{"Content-Type":"application/octet-stream"}};fs.createReadStream(t).pipe(request(o,function(t,a,r){t&&e(t),e(r)}))}catch(e){r(e)}})},options={url:"http://localhost:8180/dataprovider",method:"POST",json:job};request(options,function(e,t,a){if(e)throw e;for(var r=a,o=[],i=0;i<inputs.length;i++)o.push({filename:inputs[i],id:r.id});Promise.map(o,uploadfile,{concurrency:1}).then(function(e){console.log(e)}).catch(console.error)});