As a Mastodon user, I may use the TrackScheme Hierarchy view to get a generalised overview of the lineage tree. This view does not contain any individual spots and is not scaled according to the time model making it easier for the user to investigate the lineage tree structure as a whole.
It may still be useful for the user, if the lineage tree could be rendered in a way that highlights branches that already exist at a certain timepoint while navigating through the available time steps in other views.
Acceptance criteria
The Branches in the TrackScheme Hierarchy that do not exist at a time point selected via BigDataViewer or TrackScheme are drawn in a faded color, e.g.:
This feature is only available if the TrackScheme Hierarchy View is coupled to other views:
Original branch color is used in this case: TimePointModel.TimePoint >= BranchSpot.FirstTimePoint
A mixture of background color and branch color is used in all other cases
Tasks
[x] Add a reference to the real time point model to the class MamutBranchViewTrackSchemeHierarchy in addition to the already existing reference to the dummy time point model
[x] Use the reference to the real time point model (if exists) to color branches according to the current settings in the real time point model
[x] Add option to toggle this behaviour on/off for TrackSchemeHierarchy View via Preferences
Additional information:
One TrackSchemePanel for views TrackScheme, TrackScheme Branch and TrackScheme Hierarchy
The TrackSchemePanel has multiple Renderers:
The Renderer for TrackScheme Hierarchy View is in the class PaintHierarchicalGraph
This class extends PaintGraph
PaintGraph is a Graph Renderer
There is also the ModelGraph - this is the representation of the acutal lineage graph structure
There is the TrackSchemeGraph. It is a Listener on the ModelGraph and defines it visualisation. The TrackSchemeGraph copies the ModelGraph. There is one TrackSchemeGraph per Window, thus enabling different TrackScheme colorings in different windows.
There is the ModelBranchGraph. It is a Listener on the ModelGraph that contains the simplified structure of the ModelGraph that is used in the TrackSchemeHierarchy View
There is a TimePointModel that contains the different timepoints of the Mastodon project
The MamutBranchViewTrackSchemeHierarchy has a Dummy TimePointModel to enable its time independent visualisation
The MamutBranchViewTrackSchemeHierarchy additionally needs some reference to the real time point model
Each Spot is aware of its timepoint
The MamutBranchViewTrackSchemeHierarchy extends MamutBranchViewTrackSchemeBranch (these are the windows)
User Story
As a Mastodon user, I may use the TrackScheme Hierarchy view to get a generalised overview of the lineage tree. This view does not contain any individual spots and is not scaled according to the time model making it easier for the user to investigate the lineage tree structure as a whole. It may still be useful for the user, if the lineage tree could be rendered in a way that highlights branches that already exist at a certain timepoint while navigating through the available time steps in other views.
Acceptance criteria
Tasks
Additional information: