dendrograms / astrodendro

Generate a dendrogram from a dataset
https://dendrograms.readthedocs.io/
Other
37 stars 38 forks source link

Basic visualization in core package #13

Closed astrofrog closed 11 years ago

astrofrog commented 11 years ago

@bradenmacdonald wrote a lot of visualization code, and we initially decided that this should stay out of the core package, especially the GTK viewer, which makes sense. However, I think that it would make sense to have a static Matplotlib-based viewer just to plot the basic dendrogram, and this won't add much code to the core-package. It will only require Matplotlib as an optional dependency when that method is called. Does that sound sensible? If so, I can start working on this.

ChrisBeaumont commented 11 years ago

Sounds good to me

I think @low-sky said he has a student who is working on updating @bradenmacdonald's original code. It sounds like the main difficulty is the IPython terminal integration. Fortunately, I think that this part of IPython has finally stabilized, and is easy to implement (at least for Qt) for IPython v1.0dev

bradenmacdonald commented 11 years ago

I agree that it would be better to have some visualization code included in the main package.

Yes, IPython was always a giant pain... I regret designing that GUI with the IPython shell, since it seemed to cause trouble for everyone who wanted to try out the GUI. For what it's worth, if anyone is working on the GTK GUI, there is code for a much more robust (but more basic) command widget in this simpler PPP cube viewer I wrote. But I think the way to go in the future would be to have basic matplot-only plotting in dendro-core and then a separate Qt/PySide-based GUI for the fancier stuff that I had included in the GTK GUI like being able to click to correlate data values with dendrogram structures.

astrofrog commented 11 years ago

To some extent, we don't want to replicate what Glue (which @ChrisBeaumont is leading the development for) aims to do, so we could build a simpler GUI with no terminal and then point users to Glue if they want to do fancier things?

bradenmacdonald commented 11 years ago

Ah, yes, good point. I actually wasn't really aware of Glue, which looks awesome. That makes sense to me.

low-sky commented 11 years ago

Good points all. @astrofrog hits the right tone here and we should pass on to glue for linked up integration. The clickable view which links branches to the 3D cube viewer has made the associations clearer to a lot of people. Is that something that already lives nicely in Glue? A quick glance through the code suggested that with Glue, all things are possible though perhaps not implemented. Not having a coding stake yet, I think a self-contained viewer that is a thinned, functional version of the viewer @bradenmacdonald developed would be nice.

Putting some matplotlib-dependent plotting tools would avoid the added dependencies of GTK. Having a .plot() method and highlighting for branches would be minimal and good.

astrofrog commented 11 years ago

Implemented in #29