Skip to content
Patrick Crumley edited this page Oct 11, 2017 · 10 revisions

Welcome to the Iseult wiki!

Iseult is a GUI for interacting with 2D Tristan-MP simulations. It's written in python using TkInter for the GUI and matplotlib for plotting. To change a subplot settings, right click directly on the subplot. We need to re-write it for 2.0

Roadmap to 2.0

  1. Migrate to python 3 & Numba with parallelized vectorization.
  2. Re-write in QT5
  3. No longer lay out canvas with matplotlib, use QT to allocate the grid to allow for non-matplotlib plots (mayavi? OpenGL, etc). Add ability to drag subplots.
  4. Abstract out the simulation to a class that is passed to the subpanels. Allows for multiple sims in the same window or even same plot (in case of spectra).
  5. Differentiate between an interactive mode that is slow to load but allows for exploration of the data, and a static mode that either loads a cached, static image, or a subsampled array.
  6. Add a render button that renders all the timesteps in the static mode. Dragging the playback bar after pressing render should achieve frame rates > 20 fps.

Longer Term Goals:

Below are longer term improvements that I may make to Iseult, with ideas on how to implement them:

  • Dam: "...dock the dialogue windows? they pop up as separated by the main window, and sometimes are far away, sometimes they get hidden."-> Main idea is to have a panel on the left that the popups go into. Unsure how to implement in TKinter.
  • directly save movies -> Either using matplotlib's built in saver or writing a bash script to create it using imagemagick.
  • change the way that subplot settings are opened to a way that is more discoverable and that doesn't interfere with the right-click functions of matplotlib toolbar. -> One idea, add a button to the interactive toolbar that you have to click first then you click the subplot. (downside, more clicking.) Other idea, ctrl+click? Downside, not discoverable, but could add a thing to the plot explaining it.
  • figure out a way to re-grid the particle histograms when zooming. -> This isn't really the best idea, so I'm going to scrap it. I think 2d histograms are problematic anyway... The best way to really make these phase plots would be through some sort of kernel density estimation of the density. Downside: computationally expensive, not the easiest to implement.
  • more plot types-> not sure exactly what all of the use cases of Tristan are. Hopefully people will feel comfortable in adding their own in the future.
Clone this wiki locally