Nick Vlad on RSF and XML

March 2, 2006 Systems No comments

Thoughts from Nick Vlad on RSF and XML

Provocative idea for the long term that you may post if it seems interesting: Making the history files XML
documents. Their “written by machine, sometimes read by a human” paradigm is exactely that of XML. This
will not impede reading with existing programs, but will instead open intriguing possibilities. The
machine would be able to construct a diagram of the processing history. One does not need to write C++
code to do graphical interfaces. Just transform XML into XHTML 1.0 Strict through a XSLT filter – or
through a basic python script (i.e. <sfwindow> into <div class=”sfwindow”> ). Format with CSS. The history of the file becomes all of a sudden a nice suite of boxes on a webpage. One can do Fahrner Image Replacements in the CSS stylesheet to use specific icons for various (classes of) programs. We’ve just got ourselves a neat little “Processing History Explorer”!
But this is not all. Assume that each RSF program, when appropriately queried, would return a range of valid values for its parameters and a list of the file tags it needs, with intent (in, out, inout). Then it would be possible to automatically transform the XML information about a program into SVG drawings (again, with a XSLT stylesheet), with arrows connecting the processes/files. It is possible to do hyperlinks from SVG elements, so the user can open a window with a XHTML form with menus, radio buttons, etc, with the settings of the program. Now, all of a sudden, we have more than a “Processing History Explorer”. Change the parameters, press submit, modify the flow, run it, the XML description of the processing flow gets transformed into a Scons file, and runs on the remote machine!
The great advantages of doing graphical interfaces this way would be that: (A) they would be entirely platform-independent; (B) They would run as well on remote user machines as on the local host; (C) The number of people who can do web development is much greater than that of the people who know how to do GUI development, so it will be easier to get people to contribute.

Offset continuation theory

March 1, 2006 Documentation No comments

Another old paper has been added to the collection:

RSF white paper

February 16, 2006 Documentation No comments

The RSF “white paper” got expanded. Changes and additions are welcome.

Generic dot product test and conjugate gradients for complex-valued data

January 4, 2006 Programs No comments

sfcdottest and sfcconjgrad are new programs that are analogous to sfdottest and sfconjgrad but operate with complex data. You can test them, for example, with sfcmatmult, a simple complex matrix multiplication operator.

Why does Plot/Result in SConstruct files sometimes have two parameters instead of three?

January 4, 2006 FAQ No comments

Plot(‘myfile’,’plot command’) is a short notation for Plot(‘myfile’,myfile’,’plot command’). Both will create myfile.vpl from myfile.rsf. The short notation saves some typing.

Conjugate Gradients

December 21, 2005 Programs No comments

sfconjgrad is a new program for a generic conjugate-gradient least-squares inversion. A short description of it has been added to the RSF programs guide.

FFT sizes

December 17, 2005 Programs No comments

Update on FFT sizes: sffft1, sffft3, sfcosft, and some other programs that use FFT, now pad the data to the nearest optimal size.

RSF program guide: sfreal and sfimag

December 13, 2005 Documentation No comments

A section on sfreal and sfimag has been added to the RSF programs guide.

Keeping processing history in headers

December 7, 2005 Programs 1 comment

Following a suggestion from James Rickett, I have redesigned RSF I/O to keep complete processing histories in RSF files. Please let me know if this causes any troubles or if you get other suggestions.

How does one plot 1-D irregular data with sfdots?

December 6, 2005 FAQ No comments

sfdots cannot handle irregular data at the moment. However, you can plot regular data with holes. See an example in rsf/rsf/sfdots.