Skip to content

Mastodon beta-18.

Compare
Choose a tag to compare
@tinevez tinevez released this 12 May 12:36
· 956 commits to master since this release

Mastodon beta-18.

This new beta of Mastodon focuses mainly on bringing some clarity in the development process and a rework of the intensity-based feature computation. If you are interested in the development of Mastodon, read at the end of this changelog for the changes in development guidelines that come with this release.


Changelog.

New intensity features and removed ones.

Tobias made a new and convenient iterator that can iterate through all the pixels of an ellipsoid exactly once, regardless of the transform or shape of the ellipsoid (https://github.com/mastodon-sc/mastodon/blob/master/src/main/java/org/mastodon/mamut/feature/EllipsoidIterable.java). It is used in this release to rewrite and change all the intensity-based features:

  • The Spot intensity feature computes the mean, min, max, sum, median and std of the pixel values in a spot for each channel.
  • The sum intensity and median intensity feature in the mastodon-pasteur artifact were removed (replaced by above feature).
  • The Spot gaussian-filtered intensity feature is now renamed in Spot center intensity (it does that). It now only returns the mean value, not the std anymore.
  • There is now a Spot quick mean feature, that computes the mean intensity on the highest resolution level available, in a multi-threaded fashion. It brings faster computation speed at the cost of accuracy. Because so far we tested computation on HDF5 images, for which in Java there is no multithreaded access, its benefit are yet limited.

Better look of the window and dialog icons when minimized.

Screenshot 2021-05-12 at 14 20 16

No more warnings about plugin commands without a description.

All the plugin commands that are were mapped by default and that were are regifted in the bdv, ts or table contexts generated an error message everytime preferences were edited.

This also allows these commands to be edited in the Mastodon Keymap editor.

Finally, the ts context is now renamed to trackscheme.

[Bugfix - core] Don't complaint when pressing 'Save' with a newly created project.

This happened because just after creating a project on a H5/xml file, there is not yet a Mastodon project to save to. With this fix, pressing the Save button asks the user for a .mastodon file to save to.

[Bugfix - mastodon-tracking] Mastodon blocks during semi-automatic tracking.

Sometimes when a TrackScheme window was opened and when semi-automatic tracking was done in a BDV window, Mastodon could become blocked. This was caused by conflicting graph update sent by the semi-automatic tracker and TrackScheme trying to repaint the whole model every-time.

This release contains a tentative fix that does update notification in a more timely manner.

Noticed by Jang-Mi Kim (Institut Pasteur) & Arianne Bercowsky (EPFL).

[Bugfix - core] Feature update mechanism does not work properly.

Mastodon can do feature value updates. The values for some features are not recomputed for an object if this object and its neighbor objects did not change between computations. This help greatly in the case of large models for the intensity features, that take ages to compute.

Normally when the user modifies a spot, its feature values that need recomputing should be deleted (e.g. as they appear from the tables) to avoid misleading the user with faulty feature values after modification. A bug prevented the features to be deleted when a spot was edited. This is fixed now.

Noticed by Ko Sugawara (ENS-Lyon).


Changes in the development practices.

Prior to this beta, there were two Mastodon versions uploaded to Fiji. The first one - Mastodonpreview - was in sync with the master but did not have many features. It brought really the core of Mastodon but did not have for instance the table views.

The second one - Mastodon-jungle - had a lot of features, including the table views, the visibility modes, etc.... These features were not (still are not) reviewed by Tobias, which violates somehow our development guidelines. However we (Tobias and JY) reasoned that in the beta phase they should be brought to the community in an early manner. So a branch named jungle3 was made that merged all the PRs with the new features, and uploaded to Fiji. This is the version the users have had playing with since a couple of months.

As noted by others, this deployed version was not in sync with the master, which started to cause some confusions. So:

  • We forked the original master branch to another one to save its state (master-before-switch) and rebased the feature PRs against this one. This way we can analyze them a posteriori when we have time.
  • We merged the jungle3 on the master branch.

From now on, we will test the following development guidelines:

  • The master branch will remains in sync with the version uploaded to Fiji. Except for minor things such as the version specified in the pom.xml.
  • In between releases, all development will be made on the dev branch. So if you make a PR, please make it against the dev branch.
  • For a release, the dev branch will be merged on the master, tested then uploaded to Fiji. The next development cycle will happen again on the dev branch.