Giter VIP home page Giter VIP logo

gliamorph's Introduction

GliaMorph Introduction

GliaMorph Toolkit to process and analyse Müller glia morphology (implemented as Fiji Macros to allow modular application).

Publication: Elisabeth Kugler, Isabel Bravo, Xhuljana Durmishi, Stefania Marcotti, Sara Beqiri, Alicia Carrington, Brian M. Stramer, Pierre Mattar, Ryan B. MacDonald; GliaMorph: A modular image analysis toolkit to quantify Müller glial cell morphology. Development 2023; dev.201008. doi: https://doi.org/10.1242/dev.201008;

Step-by-step protocol: Kugler, E., Breitenbach, E.-M., & MacDonald, R. (2023). Glia cell morphology analysis using the fiji gliaMorph toolkit. Current Protocols, 3, e654. doi: 10.1002/cpz1.654; https://currentprotocols.onlinelibrary.wiley.com/doi/10.1002/cpz1.654

Example Data: Data Link: https://zenodo.org/record/5747597 DATA DOI: 10.5281/zenodo.5747597 Minimum Example Data 29112021: Data Link: https://zenodo.org/record/5735442 DATA DOI: 10.5281/zenodo.5735442

YouTube Screencasts: https://www.youtube.com/hashtag/gliamorph (recorded by Sara Beqiri and Karim Nizam, 2022)

Code Author: Elisabeth Kugler
Project Leads: Elisabeth Kugler (code, formal analysis, supervision) and Ryan MacDonald (data, resources, supervision)
Project Contributors: Eva-Maria Breitenbach (tester), Alicia Carrington (data and tester), Isabel Bravo (data and tester), Stefania Marcotti (code: https://github.com/OakesLab/AFT-Alignment_by_Fourier_Transform), Brian M. Stramer (resources), and Pierre Mattar (data and resources).
Contact: kugler.elisabeth[at]gmail.com

BSD 3-Clause License
Copyright (c) [2021], [Elisabeth C. Kugler, University College London, United Kingdom]
All rights reserved.

Eli's GitHub stats Top Langs

Contributions and Feedback

This GitHub repository will be maintained until at least 2023 by Elisabeth Kugler. However, as #GliaMorph tools are meant to be used and useful, the code and tools are meant to change and be adaptable. Please help us make the most out of #GliaMorph:

Overview of Steps

  • step1_cziToTiffTool.ijm: Macro for czi to tiff conversion

  • step2_DeconvolutionTool.ijm: Macro for deconvolution of confocal images using theoretical or experimental PSF

  • step3_90DegreeRotationTool.ijm: Macro for 90 degree rotation - optional before rotationTool

  • step4_subregionTool.ijm: Semi-automatic ROI selection tool with ROI selection from MIP

  • step4_subregionToolWithinStack.ijm: Semi-automatic ROI selection tool within stack with ROI within stack

  • step5_splitChannelsTool.ijm: Macro to split channels and save them in separate folders

  • step6_zonationTool.ijm: Analysis of zebrafish retina zonation based on intensity profiles

  • step7_SegmentationTool.ijm: Segmentation of MG cells

  • step8_QuantificationTool.ijm: Quantification of MG features in segmented images

Required Fiji Update sites and Extensions

Fiji Update Sites

  1. “Fiji > Help > Update > Manage update sites”
  2. Select “3D ImageJ Suite”, “Neuroanatomy”, and “IJBP-Plugins”
  3. Click “Close”
  4. Click “Apply Changes”.

Extensions

Both are required for the point spread function (PSF) deconvolution.

a) Extension 1: Diffraction PSF 3D to generate a theoretical PSF: details at https://www.optinav.info/Iterative-Deconvolve-3D.htm Download “Diffraction_PSF_3D.class” from https://github.com/ElisabethKugler/GliaMorph (found under “other”) - copy and paste this it into Fiji > Plugin folder > restart Fiji. Check if "Plugins > Diffraction PSF 3D" is there. (Author: Bob Dougherty; Permission: 13.12.2021 - via email between Bob Dougherty and Elisabeth Kugler; Link: https://www.optinav.info/Diffraction-PSF-3D.htm; Licence: Copyright (c) 2005, OptiNav, Inc.All rights reserved).

b) Extension 2: DeconvolutionLab2 for PSF deconvolution (Sage et al., 2017): follow the installation guide http://bigwww.epfl.ch/deconvolution/deconvolutionlab2/.

#GliaMorph: Minimum Example Data 29112021 (see protocol for details)

Acquired by Dr Ryan MacDonald at the Institute of Ophthalmology, University College London (http://zebrafishucl.org/macdonald-lab). Processed by Dr Elisabeth Kugler at the Institute of Ophthalmology, University College London (https://www.elisabethkugler.com/).

Data Link: https://zenodo.org/record/5735442#.YaUPG9DP02w DATA DOI: 10.5281/zenodo.5735442

Good practice - close all unnecessary windows in Fiji and do not click things while Macros are running.

#1 Three images of zebrafish retina at 3dpf in the double-transgenic Tg(TP1bglob:VenusPest)s940 (Ninov et al., 2012) and Tg(CSL:mCherry)jh11 (also known as Tg(Tp1bglob:hmgb1-mCherry)jh11 (Parsons et al., 2009). These are in the folder "ExampleData_GitHub_GliaMorph_KuglerEtAl".

#2 application of step4_subregionTool.ijm: This will need "RoiSetLine.zip" to be drawn on the MIPs and be applied to the 3D stacks. It will deliver images that are comparable against each other (rotated, cropped in x-and-y, reduced in z) - based on user-selected parameters. For this example we leave the default parameters unchanged, which will deliver an image of width 60um, height as per ROI, depth of 15um, and a sigma of 10um (sigma is attached at the bottom of the ROI - this not only accounts for the MG curvature, but also allows inclusion of underlying blood vessels). This step only takes a few minutes.

#3 application of step5_splitChannelsTool.ijm: Apply this step to the images in the folder "zDir" (these are the comparable images: rotated, cropped in x-and-y, reduced in z) to split channels - in this case, choose 2 as input parameter as the data are from double-transgenics with 2 channels. For the remaining steps we will focus on one of the reporter lines, namely Tg(Tp1bglob:hmgb1-mCherry)jh11. This step only takes a few minutes.

#4 application of step6_zonationTool.ijm: Analyse texture / zonation - for our example, we do this for "2CDir" Tg(Tp1bglob:hmgb1-mCherry)jh11. Parameters as follows: yes, no, 1920, 10 - we only change the second parameter to "no" - leave the others >> see image. This step only takes a few minutes. ![image] (https://user-images.githubusercontent.com/67630046/143879883-ff37752a-ff5a-4a60-9ed9-a8922f688eb6.png) see output data in the folder "ZonationTool"

#5 application of step7_SegmentationTool.ijm: Next, we want to segment the data - for this we use again the stacks (i.e. 3D tiffs) from the folder "2CDir". The data will be segmented / binarized / thresholded and outputs will be saved in folder "TH" - these are again 3D stacks (MIP folder contained in the folder). This step only takes a little bit longer, but normally less than 5min per image.

#6 application of step8_QuantificationTool.ijm: Quantification of MG parameters - this uses the folder "TH" as input - so this means 3D stacks that are segmented. This is the most time-consuming step, that can take up to about 40min per image depending on computer spec and image size.

gliamorph's People

Contributors

elisabethkugler avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

gliamorph's Issues

Future work: Single Cell Extraction

Future work: to extract individual cells out of a full segmented stack.
At the moment we address single-cell analysis as follows: (a) experimentally - bel individual clones and create images from individual cells or (b) analyze whole params (e.g. whole stack volume) and divide by the number of cell bodies.
EK tried various approaches (e.g. longest path, directionality, etc), but it's likely to require some machine learning.

Texture analysis

For the texture analysis of the TH and Skel images in "step8_quantificationTool" only the intensities of the last image in the folder are saved (i.e. data are overwritten instead of appended).

Licensing

Hi Elisabeth,

thanks for inviting me here :-)

I just took a quick look and have a question about licensing. Is this file licensed BSD or GPL? It can really not be both.
https://github.com/ElisabethKugler/GliaMorph/blob/main/step4_subregionTool_EKugler.ijm#L5
https://github.com/ElisabethKugler/GliaMorph/blob/main/step4_subregionTool_EKugler.ijm#L16

Furthermore, you may want to put your employer as license holder in the license file as well. At least in Germany it's kind of mandatory, as we are paid for writing code...
https://github.com/ElisabethKugler/GliaMorph/blob/main/LICENSE#L3

Best,
Robert

Improvement of Skeletonization and Skeleton Analysis

There seem to be still a lot of spurious branches -- could this be improved with additional surface smoothing prior to 3D thinning or look at pruning after skeletonization and before analysis. (Ideal would be 3D ridges, but they don't seem to be currently supported)

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.