Difference between revisions of "SNT: Python Notebooks"

(Getting Started)
(Redirect to updated content)
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=Python Notebooks=
#REDIRECT [[SNT:_Scripting#Python_Notebooks]]
Direct access to the SNT API from the [https://www.python.org/ Python] programming language is made possible with 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#installation here]
==Getting Started==
To initialize Fiji from Python:
<source lang="python">
import imagej
ij = imagej.init('sc.fiji:fiji')
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 MouseLightLoader] and [http://javadoc.scijava.org/Fiji/tracing/analysis/TreeStatistics.html TreeStatistics] classes:
<source lang="python">
from jnius import autoclass
MouseLightLoader = autoclass('tracing.io.MouseLightLoader')
TreeStatistics  = autoclass('tracing.analysis.TreeStatistics')
Now you can access all the attributes and methods these classes offer. Let's get a summary of the inter-node distances for a cortical motor neuron (UUID = "AA0100" in the MouseLight database).
<source lang="python">
d_stats = TreeStatistics(tree)
metric = TreeStatistics.INTER_NODE_DISTANCE
summary_stats = d_stats.getSummaryStats(metric)
print("The average inter-node distance is %d" % summary_stats.getMean())

Latest revision as of 06:24, 19 May 2019