Code Monkey home page Code Monkey logo

spineanalysis_public's Introduction

A Unified Visualization Framework for Interactive Dendritic Spine Analysis using 3D Morphological Features

This repository includes compiled standalone software, source code, and small test dataset.

Contents

Workflow of the spine analysis

Overview

Dendritic spines are submicron-scale protrusions on neuronal dendrites that form postsynaptic sites of excitatory neuronal inputs. The morphological change of the dendritic spine often reflects alterations in physiological conditions and is an indicator of various neuropsychiatric conditions. However, owing to the highly dynamic and heterogeneous nature of spines, accurate measurement and objective analysis of spine morphology are major challenges in neuroscience research. Most of the conventional approaches for analyzing dendritic spines are based on 2D images, which barely reflect the actual 3D shapes. Although some recent studies have attempted to analyze spines with various 3D-based features, it is still difficult to objectively categorize and analyze spines based on 3D morphology. Here, we propose a unified visualization framework for an interactive 3D dendritic spine analysis system, DXplorer, that displays 3D rendering of spines and plots the high-dimensional features extracted from the 3D mesh of spines. With this system, users can perform the clustering of spines interactively, and explore and analyze dendritic spine based on high-dimensional features. We propose a series of high-dimensional morphological features extracted from the 3D mesh of dendritic spines. In addition, interactive machine learning classifier with visual exploration and user feedback using an interactive 3D mesh grid view ensures a more precise classification based on the spine phenotype.

System Requirements

  • Tested running environment: Windows 10, 3D structured illumination microscopy (SIM) data (0.032um x 0.032um x 0.12um)
  • Requirements for program execution: Visual C++
  • Requirements for dimension reduction methods (PCA, UMAP, tSNE) and classification (random forest): python, sklearn, numpy, umap
  • Requirements for spine detection: MATLAB Runtime

Installation Guide

  • For source build: The source code is implemented with QT creator and complied with Qt 5.10.1 MSVC2017 64bit (build time is less than 5 minutes on a normal desktop computer)
  • For compiled standalone software: No installation is needed for complied standalone software. Just download /Executable repository and run /Executable/SpineAnalysis.exe

For Testing

  • run /Executable/SpineAnalysis.exe => add group by pressing + button => load /Executable/dataset/neuron3/dataset.DXplorerInfo by pressing + button on the generated group

Expected output

Example view

System Scalability Test

  • We tested the system's frame rates and memory consumptions with various size of the dataset Result

Matlab Code for Spine Detection and Feature Extraction

  • (/Matlab_Code/ ) These codes are extended from the research of Kashiwagi et al. (Kashiwagi, Yutaro, et al. "Computational geometry analysis of dendritic spines by structured illumination microscopy." Nature communications 10.1 (2019): 1-14.)

  • [DendriticSpineImageProcessing.m] This script is a main funcion. You can run the function with this command,

  • DendriticSpineImageProcessing(inputPath,resultPath) (e.g, DendriticSpineImageProcessing('C:/1.tif','C:/test/'))

spineanalysis_public's People

Contributors

junc0 avatar

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.