Table row to SED?

Ivan Zolotukhin ivan.zolotukhin at gmail.com
Mon Sep 15 12:39:48 CEST 2014


Hi,

>> Couple of workarounds exactly for this case which I use myself:
>>
>>  - any decent diagram plotting service on the web like Google Charts
>> (can show my example custom TOPCAT activation action command)
>
> yes please, can you give a bit more detail?

Details are usually ugly and bulky. Here's the example of custom
activation action in TOPCAT that does line plot through Google Charts
API of 4 profiles stored in array columns in current row:

displayBasicImage("Line profiles",
"https://chart.googleapis.com/chart?cht=lc&chdl=Forbidden|Allowed|Forbidden_sm|Allowed_sm&chco=676767,0000FF,000000,00A5C6&chtt=Line+profiles|"
+ NAME + "&chd=t:" + toString(LINE_LOSVD_FORBIDDEN[0]) + "," +
toString(LINE_LOSVD_FORBIDDEN[1]) + "," +
toString(LINE_LOSVD_FORBIDDEN[2]) + "," +
toString(LINE_LOSVD_FORBIDDEN[3]) + "," +
toString(LINE_LOSVD_FORBIDDEN[4]) + "," +
toString(LINE_LOSVD_FORBIDDEN[5]) + "," +
toString(LINE_LOSVD_FORBIDDEN[6]) + "," +
toString(LINE_LOSVD_FORBIDDEN[7]) + "," +
toString(LINE_LOSVD_FORBIDDEN[8]) + "," +
toString(LINE_LOSVD_FORBIDDEN[9]) + "," +
toString(LINE_LOSVD_FORBIDDEN[10]) + "," +
toString(LINE_LOSVD_FORBIDDEN[11]) + "," +
toString(LINE_LOSVD_FORBIDDEN[12]) + "," +
toString(LINE_LOSVD_FORBIDDEN[13]) + "," +
toString(LINE_LOSVD_FORBIDDEN[14]) + "," +
toString(LINE_LOSVD_FORBIDDEN[15]) + "," +
toString(LINE_LOSVD_FORBIDDEN[16]) + "|" +
toString(LINE_LOSVD_ALLOWED[0]) + "," +
toString(LINE_LOSVD_ALLOWED[1]) + "," +
toString(LINE_LOSVD_ALLOWED[2]) + "," +
toString(LINE_LOSVD_ALLOWED[3]) + "," +
toString(LINE_LOSVD_ALLOWED[4]) + "," +
toString(LINE_LOSVD_ALLOWED[5]) + "," +
toString(LINE_LOSVD_ALLOWED[6]) + "," +
toString(LINE_LOSVD_ALLOWED[7]) + "," +
toString(LINE_LOSVD_ALLOWED[8]) + "," +
toString(LINE_LOSVD_ALLOWED[9]) + "," +
toString(LINE_LOSVD_ALLOWED[10]) + "," +
toString(LINE_LOSVD_ALLOWED[11]) + "," +
toString(LINE_LOSVD_ALLOWED[12]) + "," +
toString(LINE_LOSVD_ALLOWED[13]) + "," +
toString(LINE_LOSVD_ALLOWED[14]) + "," +
toString(LINE_LOSVD_ALLOWED[15]) + "," +
toString(LINE_LOSVD_ALLOWED[16]) + "|" +
toString(LINE_LOSVD_FORBIDDEN_SM[0]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[1]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[2]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[3]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[4]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[5]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[6]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[7]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[8]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[9]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[10]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[11]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[12]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[13]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[14]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[15]) + "," +
toString(LINE_LOSVD_FORBIDDEN_SM[16]) + "|" +
toString(LINE_LOSVD_ALLOWED_SM[0]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[1]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[2]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[3]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[4]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[5]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[6]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[7]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[8]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[9]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[10]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[11]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[12]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[13]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[14]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[15]) + "," +
toString(LINE_LOSVD_ALLOWED_SM[16]) + "&chxt=x,y&chs=500x300&chds=a")

I'm sure you can make simpler example for few SED columns, just look
at the Google Charts API docs. I must also admit that Google Charts
only works for basic stuff, so recently I switched to deploying myself
custom plotters on the web to visualize complex plots upon each click
in TOPCAT, and even these quite serious efforts worth it because all
collaborators do appreciate the resulting research tool.

>>  - own tiny SAMP client in a language like Python with simple graphics
>> libraries (I use unreleased Octopus for this if you remember)
>
> I also thought of a tiny SAMP client to receive table.load.votable
> and subsequent table.highlight.row messages and translate them to
> spectrum.load.ssa-generic messages to pass on to SPLAT/Iris/whatever.
> Good solution for experts, not really feasible for general astronomer
> usage.

Don't look at the problem as if it is only related to SED. There is
multitude of various (row) plotting that researchers want in their
domains while going through a table in TOPCAT. There's hence better
and more consistent alternative I've been asking you since couple of
years: extend support for custom activation actions. Allow user
scripts there (and include one basic example to the docs) and give
users basic debug tools (for now it's just almost impossible to
debug).

Any your (time) investments into more functional activation actions
will be returned very quickly as researchers are all very excited
about them. If you announce you develop this, I'm buying TOPCAT's
stock, as it's gonna be the next big thing.

--
With best regards,
 Ivan


More information about the apps mailing list