Meeting Notes from the CalgaryDevelopersMeeting

Sunday, 4 June


see also

data repository

rsync from cvsup

its just converting the script over, checking into the right place...

the script does an init on the STABLE to get the scripts in the proper state to load the data.

the measuresData.g is in the MAIN CVS; WesYoung tweaked those cvsup scripts...

so where do we put those in the rsync brave new world?

put them somewhere...

Measures Data Generation Scripts

we have some scripts that are used to generate the data repository.

we want to move those scripts into the MAIN CVS tree.

2800 lines o' glish

Rsync limitations to address:

  • No way to tag collections, to pull a named collection of files.
    • Wes says that the way to work around this is a server-side configuration.
  • Often blocked by firewalls
    • tunnel over ssh; create dummy read-only user with an ssh authorized_key * could do this for AIPS EricGreisen as well


Parameters

pythonparamter-foo.jpg

we also need to have a user database, to remember per-user defaults between invocations of the tools

how large are these databases? 50-100 K

actually pretty big; if you describe every paramater for every function of every tool

the user one will be much smaller, a subset of the system one

the function signature might change, and then how to we handle it? we should solve that as we go along. the real point is that we factor in any changes to the system (indicated in the system database) and take account of that

during the next year as we clean things up -- and we have a lot of that actually -- the function signatures will change.

if parameters are dropped out, they will not be included.

example, changed "infile" to "vis"

it will do "vis"

Unification of Parameter Names, parameter dictionary

we're going to try to unify the names of parameters across all functions of all the tools.

we are going to put a wiki page up, as we proceed the developers will define what a parameter what a parameter stands for, and if it is not yet there then the developer will define it so other will use the same one

Qt Live

  • getting Qt to have its own event loop

DarrellSchiebel Demo

casapy is a script that loads python with all the CASA libraries

casacio has one function that is loaded, imp (like "import")

gives you the parameter names, default values

(TODO: a vector of one element should take that element as input. for example, signature is a function that has one string parameter, it won't take a string parameter, it needs a one-element Vector of string)

TODO: There is not yet a user database.

SUGGESTION: the 'p' meta-function could echo the name of its interned function on the first line of output.

Joe thinks you should only save what you explicitly save.

Wes thinks you could toggle a flag that says "save all automatically"

Darrell thinks you could tag defaults with a named tag (e.g., per-project tags) -- (your faithful scribe likes this idea).


JoeMcMullin Demo

The Myriad Usage Pattern

the set-task-parameters, "go", "save"

at the charette, they didn't like going into a separate shell to set defaults

you have a Task, you can look at the inputs, you can modify them.

  • go
  • save (either to a default location, or tag with tag)

KumarGolap raises the issue of "sticky paramters".

This is oriented towards batch processing, rather than interactive usage?

If the users get a chance to play with it, maybe things will change a bit...

Tools, Tasks, Procedues

  • Tools - fine-grained functionality
  • Tasks - higher-level use-cases

see also http://www.aoc.nrao.edu/~smyers/aips++/uiwg/uiwg_report.pdf

Joe proposed a "Clean" "Task"

  • organized the tools in a better way
  • being able to do "Help" gives you navigation

The issue is that some of our tools are actually tasks -- they are higher level things.

They want tools to basically act the same as the tasks -- there is a spectrum of granularity in these things, but they should behave basically the same: conventions on every one of these things so that
  • help
  • summary

This is more of a help issue? So that when we do develop Tasks, we'll have some

A Tag, a module Tag, there will be a series of functions that is there

Right now we need to create the Tasks. Just as we have XML files to define the Tools, we should have XML files that define a super-set of Tools to define a Task.

There is a Task CLEAN and a Tool CLEAN.

Hierarchy of Tasks

Restricting what you can actually do, to restrict the input list to something that is more manageable. MOSAIC Task can use CLEAN.

Modularity

They don't ever have to open an MS. The freakin' tool-based nature of AIPS++. They want to define a Data File, and then specify some operations on the data.

msOpen, msSummary, msClose, then do my

Setting Default Values - the SELECT Task

Cross-calibration... needs more than one MeasurementSet.

set default with selectTask or attach command that would eliminate the need to open...close

Defaults Wrapper

  • APL concept of "workspace" to set a default context for the tools (DavidKing)
  • A Wrapper object that maintains the default context and passes these to our existing implementations (KumarGolap)

Later, we can re-factor (re-implement) the underlying, existing implementations to maintain a default context.

fakemsobj.jpg

We want to avoid

ms.open
ms.summary
ms.close
tb.open
...

Instead, we get to say
data.file = my_MS_file_name
summary
clean ...

How to have multiple defaults

(long discussion with DebraShepard)

Are Tasks Written in Python?

Documentation

  • Priorities
    1. one-liners
    2. cookbook
    3. other things later

Synchronization of the documentation section numbers with help and whatnot is addressed by the XML-based documentation build system.

Cookbook Should be Wiki

  • Use Twiki?

The Math Mode is supported. Example:

\sum_{n=1}^\infty \frac{1}{n} is divergent, but \lim_{n \to \infty}\sum_{i=1}^n \frac{1}{i} - \ln n exists.

The above line is the result of the twiki text
\sum_{n=1}^\infty \frac{1}{n} is divergent, but \lim_{n \to \infty}\sum_{i=1}^n \frac{1}{i} - \ln n exists.

Qt Viewer

  • We need to purchase support from Trolltech.

A stand-alone viewer can be used.

Region Manager

Now we're filling in all the options, windows, etc... based on the prior expertise.

It's a challenge to divide the viewer development tasks between the two developers DavidKing and HonglinYe.

We need scripting ability.

The viewer has a very high-level knowlege of our data structures.

We would like to save the viewer parameter settings to a file -- so that you could ship the file to someone and reproduce the image results.

Postscript defect? Use the Qt JPEG output instead.

PixelCanvas is screen resolution -- but it's almost publication-quality if you make the Viewer really big on the screen. Hm..


-- BoydWaters - 04 Jun 2006
Topic revision: r4 - 2010-09-30, KumarGolap
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding NRAO Public Wiki? Send feedback