Extends QuPath's functionalities for whole-brain image analysis and quantification. For example it streamlines automatic cell segmentation of multiple markers and computes markers overlap within the CCFv3 atlas previously aligned on your sections. It works best if coupled with:
qupath-extension-abba
: for importing importing brain atlas annotations from ABBAbraian
: the associated python library for whole-brain analysis and visualization
YSK: BraiAn's names stands for Brain Analysis.
I suggest you to listen to "Brianstorm" by Arctic Monkey while working with BraiAn ;)
This extension helps you manage multiple QuPath projects ensuring consistency. In particular, it is designed to perform batch analysis across many QuPath projects in an automated manner. Typically, in whole-brain datasets, one brain = one QuPath project and BraiAn makes sure the exact same analysis parameters are consistently applied across different projects. It was first developed to work with ABBA, but can be used for other purposes as well. Its core idea is to move the input parameters used to analyse multiple QuPath projects of the same cohort/experiment outside of scripts' code. This allows having a reproducible configuration that can be shared, backed up and ran after long periods of time.
The extensions exposes a proper library API and, among all, it allows to:
- work with image channel histograms, thanks to
ChannelHistogram.class
- compute and manage detections separately for each image channel, thanks to
AbstractDetections.class
- apply different classifiers on different subsets of detections, thanks to
PartialClassifier.class
- quickly find all detections that are double—or triple/multiple—positive, thanks to
BoundingBoxHierarchy.class
- tag certain brain regions to be excluded from further analysis due to tissue, imaging or alignment problems
- export to file the quantification results (number of detections/double+ found in each brain region)
- export to file a list of regions flagged to be excluded
Where to start from, though? Reading this script and the associated config file is a good start!
Soon.
Keep an eye on this or ABBA's repositories!
ETA: June 2024
I decided to publish the BraiAn pipeline (i.e. this QuPath extension and the subsequent python libray) with the most libre licence possible because I find maximum value in learning from others and sharing my own—small—knowledge.
We, developers in neuroscience, are islands that often work alone and frequently end up reinventing the wheel rather then spending time finding, pickup up and adapting the work that somebody on the other side of the world did with no intention to publish. For this reason I spent a great amount of my personal time making this extension as usable, extensible, and long-lasting as I could. And yet, I know it could be better, that there could be bugs, unforeseen scenarios and missing features.
For this reason I hope that if you find my work useful, you will find time and will to contribute back upstream with issues, PRs, documentation, tests, feature requests... Any activity makes me happy!
You can build the QuPath BraiAn extension from source with:
./gradlew clean build
The built .jar
extension file will be under build/libs
.