For my two pence, I'd say the less specific the better, since there are=20
many ways to present 2D/3D/more plots and no doubt more will be added to=20
the various tools in time. In any case, doesn't sending a showCols messag=
e=20
with two columns give sufficient a hint, if Topcat/whoever wants to take=20
it?
Similarly, showObjects is really one message being interpreted in slightl=
y=20
different ways: it creates some kind of logical division which could aris=
e=20
from any number of manual tweaking methods or computational algorithms (e=
g=20
clustering) and be exhibited in many different forms.
On the other hand, having some way to keep classifications (as, say,=20
clusters) could be important. In R-speak, we would talk about 'factors':=20
each observation has a value in the factor column which gives the class,=20
so for 10 objects with 3 clusters we might have the subsidiary array
{0,0,0,1,1,2,2,2,2,2}
[Age-group and sex are classic factors of course.]
2p spent I reckon :)
Richard
On Tue, 18 Jul 2006, John Taylor wrote:
> (Copied to the list...hope no-one in the original discussion minds.)=A0=
What follows is a discussion
> about using plastic messages to select or show columns in a table.
>=20
>=20
> Mark Taylor wrote:
>
> On Tue, 20 Jun 2006, Bob Mann wrote:
>
>=20
>
> 1. Selecting columns (rather than rows).
>=20
>
> So should the message contain some hint about what to do
> with the named columns? Should there be one message
>
> showCols( int[] colIds );
>=20
> or several
>
> showCols( colId );
> showCols2( colId1, colId2 );
> showCols3( colId1, colId2, colId3 );
>=20
> ? etc. Open questions.
>=20
>
> Good question. I can see two different use cases here, which might
> call for different messages. In the first Weka/Eirik act as an initial=20
> filter of a dataset before one starts exploring it with, say, TOPCAT. I=
n
> that case, one might select, say, 10 columns out of a 50-column table a=
nd
> then, as you said, the appropriate response from TOPCAT might be to hid=
e
> the remaining 40 columns, on the assumption that the user is only going
> to work with the selected 10. In the second use case, TOPCAT is just be=
ing
> used as a 3D display tool, and Eirik might fire a series of messages=20
> saying "make a 3D scatter plot of these three columns" and want TOPCAT
> to do just that. Maybe one would want the second use case to be=20
> implemented with a plotCols message, rather than the more general showC=
ols
> one which would work for the first one...but I don't know how that woul=
d
> square with the current philosophy over PLASTIC messaging...
>=20
>
> that sounds about right, and probably more sensible than my initial=20
> thought above.
>=20
>=20
> I think this could spark an interesting debate about how generic plasti=
c messages should be.=A0 To take
> this example, the two extreme positions are to have a completely generi=
c
> votech.org/votable/showCols(id, cols[]) message leaving it completely u=
p to the recipient to decide
> what its being asked to do, and to have an application-specific message=
such as
> starlink/topcat/create2DPlot(id, col1, col2).
> We get "better" interop (in the sense of more apps can play together) w=
ith general messages at the cost
> of clarity for the end-user and (maybe) reliability.=A0 From the user's=
point of view, the difference
> would be that with general messages they might have to configure the re=
ceiving application to tell it
> what to do (create a new subset, open a new plot, overwrite the existin=
g plot...) whereas with a
> specific message they'd make the choice in the sending application (rig=
ht clicking might show two
> options: create new subset/open new plot).
> A middle ground that might be worth exploring is having a generic messa=
ge, but with an optional hint
> argument to the recipient.
>=20
> My gut feeling is that for the user, making a plot of the data in some =
columns is a different concept
> to creating a new subset and so they should probably be different messa=
ges even though they share the
> same argument list.=A0 Here's how Bob's suggestion (slightly modified) =
could work in practice:
>=20
> Recipient
> plotCols(id, cols[])
> selectCols(id, cols[])
> Topcat
> Opens a new 2D or 3D cartesian plot depending on the number of args.=A0=
Cols>3 are ignored.
> Creates a new subset consisting only of those cols.=A0 Returns a new id=
?
> VisIVO
> Opens a new 3D plot, using the cols>3 as indices into the colourmap, gl=
yph sizes etc....
> ?
> TabView
> Highlights the columns
> Creates a new subset consisting only of those cols.
> xmdv-lite
> On the parallel axes plot, highlights the chosen columns.=A0 On the sca=
tter plots, could highlight or
> show only the relevant scatter plots
> New plots only of selected cols
> Anomaly Detector
>=20
> Runs the EM-algorithm only on the selected columns
> Aladin
> Maybe opens VOPlot?
> create a new pane with the reduced columns?
>=20
> This separation of "showing" and "selecting a subset" makes me think th=
at we've confounded the two with
> our showObjects message.=A0 I wonder if we ought to split it so that we=
can distinguish between creating
> a new row subset (a la Topcat) and simply highlighting the selected row=
s (a la Aladin).=A0 Indeed,
> perhaps the two "create subset" messages could be merged into one.
>=20
>
> 2. Identifying several sets of rows.
>=20
>
> Actually you can sort of do this in TOPCAT as it stands. Each receive=
d
> ivo://votech.org/votable/showObjects message results in the creation
> of a new row subset (old ones are not discarded (even if you want them
> to be, which admittedly can be an annoyance)). Within TOPCAT you
> can then select which subsets are plotted etc.
>=20
>
> OK - that is very useful. Do you give the row subset a name in
> the message in which you define it?
>=20
>
> No, TOPCAT assigns names automatically - currently e.g. weka-1, weka-2=
,
> weka-3, .... May or may not be ideal for your purposes.
>=20
> Mark
>
>=20
>=20
>=20
>=20
> --
>=20
> _______________________________________________________________________=
_______________________________________
> AstroGrid/VOTech
> &
> Institute for Astronomy, Edinburg=
h
> Skype:johndavidtaylor
>=20
>=20
> _______________________________________________________________________=
_______________________________________
>=20
> |