Color Table in BigDataViewer

Is there a way to use a colortable / LUT in (default) BigDataViewer?
I would like to look at a volume containing labels where e.g. glasbey or inverted glasbey would be suitable.

Can you use Paintera?

Update: Thinking about it, you are probably thinking about using BDV from within Fiji/ImageJ. In that case, Paintera is not an option, of course.

Exactly. Would be very helpful to have this as a quick option to inspect a label volume without setting up a paintera project.

Generally, you don’t need to set up a project (you can open datasets from within Paintera with Ctrl + O). If that is still too cumbersome, have you tried paintera-show-container (ships with the conda package). paintera-show-container opens all datasets in the specified container and I use that, for example, to look at snapshots of neural network training.

Didn’t know about it, sounds very useful.
I will check it out.

The plan is to merge it into the Paintera main class via command line options, rather than having somewhat redundant functionality. Currently, this is limited by

There is no LUT stuff in the default BigDataViewer UI.
If you can just use Paintera to do the LUTs, that would be easiest.

If you use it through bigdataviewer-vistools, it should be relatively easy to do by hand.
You can do it now by using a Converter to convert your data to ARGBType with a LUT, then show the RandomAccessibleInterval<ARGBType>,
(It would be cleaner if you could give the source data of type T and a converter to ARGBType. This is how Sources are added in bdv-core. We can easily expose a BdvFunctions.show() function where you specify the converter.)

1 Like

My idea was to use this to quickly check labels. Paintera can be pretty slow to load, so I thought BDV
would be helpful to do this with less friction.
Anyway, paintera will still be much faster than me trying to mess with any java…

Or is there a way to use pyimagej to call bigdataviewer-vistools from python?

There is currently a bug in the jgo Python bindings that ignores the cache. This could be the cause for the slow start-up. I will let you know when this is fixed. Hopefully, Paintera will start-up faster, then.

2 Likes

@constantinpape https://github.com/scijava/jgo/pull/33 will hopefully speed up start-up time of pyjgo projects. There probably is room for improvement in paintera itself, though.

@constantinpape I released a new version of jgo yersteday and it is available on conda now for improved start-up times:

 ▲ ~ time paintera -u -- --version
[JavaFX Application Thread] INFO org.janelia.saalfeldlab.paintera.PainteraCommandLineArgs - Paintera version: 0.9.0
paintera -u -- --version  7.03s user 0.27s system 327% cpu 2.235 total

 ▲ ~ time paintera -- --version
[JavaFX Application Thread] INFO org.janelia.saalfeldlab.paintera.PainteraCommandLineArgs - Paintera version: 0.9.0
paintera -- --version  0.75s user 0.07s system 168% cpu 0.490 total

To update, run

conda update -c conda-forge jgo

Conda should find version 0.3.0.

1 Like

Thanks! I updated jgo and indeed start up seems to be faster,