Boostlet.js is a generic processing framework that runs algorithms wrapped as bookmarklets and supports interacting with a variety of web-based visualization frameworks.
![Screenshot 2023-12-20 at 7 55 14 PM](https://private-user-images.githubusercontent.com/37963866/292583386-5d7cfb18-5b66-4cb1-8c93-6a425ece8055.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjI0NDUwMjYsIm5iZiI6MTcyMjQ0NDcyNiwicGF0aCI6Ii8zNzk2Mzg2Ni8yOTI1ODMzODYtNWQ3Y2ZiMTgtNWI2Ni00Y2IxLThjOTMtNmE0MjVlY2U4MDU1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MzElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzMxVDE2NTIwNlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTg2MWFhMDJjNmM3MDJmMjcxNzZhYzcyZmRjNDE1YjE0OTQ5OGM2ZDE2MWYzN2JiMmQxZmM2ZjhkMzRiOGViZTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.QtElOP9yxoB---wLD8EM5B_cIXAH5q-EnkrLjwXvkUE)
- Easy integration with existing visualization frameworks.
- Drag-and-drop Boostlets for straightforward installation.
- Standard API for pixel data access and user interactions.
- Compatibility with BoxCraft (https://github.com/shrutivarade/BoxCraft) for enhanced region-of-interest selections and other widgets.
Get it right here: boostlet.min.js or include it like this:
<script src="https://boostlet.org/dist/boostlet.min.js"></script>
The following example creates a Boostlet that runs a Sobel filter.
script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://boostlet.org/dist/boostlet.min.js";
script.onload = run;
document.head.appendChild(script);
eval(script);
function run() {
// detect visualization framework
Boostlet.init();
image = Boostlet.get_image();
kernel = [
-1, 0, 1,
-2, 0, 2,
-1, 0, 1
];
filtered = Boostlet.filter(image.data, image.width, image.height, kernel);
Boostlet.set_image( filtered );
}
To compile the project:
npx parcel build
During development, to prototype in the JS Console, there are two entrypoints:
tests/dev.html
that uses the uncompiled code and allows developing while prototyping
tests/dist.html
uses the compiled code
Cornerstone2D.js NiiVue.js OpenSeaDragon.js
We welcome contributions! Please fork the repository and submit a pull request with your proposed changes.
Boostlet.js is open-source software licensed under the MIT license.