Code Monkey home page Code Monkey logo

brainhack-boston.github.io's People

Contributors

avdkouwe avatar ayendiki avatar djarecka avatar dnkennedy avatar fgiuste7 avatar haehn avatar iglpdc avatar kabilar avatar mgxd avatar pwighton avatar rezzo73 avatar sarabeach avatar satra avatar vsiless avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

brainhack-boston.github.io's Issues

[PROJECT] Software for extracting functional sub-components of bundles

Hi!

I am working on software the uses fROIs (e.g., clusters from an fMRI GLM contrast map) to constrain white matter bundles, as to isolate streamlines that are putative for the function being studied. From there, one can extract metrics along these streamlines for brain-function-behavior relationship analyses. The current repo is here: https://github.com/smeisler/fsub_extractor

While what we have right now is functional, there are still things we would like to add before our first release:

  1. Adding CIFTI support. Right now we have support for volumetric (.nii.gz) and surface-mapped fROIs (.mgh/.label) using FreeSurfer, but it would be great if we could efficiently incorporate GIFTI metric maps such as those produced from a GLM on CIFTI data.
  2. Making code that generates streamlines between fROIs. Right now we have code that takes an existing tractogram and filters based on fROIs, but generating the streamlines obviates the step of making a tractogram (although there are other purposes for the full-brain tractogram).
  3. Continuous Integration / Testing / Other Software Infrastructure.
  4. Wiki / Doc Upgrading

Let me know if any of this is of interest to you!

Uncertainty Visualization

All predictions inherently have some level of uncertainty, but often this uncertainty is disregarded as it doesn't significantly affect most practical applications. However, in certain critical areas like medical imaging, such as tumor resection surgery, where precision is important, considering uncertainty becomes crucial.

Our project focuses on addressing the phenomenon known as brain shift through advanced visualization techniques. During tumor resection surgery, the shape of the brain changes due to various factors. Consequently, relying on MRI images for navigation becomes unfeasible. To address this, we use registration techniques to predict an updated MRI view of the brain. However, these predictions come with inherent uncertainty, which must be accounted for. Now, the challenge is to visualize uncertainty.

We've developed a tool for visualizing uncertainty in 3D Slicer specifically designed for tumor resection surgery. Surgeons can explore various features to find the one that suits their needs best. Additionally, it's designed to work with all types of medical images.

How do surgeons trust our visualization?

We need to evaluate different visualizations to encourage surgeons to use them. We cannot assess them in a real setting because we cannot risk patients' quality and quantity of life. So, we developed a game within our tool where users can engage in a simulation task: carving out the tumor from a shifted medical image and earning points. They can compare different visualization techniques and determine which one is most helpful for them.

Link to our tool's code:
https://github.com/mahsageshvadi/UncertaintyVisualization

BrainShift_2

Screen Shot 2024-04-11 at 5 37 34 PM

Screen shot of our evaluation game

CACTAS Labeling Tool in Boostlet.js

๐Ÿ’ก CACTAS Project

CACTAS(Carotid Artery-Computed Tomographic Angiography Scoring) is an open-source project that can assist radiologists in diagnosing an embolic stroke of undetermined source (ESUS). Our project aims to design a program that can characterize qualitative and quantitative morphologic features of calcific plaque. We designed a web-based tool for plaque annotation to segment plaque with a single click.

CACTAS-Tool is a web-based single-click annotation tool that is 2.89 times faster than manual segmentation. We perform 3D region growing based on a user-selected CT Hounsfield Unit (HU) intensity with a configurable tolerance threshold to include neighboring voxels. Visualization was set to window/level of 130/1500 HU.

Here is an example of CACTAS-Tool:

Screen Shot 2023-07-18 at 3 59 33 PM

๐Ÿš€ Challenge

We want to integrate the CACTAS tool functionality in Boostlet.js which is JavaScript plugins that enhance web-based image processing!

๐Ÿ› ๏ธ Getting Started

You can get CACTAS tool code from: https://github.com/jiehyunjkim/CACTAS_Aim2

[PROJECT] Web-based skin cancer (melanoma) detection

Overview

  • Melanoma is the most severe type of skin cancer, and an automated melanoma diagnosis method helps patients find and cure melanoma in advance, reducing significant chances of mortality.
  • Melanoma exists in various shapes and colors, and deep learning-based melanoma detectors can tackle the deviations of melanoma shapes when detecting them.

Challenge

  • Deep learning models require lots of data to detect the desired shapes correctly. Still, the number of available melanoma datasets is limited, as skin cancer data is managed and stored in different forms and different methods of metadata, so it is not easy to combine them.
  • Existing deep learning-based skin cancer detectors use only limited data to learn the detector, and performance tests have been conducted under inconsistent conditions, making it difficult to objectively determine which one is more effective even if many detectors have been introduced so far.
  • Therefore, developing a high-performance skin cancer detector that can be used in a medical environment has been difficult.

Our approach

  • To the best of our knowledge, our skin cancer detector generated 1298 experiments on all public skin cancer datasets and 28 different deep learning models before creating a real-world objective highest performance detector.
  • By deploying the highest performance detector to the web, we created a web-based detector that is not restricted by the medical staff's medical environment.
  • We considered a model that trains new skin cancer data to our detection model in real time and enables continuous performance improvement. Existing top-performance detectors ResNet and DenseNet are too large to meet these requirements. Therefore, we created a model based on the MeshNet model and compared its performance.
  • As a result, a Mela-D model with a model size reduced by more than 20 times while showing similar performance was obtained.

Current challenges

  • We're constantly improving our classifier to perform comparably to 1st ranked melanoma classifier from SIIM-ISIC Melanoma Classification. There is room for improvement in terms of performance by trying diverse methods such as:
    • Image resizing
    • Augmentation
    • Hyperparameters
  • Improving Mela-D classifier further

Web-based Melanoma Detection

Standalone Melanoma web application

Melanoma web application

Original Repository

Melanoma Repo

[PROJECT] Transform tractography data to HiP-CT space

Goal

  • The overarching goal is to integrate micro and meso datasets from the same brain. For this project specifically, we are looking to transform a tractography dataset to HiP-CT space, and visualize the streamlines in Neuroglancer.

Developers will be provided with the following datasets:

  1. HiP-CT (dandiset 26, sub-I58)
  2. Diffusion MRI (NIfTI file format)
  3. Tractography streamlines (trk file format) which are in diffusion space
  4. Affine transformation between the diffusion MRI and HiP-CT spaces

[PROJECT] Adding Niivue to ChRIS_ui

https://chrisproject.org/ is a web platform for running scientific + clinical software on the cloud, mostly used for neuroimaging. Our goal is to add support for using Niivue as an output file visualizer for the ChRIS user interface.

A use case of interest is to use ChRIS, Niivue, and the New England Research Cloud together as a showcase for some exemplar datasets and pipelines developed by our lab, the FNNDSC

In ChRIS, data and computational experiments are organized in "feeds." A feed can either be public or not public. Non-public feeds require authorization to view, whereas public feeds can be retrieved more easily. It is straightforward to use Niivue on public feed data, however niivue/niivue#776 is blocking on the integration of Niivue and non-public feeds.

๐Ÿš€ PowerBoost: The new widget for Boostlet.js!

PowerBoostlet: https://gist.github.com/RohiniDeshmukh/61be12a427eb64b470928f69cf8a4c7a
PowerBoostlet is a user-friendly web tool that simplifies the way developers work. It combines a clean design with powerful features to help you code better and faster. With PowerBoostlet, you get an easy-to-use code editor that lets you see your results instantly, a quick search feature to find what you need, and fast access to advanced tools for machine learning and turning data into easy-to-understand visuals.

Images:
Screenshot 2024-04-19 at 12 07 21โ€ฏAM
Screenshot 2024-04-19 at 12 07 26โ€ฏAM
Screenshot 2024-04-19 at 12 07 42โ€ฏAM
Screenshot 2024-04-19 at 12 07 46โ€ฏAM

Demo Video
https://github.com/brainhack-boston/brainhack-boston.github.io/assets/121260777/2019bee2-ea45-4426-8cd1-7ef5933a77ab

Challenge:

  1. To get Boostlet API access on the Ace editor on the browser.
  2. Make the search feature work with the Boostlets.

[PROJECT] Neurodocker support for FreeSurfer pipelines

This PR adds support to neurodocker to compile FreeSurfer from source. It also includes a few use cases for the infant stream, petsurfer and samseg.

I'd like to expand this to include support for Tracula. How can we create containers using neurodocker to run tracuala? Ideally both from source and released versions.

New Boostlet Examples!

Project Boostlet.js : https://boostlet.org/

About

Boostlet.js are JavaScript plugins designed to elevate the capabilities of web-based image processing. It seamlessly integrates with existing web platforms and frameworks using browser bookmarks through JavaScript injection. Project developers: @haehn @shrutivarade @gaiborjosue

Screenshot 2024-04-17 at 4 12 40โ€ฏPM

Use Cases / Tasks

  • Web-Based Image Processing: Create functionalities that work for image processing on different compatible frameworks (such as Sobel filter, Segment Anything, Image Captioning, and more). For examples, please visit: https://github.com/mpsych/boostlet/tree/main/examples
  • Adding framework compatibility: Enable compatibility with Boostlet for new frameworks so that Boostlet functionalities can work on more frameworks! Current frameworks include: XTK, Papaya, OpenSeaDragon, Niivue, Cornerstone2D, for more info regarding framework implementation please visit: https://github.com/mpsych/boostlet/tree/main/src/frameworks

Getting Started

To get started with Boostlet.js, visit:
https://github.com/mpsych/boostlet/tree/main

Help required?

Feel free to tag us in this issue; we are open to helping you boost Boostlet.js !

[PROJECT] Visualize tractography streamlines and perform annotation with Neuroglancer + TrackVis

Goal

  • The overall goal is to extend Neuroglancer to visualize and curate tractography streamlines.
  • Currently, we have scripts to read streamlines from a trk file in Python, convert a subset of the streamlines to a skeleton, and visualize the skeleton in Neuroglancer.
  • For this project, we would like to:
    • Use bindings to implement trk reading and filtering routines from the TrackVis C++ library.
    • Draw regions of interest in Neuroglancer and filter the streamlines in the backend.
    • Possibly, add support to read the trx file format
    • Possibly, add support for data compression of the streamline files

Developers will be provided with the following datasets:

  1. Diffusion MRI (NIfTI file format)
  2. Tractography streamlines (trk file format)

[PROJECT] Python framework for MRI dashboards

What is the best python framework for creating MRI dashboards that continually update?

We have the ability to stream both imaging data and k-space data from Siemens MRI machines. If we want to create a dashboard to show the MR tech what is happening in real-time, what is the best python framework to use? I have previously explored using streamlit which doesn't seem to support real-time updates.

[PROJECT] Port the IronTract Challenge to DANDI

Upload IronTract Challenge data and implement challenge functionality on DANDI. The data and steps involved in the challenge are described in Maffei et al., 2022.

Tasks:

  • Convert Bruker DWI data to BIDS
  • Create dandiset with public DWIs and private ground truth tracing
  • Create public notebook that generates or reads tractogram and computes ROC curve by comparing tractogram to ground truth tracing

[PROJECT] Julia implementation of neural network estimators

Introduction
Microstructure.jl is a Julia toolbox (development version) aiming at fast and probabilistic microstructure imaging. It features flexible biophysical modelling with MRI data. For estimating microstructure parameters from these models, it includes generic estimators such as Markov Chain Monte Carlo (MCMC) sampling methods and Monte Carlo dropout with neural networks.

Goal
Using Flux.jl and Microstructure.jl to implement different types of neural networks. The current neural network estimator in Microstructure.jl uses multi-layer perceptron for supervised training with training samples generated from forward models in Microstructure.jl, e.g. MRI measurements as inputs and microstructure parameters as outputs. For other types of methods, an example we can try is to implement self-supervised method that uses the forward models in Microstructure.jl as a decoder.

Resources

  1. Tutorials/domes about how to use Microstructure.jl will be available soon on the documentation website
  2. For neural network examples using Flux, there are various models that you can reference at the Flux model zoo
  3. Python implementation example for the network models

Julia is a programming language designed for high performance. If you are interested in Julia or have experiences in related areas using other languages, join me in hacking towards the goal!

[PROJECT] Boostlet.js infrastructure

Project Boostlet.js! https://boostlet.org/

image

๐Ÿš€ About

Boostlet Figures (1)

Boostlet.js are JavaScript plugins designed to elevate the capabilities of web-based image processing. It seamlessly integrates with existing web platforms and frameworks using browser bookmarks through JavaScript injection. Project developers: @haehn @shrutivarade @gaiborjosue

๐Ÿ’ก Use Cases / Tasks

  • Web-Based Image Processing: Create functionalities that work for image processing on different compatible frameworks (such as Sobel filter, Segment Anything, Image Captioning, and more). For examples, please visit: https://github.com/mpsych/boostlet/tree/main/examples

  • Adding framework compatibility: Enable compatibility with Boostlet for new frameworks so that Boostlet functionalities can work on more frameworks! Current frameworks include: XTK, Papaya, OpenSeaDragon, Niivue, Cornerstone2D, for more info regarding framework implementation please visit: https://github.com/mpsych/boostlet/tree/main/src/frameworks

๐Ÿ›  Getting Started

To get started with Boostlet.js, visit:
https://github.com/mpsych/boostlet/tree/main

๐ŸŒŸ More information

https://slides.com/haehn/boostlet

โ›‘๏ธ Help required?

Feel free to tag us in this issue; we are open to helping you boost Boostlet.js ๐Ÿซก!

[PROJECT] Boostlet.js infrastructure

Project Boostlet.js! https://boostlet.org/

image

๐Ÿš€ About

Boostlet Figures (1)

Boostlet.js are JavaScript plugins designed to elevate the capabilities of web-based image processing. It seamlessly integrates with existing web platforms and frameworks using browser bookmarks through JavaScript injection. Project developers: @haehn @shrutivarade @gaiborjosue

๐Ÿ’ก Use Cases / Tasks

  • Web-Based Image Processing: Create functionalities that work for image processing on different compatible frameworks (such as Sobel filter, Segment Anything, Image Captioning, and more). For examples, please visit: https://github.com/mpsych/boostlet/tree/main/examples

  • Adding framework compatibility: Enable compatibility with Boostlet for new frameworks so that Boostlet functionalities can work on more frameworks! Current frameworks include: XTK, Papaya, OpenSeaDragon, Niivue, Cornerstone2D, for more info regarding framework implementation please visit: https://github.com/mpsych/boostlet/tree/main/src/frameworks

๐Ÿ›  Getting Started

To get started with Boostlet.js, visit:
https://github.com/mpsych/boostlet/tree/main

๐ŸŒŸ More information

https://slides.com/haehn/boostlet

โ›‘๏ธ Help required?

Feel free to tag us in this issue; we are open to helping you boost Boostlet.js ๐Ÿซก!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.