Nothing Special   »   [go: up one dir, main page]

Skip to content

Tracking data transfers from Mastodon to various viewers (e.g., sciview or Blender)

License

BSD-2-Clause, BSD-2-Clause licenses found

Licenses found

BSD-2-Clause
LICENSE
BSD-2-Clause
LICENSE.txt
Notifications You must be signed in to change notification settings

mastodon-sc/mastodon-ext-viewers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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.,

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

  1. Open Fiji
  2. Click menus: 'Help' -> 'Update...'
  3. Click 'Manage update sites' in the opened 'ImageJ Updater' dialog
  4. Mark the Mastodon and TomancakLab checkboxes
  5. 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

  1. grpc library into Blender,
  2. Our DisplayServerService addon to Blender,
  3. and open a special Blender project.

Step 1.

Blender setup can be realized comfortably using Mastodon:

  1. Open Fiji, open Mastodon, open some project in Mastodon
  2. Click 'Plugins', choose 'Setup Blender Addon ...'
  3. 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:

  1. Stop & close Blender
  2. Open a terminal (konsole)
  3. cd into where you have dropped the Blender.app
  4. Further cd deep into it:
    1. on mac: cd Blender.app/Contents/Resources/3.4/python/bin
    2. on linux: cd blender-3.4.1-linux-x64/3.4/python/bin
    3. on windows: ...similarily...
  5. Run the following commands (one full line, one command, the same on all OSes):
    1. ./python3.10 -m ensurepip
    2. ./python3.10 -m pip install --upgrade pip
    3. ./pip install grpcio-tools

Now, Blender is equipped and "talk grpc".

Step 2.

We have to install the addon to Blender:

  1. Open Blender (the one that you potentially pointed Mastodon to)
  2. Click menus 'Edit', then 'Preferences...'
  3. Choose 'Add-ons' in the left bar of the window that popped out
  4. Top-right choose 'Install...' and point it on the downloaded 'display_server_addon.zip'
  5. Should show '3D View: gRPC DisplayServer for Blender Viewing', make sure it is ticked
  6. Close the 'Blender Preferences' window now

Blender Preferences dialog window

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.

About

Tracking data transfers from Mastodon to various viewers (e.g., sciview or Blender)

Resources

License

BSD-2-Clause, BSD-2-Clause licenses found

Licenses found

BSD-2-Clause
LICENSE
BSD-2-Clause
LICENSE.txt

Stars

Watchers

Forks

Packages

No packages published

Languages