mastodon-sc / mastodon

Mastodon – a large-scale tracking and track-editing framework for large, multi-view images.
BSD 2-Clause "Simplified" License
66 stars 20 forks source link

GUI state recovery failes for TrackScheme Branch #243

Closed maarzt closed 7 months ago

maarzt commented 1 year ago

The gui state recovery fails when recovering a "TrackScheme Branch" window of a tag set selected for coloring. The window won't show the expected graph, but is empty instead.

How to reproduce:

  1. open a mastodon project that has some data, and tag sets.
  2. open the "TrackScheme Branch" window
  3. chose coloring using a tag set
  4. save the project
  5. close mastodon
  6. open the project
  7. result: An empty "TrackScheme Branch" will appear (not showing the graph).

Screenshot from 2023-05-12 15-47-54

There is a null pointer exception when rendering the TrackScheme branch graph. Here is the stack trace:

The image data XML was not found:
/home/arzt/Desktop/mastodon-test/2020-08-03_Ml_DCV16bit_Subbg.xml
Exception in thread "PainterThread" java.lang.NullPointerException
    at org.mastodon.pool.Pool.getId(Pool.java:179)
    at org.mastodon.pool.Pool.getId(Pool.java:55)
    at org.mastodon.labels.LabelSets.getLabels(LabelSets.java:97)
    at org.mastodon.model.tag.DefaultObjTagMap.get(DefaultObjTagMap.java:135)
    at org.mastodon.model.branch.BranchGraphTagSetAdapter$MyObjTagMap.get(BranchGraphTagSetAdapter.java:231)
    at org.mastodon.model.branch.BranchGraphTagSetAdapter$MyObjTagMap.get(BranchGraphTagSetAdapter.java:177)
    at org.mastodon.ui.coloring.TagSetGraphColorGenerator.color(TagSetGraphColorGenerator.java:53)
    at org.mastodon.ui.coloring.GraphColorGeneratorAdapter.color(GraphColorGeneratorAdapter.java:92)
    at org.mastodon.views.trackscheme.LineageTreeLayoutImp.addScreenVertex(LineageTreeLayoutImp.java:468)
    at org.mastodon.views.trackscheme.LongEdgesLineageTreeLayout.cropAndScale(LongEdgesLineageTreeLayout.java:131)
    at org.mastodon.views.trackscheme.display.TrackSchemePanel$ScreenEntityAnimator.startAnimation(TrackSchemePanel.java:870)
    at org.mastodon.views.trackscheme.display.TrackSchemePanel.paint(TrackSchemePanel.java:378)
    at bdv.viewer.render.PainterThread.run(PainterThread.java:82)