Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release needed to solve problems in Fiji #5

Closed
tferr opened this issue Apr 6, 2022 · 10 comments
Closed

Release needed to solve problems in Fiji #5

tferr opened this issue Apr 6, 2022 · 10 comments

Comments

@tferr
Copy link
Contributor

tferr commented Apr 6, 2022

@ctrueden, @maarzt,

SNT uses plot-service extensively (I am always surprised we are the only ones!?), but we keep getting reports that SNT injects a Table root menu. This menu hosts broken plugins declared in imagej-plot-service
image

Where do this plugins come from?
The imagej-plot-service.jar contains them under /tableplugins/, but I cannot find their source code!?

  • Would it be possible to remove them, or patch them?
  • These undocumented plugins don't seem to (the logic to retrieve columns in their dialog prompts seems to be broken)

Also, what is the state of the plot-service package? It somehow feels like a project that is not official. Should we not use it? Should it move to a more officialized organization?

EDIT: Initially I thought updating to v0.1.2-SNAPSHOT would fix this issue, but I just realize it does not. Updated this, accordingly.

@ctrueden
Copy link
Member

ctrueden commented Apr 6, 2022

It somehow feels like a project that is not official.

Yeah, the plan is to merge it into scijava-common. I have just failed to review the code, even after years, because I'm always too busy. 😞

@tferr You could help me out here, since you have been using it: are you completely satisfied with the API and functionality? Do you think we could merge it into scijava-common completely as is? Or are there changes you would suggest to make before we do so?

@ctrueden
Copy link
Member

ctrueden commented Apr 6, 2022

As for the mysterious /tableplugins/, and imagej-plot-service.jar, you can find out where a JAR came from by using the System Information command inside Fiji. Copy and paste the result into a text editor of your choice, then search it for imagej-plot-service and see what you find.

Or if that doesn't work, you can:

$ mkdir t
$ jar xf /path/to/imagej-plot-service-x.y.z.jar
$ cat META-INF/MANIFEST.MF | grep Implementation
Implementation-Title: ImageJ Plot Service
Implementation-Version: x.y.z
Implementation-Date: 2019-11-01T19:35:11+0000
Implementation-Vendor: ImageJ
Implementation-Build: abcdef01234567890d7631014085175f560c0954
$ grep scm META-INF/maven/*/*/pom.xml
	<scm>
		<connection>scm:git:https://github.com/someOrg/imagej-plot-service</connection>
		<developerConnection>scm:git:[email protected]:someOrg/imagej-plot-service</developerConnection>
	</scm>
$ cd ..
$ rm -rf t

@tferr
Copy link
Contributor Author

tferr commented Apr 6, 2022

@tferr You could help me out here, since you have been using it: are you completely satisfied with the API and functionality? Do you think we could merge it into scijava-common completely as is? Or are there changes you would suggest to make before we do so?

I think the API for XY plots (scatter and line) is OK as is. For those plots, we use plot service exclusively (I think this is always true, but will have to double-check). I have less experience with other types of plots (histograms, box plot, etc.). For those we decided to use jfreechart directly, because 1) plot service adopts the default theme of jfreechart that I personally feel is not very "Scientific" (most of the time, this boils down to aesthetics), and 2) the plot service API lacks bells and whistles for tweaking such category charts into 'scientific charts'. Most folks may not care about this.

If I understood correctly, the plot service has been designed to be generic and simple. So those bells and whistles are not be provided here anyway. So in short, I think it is probably fine as is. The customizations we use in SNT are all here, so in the future if others feel that the default theme should change, we could bring the customizations there into Plotservice (without changing the API).

If you don't have time, I don't mind maintaining the status quo. Currently, the only issues is that Table> menu seems to be annoying folks everywhere that blame us, and we don't have anything to do with it :)

I did some digging. Those Table plugins used to exist until d3c749. After that they were removed from master. It seems that there was no build since then, Since anyway, they are not working, if a new release is made with the current code in master, the menu will disappear, and the issue is fixed?

@tferr
Copy link
Contributor Author

tferr commented Apr 6, 2022

I think the problem is also, that there was never a release since this was renamed.
So https://maven.scijava.org/, lists only imagej-plot-service (that registers the funky Tables menu),
This package (that no longer has the Table> menu) is now scijava-plot but is not listed on maven.

So, I'm now certain that releasing a new version (available in Maven) will fix this. I can try to open a PR, in case it helps.

Edit: actually, I don't think I can!? : I don't have permissions in the repository and cannot run the release script.

@ctrueden
Copy link
Member

ctrueden commented Apr 6, 2022

@maarzt How about transferring this repository into the scijava org? Then we can cut a new release!

Or would you rather we merge all the code into scijava-common? I am happy either way; just let me know which is better for you.

@maarzt
Copy link
Collaborator

maarzt commented Apr 7, 2022

@ctrueden I transferred the repository to the scijava organization. Feel free to cut the release.

I don't have an opinion of whether to merge it with scijava-common or not. Both is fin with me.

@maarzt
Copy link
Collaborator

maarzt commented Apr 7, 2022

Other thought's about this repo:

  1. @tferr I would love to have the charts look scientific :D Could you setup a PR, that changes the style of the plot service charts as you like them?
  2. The PlotService API only has the one JFreeChart backend. Not sure if the interface works well also for another backed. It would be interesting to try chart-fx as backend.

@ctrueden
Copy link
Member

ctrueden commented Apr 7, 2022

@tferr Once pom-scijava 32 is released and Fiji is updated to match, you won't have to ship scijava-plot or scijava-ui-swing on your update site anymore.

@tferr
Copy link
Contributor Author

tferr commented Apr 8, 2022

  • @tferr I would love to have the charts look scientific :D Could you setup a PR, that changes the style of the plot service charts as you like them?

Currently, I don't have immediate time to look into this. I opened an issue on our project so that it is not forgotten, it includes notes on where our customizations reside, in case someone can look into it in the interim. To be clear, with 'scientific', I meant more 'publication-like', 'formal' layouts, see e.g., this snapshot.

  • The PlotService API only has the one JFreeChart backend. Not sure if the interface works well also for another backed. It would be interesting to try chart-fx as backend.

It would, I did not pursue it much at the time, because my understanding was that using java-fx in Fiji was somewhat problematic (Maybe that is no longer the case!?). BTW, I also think there is a new major version of jfreechart coming out soon, so testing that will also be interesting.

@ctrueden
Copy link
Member

ctrueden commented Apr 8, 2022

using java-fx in Fiji was somewhat problematic (Maybe that is no longer the case!?).

The issue is that macOS does not currently ship a JavaFX-enabled bundle. But I will be remedying that very soon. Follow fiji/fiji#304 if interested.

tferr added a commit to morphonets/SNT that referenced this issue Apr 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants