handley-lab / anesthetic

Nested Sampling post-processing and plotting
https://anesthetic.readthedocs.io
MIT License
56 stars 16 forks source link

Features for GUI #88

Open lukashergt opened 4 years ago

lukashergt commented 4 years ago

With discussions (see e.g. #33, #82) about changes to the anesthetic GUI, I thought it might be good to collect some ideas for improvements. Many of these points probably hinge on whether we decide to really go through with a more extensive (e.g. with QML?) GUI overhaul.

appetrosyan commented 4 years ago
appetrosyan commented 4 years ago

Dear @lukashergt , I have a work-in-progress repository, if you like to give it a test drive and leave some feedback. Right now, installation is

git clone git@github.com:appetrosyan/paranestamol.git
cd paranestamol && python3 setup.py 
python3 -c "import paranestamol.main \
paranestamol.main.main()
lukashergt commented 4 years ago

Hi @appetrosyan,

I've taken screenshots of the two windows that show some obvious display issues. I'm not sure what exactly they are supposed to look like, you'll be a better judge of that.

I first didn't know how to even get to the second window, only accidentally found that I had to swipe instead of click. The plot was sharp in the first instant but then went blurry when trying to adjust the slider.

Screenshot_2020-06-23_00-08-48 Screenshot_2020-06-23_00-09-11

appetrosyan commented 4 years ago
lukashergt commented 4 years ago

It might be good if you also tested it out on CSD3. That way you can get a better and more direct feel for potential issues on other platforms.

appetrosyan commented 4 years ago

@lukashergt I have a fresh branch to have a look at.

I fixed the layout issues, added some stats to the first screen, added the ability to edit the legend colours, alpha, added the manipulators for logL and beta (not logarithmic), and cleaned up most of the issues that we last talked about.

There are two branches: the master is the latest stable, and there's async plotting. If you have the time, have a look at both, but preferably the stable branch first. The async plotting is what the final user experience should look like eventually. It doesn't crash often, but I need to figure out what's causing it and (hopefully) fix it.

Any critique and caught bugs are welcome.

https://github.com/appetrosyan/paranestamol/tree/async-plotting

lukashergt commented 4 years ago

The readme is not part of the master branch yet. Was a bit lost at first not knowing what to do. Would be good to make that part of master.

lukashergt commented 4 years ago

Did you manage to get it running on CSD3? I'm getting ImportError: Failed to import any qt binding there, despite having e.g. PySide2, matplotlib-backend-qtquick and PyQt5...

appetrosyan commented 4 years ago

@lukashergt Try

pip uninstall matplotlib
python -m pip install --upgrade pip
pip install matplotlib
appetrosyan commented 4 years ago

This is odd. I did get it running on CSD3, a Windows Bootcamp, and my desktop PC: ArchLinux in both bspwm and sway.

lukashergt commented 4 years ago

@lukashergt Try

pip uninstall matplotlib
python -m pip install --upgrade pip
pip install matplotlib

Already did...

Hmm, that is odd. Did you run it in a virtual environment on CSD3? Which modules did you load?

appetrosyan commented 4 years ago

Yes. pipenv.

On CSD3 the stock module load python/3.8 did the basic task. The rest was just pip installed.

lukashergt commented 4 years ago

Yes. pipenv.

On CSD3 the stock module load python/3.8 did the basic task. The rest was just pip installed.

I already set up a completely new virtualenv with 3.8 and didn't get it to work...

appetrosyan commented 4 years ago

I checked back. I'm getting the same error on CSD3 now. I'll get back to you when I know how to fix it.

appetrosyan commented 4 years ago

Can you import PySide2.QtCore? On CSD3 this produces an error (it didn’t yesterday).

lukashergt commented 4 years ago

Nope, same error. Weird, maybe something to be raised with the support team?

williamjameshandley commented 4 years ago

One piece of feedback I've got from the anesthetic slider is that the slider chooses logL (by iteration), but the higson plot shows logX, and this gap is not very intuitive. logX is probably the more natural thing to control in terms of how the live points evolve.

appetrosyan commented 4 years ago

@williamjameshandley , I have a prototype of an impelmentation of the higson plot, however it still suffers from the #83, and since we’ve touched upon it, maybe we could move the discussion to a new issue.