Remove item
This commit is contained in:
parent
d2d0dc4518
commit
344146639d
1 changed files with 1 additions and 43 deletions
|
|
@ -472,7 +472,7 @@ export default {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.$store.commit("imjoy/addOpenScanItem", {
|
this.$store.commit("imjoy/addOpenScanItem", {
|
||||||
title: "ImageJ.JS",
|
title: "ImageJ.JS [stack]",
|
||||||
async callback(name, allURLs) {
|
async callback(name, allURLs) {
|
||||||
const viewer = await self.openImageJ();
|
const viewer = await self.openImageJ();
|
||||||
// allURLs is a list of URLs for *capture objects*, so
|
// allURLs is a list of URLs for *capture objects*, so
|
||||||
|
|
@ -513,48 +513,6 @@ export default {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this.$store.commit("imjoy/addOpenScanItem", {
|
|
||||||
title: "ImageJ.JS [JPEGs]",
|
|
||||||
async callback(name, allURLs) {
|
|
||||||
const viewer = await self.openImageJ();
|
|
||||||
// allURLs is a list of URLs for *capture objects*, so
|
|
||||||
// first we need to retrieve them, then extract image URLs
|
|
||||||
// and finally turn image URLs into "numpy arrays" (RGB data).
|
|
||||||
const imagesAsNdarrays = await Promise.all(
|
|
||||||
allURLs.map(async url => {
|
|
||||||
const r = await axios.get(url);
|
|
||||||
return imageUrlToNdarray(r.data.links.download.href);
|
|
||||||
})
|
|
||||||
);
|
|
||||||
// Construct an array to hold all the images, based on the first image
|
|
||||||
// TODO: assert that _rdtype is uint8, _rshape is the same, _rtype is ndarray
|
|
||||||
const shape = imagesAsNdarrays[0]._rshape;
|
|
||||||
const totalSize = imagesAsNdarrays.reduce(
|
|
||||||
(total, image) => total + image._rvalue.byteLength,
|
|
||||||
0
|
|
||||||
);
|
|
||||||
const stackData = new Uint8Array(new ArrayBuffer(totalSize));
|
|
||||||
const transferredBytes = imagesAsNdarrays.reduce((total, image) => {
|
|
||||||
console.log(`inserting image at ${total} bytes`);
|
|
||||||
// TODO: is it bad to populate stackData as a "side effect"?
|
|
||||||
stackData.set(image._rvalue, total);
|
|
||||||
//assert image._rshape == shape;
|
|
||||||
return total + image._rvalue.byteLength;
|
|
||||||
}, 0);
|
|
||||||
const stackNdarray = {
|
|
||||||
_rtype: "ndarray",
|
|
||||||
_rdtype: "uint8",
|
|
||||||
_rshape: [imagesAsNdarrays.length, shape[0], shape[1], shape[2]],
|
|
||||||
_rvalue: stackData
|
|
||||||
};
|
|
||||||
console.log(
|
|
||||||
`Stack is ${transferredBytes} and will have shape: ${stackNdarray._rshape}`
|
|
||||||
);
|
|
||||||
await viewer.viewImage(stackNdarray, {
|
|
||||||
name: "ScanImages" //TODO: fix the name
|
|
||||||
});
|
|
||||||
}
|
|
||||||
});
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
alert(`Failed to setup viewers, error: ${e}`);
|
alert(`Failed to setup viewers, error: ${e}`);
|
||||||
} finally {
|
} finally {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue