Skip to content, Skip to search

Changes

SNT: Python Notebooks

1,991 bytes removed, 19 May
Redirect to updated content
=Python Notebooks=Direct access to the SNT API from the #REDIRECT [https://www.python.org/ Python] programming language is made possible through the [https://pypi.org/project/pyimagej/ pyimagej] module. This enables full integration between SNT and any library in the Python ecosystem.==Installing pyimagej==Follow the instructions given [https://github.com/imagej/pyimagej_Scripting#installation here]==Getting Started==To initialize Fiji from Python:<source lang="python">import imagejij = imagej.init('sc.fiji:fiji')</source>Then, use [https://github.com/kivy/pyjnius pyjnius] (bundled with pyimagej) to import the SNT (Java) classes you need. For example, to download a neuron reconstruction from the MouseLight database and calculate summary statistics on it, you would import the [http://javadoc.scijava.org/Fiji/tracing/io/MouseLightLoader MouseLightLoaderPython_Notebooks] and [http://javadoc.scijava.org/Fiji/tracing/analysis/TreeStatistics.html TreeStatistics] classes: <source lang="python">from jnius import autoclassMouseLightLoader = autoclass('tracing.io.MouseLightLoader')TreeStatistics = autoclass('tracing.analysis.TreeStatistics')</source>Now you can access all the attributes and methods these classes offer. Let's get a summary of the inter-node distances for a specific mouse cortical motor neuron (UUID = "AA0100" in the MouseLight database). <source lang="python">def run(): loader = MouseLightLoader("AA0100") # one of the largest cells in the database if not loader.isDatabaseAvailable(): ui.showDialog("Could not connect to ML database", "Error") return if not loader.idExists(): ui.showDialog("Somehow the specified id was not found", "Error") return  a_tree = loader.getTree('axon', None) # compartment, color s_stats = TreeStatistics(a_tree) metric = TreeStatistics.INTER_NODE_DISTANCE summary_stats = s_stats.getSummaryStats(metric) s_stats.getHistogram(metric).show() print("The average inter-node distance is %d" % summary_stats.getMean())</source>
Emailconfirmed
1,573
edits