Welcome
This is a repository with Mastodon plugins topically related to exporting the tracking data (lineage trees) outside Mastodon in the following ways:
-
BigDataViewer window that keeps sending to Blender the
currently displayed spots under their current view, demo video
(find it here: Mastodon->Plugins->Auxiliary Displays->BDV Spots To Blender), -
sends to Blender the full lineage data with all tracks spots decimated into
one graph vertex as in Mastodon->Window->New TrackScheme Hierarchy, demo video
(find it here: Mastodon->Plugins->Auxiliary Displays->All Spots To Blender), -
sends to Blender the full lineage data with all tracks spots decimated into
one graph vertex as in Mastodon->Window->New TrackScheme Hierarchy,
and additionally visualized as if projected onto a cylinder, which got unfolded, demo picture
(find it here: Mastodon->Plugins->Auxiliary Displays->Flat View), -
sends out the lineage tree(s) from all-available or selected-only spots
(find it here: Mastodon->Plugins->Auxiliary Displays->Lineage Exports).
The latter variant offers several additional options, such as uploading
- with straight lines (showing mother-daughter relation ship) between such vertices,
- or with rectangularly bended lines,
- with various left-to-right display order of daughters,
- and into various sinks, e.g.,
- as
.graphml
file for yEd, - in a separate window rendered with GraphStream,
- in a separate applications such as Blender or sciview.
- as
It was developed and is maintained by Vladimír Ulman, based on our previous work The BioMatch Blender addon, together with Petr Strakoš from IT4Innovation.
🟢🟢 Currently this is a brand new overhaul, more powerful and flexible too, I think... ;-). 🟢🟢
License
All here is licensed with the BSD 2-Clause License.
Install by enabling respective Fiji update sites, and then setup your Blender installation
Fiji
- Open Fiji
- Click menus: 'Help' -> 'Update...'
- Click 'Manage update sites' in the opened 'ImageJ Updater' dialog
- Mark the Mastodon and TomancakLab checkboxes
- Click 'Close' to close the dialog, click 'Apply changes' to install everything
Notes
Once installed, one can find the tools in the Mastodon, in the Plugins->Auxiliary Displays menu.
Contact (ulman při fi.muni.cz) for help on how to use it.
Blender
Blender is the foremost expected instance of outside where we wish to display Mastodon content, and we need it to be at least version 3.x series. Blender runs a dedicated addon that listens for drawing commands (expressed in own language/protocol) using which Mastodon commands Blender what to display. Also a dedicated project .blend file needs to be opened. Mastodon reaches Blender always via a network connection (using grpc), which can mean that both run on the very same single host machine, or each on a different one.
To have the Mastodon--Blender connection functional, one needs to install
- grpc library into Blender,
- Our DisplayServerService addon to Blender,
- and open a special Blender project.
Step 1.
Blender setup can be realized comfortably using Mastodon:
- Open Fiji, open Mastodon, open some project in Mastodon
- Click 'Plugins', choose 'Setup Blender Addon ...'
- Dialog comes out. Please, follow it... (maybe you want to select "All Files" in the "Files of Type" dropdown box)
Here's how to add grpc manually into your installed Blender, required version is 3.x series:
- Stop & close Blender
- Open a terminal (konsole)
cd
into where you have dropped the Blender.app- Further
cd
deep into it:- on mac:
cd Blender.app/Contents/Resources/3.4/python/bin
- on linux:
cd blender-3.4.1-linux-x64/3.4/python/bin
- on windows: ...similarily...
- on mac:
- Run the following commands (one full line, one command, the same on all OSes):
./python3.10 -m ensurepip
./python3.10 -m pip install --upgrade pip
./pip install grpcio-tools
Now, Blender is equipped and "talk grpc".
Step 2.
We have to install the addon to Blender:
- Open Blender (the one that you potentially pointed Mastodon to)
- Click menus 'Edit', then 'Preferences...'
- Choose 'Add-ons' in the left bar of the window that popped out
- Top-right choose 'Install...' and point it on the downloaded 'display_server_addon.zip'
- Should show '3D View: gRPC DisplayServer for Blender Viewing', make sure it is ticked
- Close the 'Blender Preferences' window now
By now, the Blender DisplayServer should be running and listening on port 9083.
Step 3.
Finally, it remains to open the special .blend project,
which you can download here.
Make sure you are looking at timepoint 0 in Blender...
sciview
This is obsolete and not maintained, perhaps already not even available in the current form of this repo.... but certainly possible to restore if somebody asks for it.
This particular form of outside was also implemented via the network connection. The client code is implemented here, in the commit history of this repo. The server side is implemented in the allied other repository.