[Kst] HPIC update

Theodore Kisner kisner at physics.ucsb.edu
Thu Jun 9 17:36:25 CEST 2005


On Thursday 09 June 2005 04:39, Barth Netterfield wrote:
> We need to think about how data sources present matrixes.  vectors can be
> read by index, or for special data sources, by time.  How about matrixes?

Well, readField currently returns a bare vector of doubles.  I guess 
"readFieldMatrix" could return a flat-packed matrix of doubles.  This seems 
like the easiest way...

> I think that the new/edit matrix dialog gets an option like the vector
> dialog has which allows the user to read a matrix from a data source.  It
> will have entries for xmin, xmax, ymin, ymax with some feedback in the
> dialog which tells the user what the datasource has to offer (minx, maxx,
> nx, etc).  This would be generic to all matrix reading.

sounds reasonable...

> Then the data source configuration for hpic would also offer up resolution
> and projection options.  There would be a sensible default so in general
> the user would not have to do anything.

Here is a useability question:

Let's say that the user creates a new KstMatrix and chooses to read from an 
hpic datasource.  In the datasource config, they select only a small 
theta/phi range of the map to project.  The matrix is now displayed on the 
plot.  The user zooms out to the maximum range (full sky), so there is a tiny 
color region surrounded by blank white.  Now they want to change the 
projection so that they can see the whole map.

Is this simply a matter of going into the data manager and editting the matrix 
to change the datasource parameters (triggering an update that reprojects the 
matrix from the datasource)?

It would be nice if there was a "reproject to current view" button that would 
take the current range of the plot and set the datasource projection range to 
these values.  I guess these are details for later.  It would also be nice to 
allow plugins to have input and output matrices.  

Another thing that I still don't understand:  what if I need to draw a 
fundamentally "new" type of plot?  Right now everything must fit into a rigid 
category.  For example, for vector fields I need to draw lines between pairs 
of head/tail coordinates.  How can this be done?  Right now it seems like it 
would have to be "hacked in" somewhere (probably in KstImage).

So I still think it would be nice to have a general "plotsource" plugin that 
inherits from KstDataObject and is drawn by Kst2DPlot....

> This will likely break binary compatibility, which is fine with me, as long
> as we maintain source code compatibility with old data sources.  Full
> matrix support is big enough a change to generate a 2.0 name change.

source code compatibility should be no problem- we are just adding a new 
virtual function that existing datasources can safely ignore.

-Ted




More information about the Kst mailing list