RSF moves to SF

June 6, 2006 Celebration No comments

In preparation for the glorious public release at the EAGE workshop on open-source software, Madagascar finds a new (and hopefully permanent) home at Sourceforge. Its brand new web page is rsf.sf.net/ (note: moved to reproducibility.org in October 2008), and the Sourceforge project page is http://sf.net/projects/rsf/.

If you have been accessing codes in the Subversion repository, please cd to your installation and run

svn switch --relocate http://egl.beg.utexas.edu/svn/rsf https://rsf.svn.sourceforge.net/svnroot/rsf

Your svn program should be compiled with SSL support in order to access an https URL. Please register with Sourceforge and send me your account name if you would like to be added to the developer list.

Reproducible Matlab and Mathematica figures and spectral factorization

May 23, 2006 Documentation 2 comments

Another paper has been added to the collection of reproducible papers:

The paper demonstrates the use of Matlab figures in a reproducible document. To include figures generated with Matlab:

  1. Create a directory called Matlab.
  2. Put figure-generating matlab scripts in this directory.
  3. Each script should have a .ml suffix
  4. Each script should end with a command like print -depsc junkml.eps; (the name junkml.eps is important.)
  5. You can put other needed Matlab functions in the same directory. See book/sep/specfac/Matlab/ directory for an example.

The rules for Mathematica figures are completely analogous.

  1. Create a directory called Math.
  2. Put figure-generating mathematica scripts in this directory.
  3. Each script should have a .ma suffix
  4. Each script should end with a command like Export[“junkma.eps”, %, “EPS”]; (the name junkma.eps is important.)
  5. See book/sep/angle/Math/ directory for examples.

Anisotropic velocity approximations

May 19, 2006 Documentation No comments

Another paper has been added to the collection of reproducible papers:

RSF program guide: sfreverse

May 14, 2006 Documentation No comments

A section on sfreverse has been added to the RSF programs guide.

RSF/Madagascar on Windows using SFU

April 27, 2006 Systems No comments

RSF has been successfully ported to Windows NT using Microsoft’s Services for UNIX:

screen shot.

Many thanks to Dave Hinkley for help and for sharing his expertise.

Madagascar?

April 19, 2006 Celebration 7 comments

RSF is a meanigless abbreviation that nobody can remember. We do need a better name for the package. I suggest Madagascar and can justify it scientifically.

I had a brilliant idea to look up RSF in the international airport codes. It turns out that there is no airport with RSF as the code. However, there is RSE (Sydney Rose Bay in Australia) and RSG (Serra Pelada in Brazil). Logically, RSF must be in between. The exact geographical center between RSE and RSG, with the high probability of being in the middle of the ocean, happens to fall on the island of Madagascar. Madagascar will be easy for everyone to remember because of the movie. We can use one of the island’s unique creatures (lemur, tenrec, fossa) for the logo. Madagascar is a symbol of isolation, which is a reminder of what RSF does not want to be. Comments?

New user SLIM

March 19, 2006 Programs No comments

The Seismic Laboratory for Imaging and Modeling (SLIM) from the department of Earth and Ocean Sciences (EOS) at the University of British Columbia (UBC) is happy to announce the creation of its user folder in RSF. Current contributions are:
sfthr Threshold float/complex inputs given a constant/varying threshold level.
Methods available:
– soft
– hard
– non-negative Garrote (nng)

sfsort Sort in ascending/descending order absolute value entries of a float/complex vector.
More functions that come out of our industry-supported research will be released in the near future.

RSF hypercubes acquire physical dimensions

March 17, 2006 Programs No comments

At the suggestion of Gilles Hennenfent, certain RSF programs now recognize unit1=, unit2=, etc keywords in addition to label1=, label2=, etc. This allows for more control on physical dimensionality.
Here is an example of having some fun with physical units:

  1. Create some data.
    bash$ sfspike n1=100 n2=100 > spike.rsf
    bash$ sfin spike.rsf
    spike.rsf:
    in="/var/scratch/spike.rsf@"
    esize=4 type=float form=native
    n1=100         d1=0.004       o1=0          label1="Time" unit1="s"
    n2=100         d2=0.1         o2=0          label2="Distance" unit2="km"
    10000 elements 40000 bytes
    
  2. Convert kilometers to feet:
    bash$ sfunits unit2=ft spike.rsf >> spike.rsf
    Converting "km" to "ft" on axis 2
    bash$ sfin spike.rsf
    spike.rsf:
    in="/var/scratch/spike.rsf@"
    esize=4 type=float form=native
    n1=100         d1=0.004       o1=0          label1="Time" unit1="s"
    n2=100         d2=328.084     o2=0          label2="Distance" unit2="ft"
    10000 elements 40000 bytes
    

    sfunits is a new script for unit conversion. It relies on the Unix units utility.

  3. Apply 2-D FFT transform.
    bash$ < spike.rsf sffft1 | sffft3 axis=2 > fft.rsf
    sffft3: padded to 200
    bash$ sfin fft.rsf
    fft.rsf:
    in="/var/scratch/fft.rsf@"
    esize=8 type=complex form=native
    n1=55          d1=2.31481     o1=0          label1="Frequency" unit1="1/s"
    n2=200         d2=1.524e-05   o2=-0.001524  label2="Wavenumber" unit2="1/ft"
    11000 elements 88000 bytes
    
  4. Transform back.
    bash$ < fft.rsf sffft3 axis=2 inv=y | sffft1 inv=y > back.rsf
    bash$ sfin back.rsf
    back.rsf:
    in="/var/scratch/back.rsf@"
    esize=4 type=float form=native
    n1=100         d1=0.00400001  o1=0          label1="Time" unit1="s"
    n2=100         d2=328.084     o2=0          label2="Distance" unit2="ft"
    10000 elements 40000 bytes
    

Warning: this is a substantial change that affects many programs and examples. Please report any problems.

Offset continuation practice

March 17, 2006 Documentation No comments

Another old paper has been added to the collection:


Other available papers:

How can I use information from sfattr or sfget in SConstruct Flows?

March 2, 2006 FAQ No comments

This may not be the most elegant solution but you can try using parameter files. Here is an example:

  1. Create some data.
    Flow('data',None,'spike n1=100 | bandpass fhi=40')
  2. Generate a parameter file from it.
    Flow('mag.par','data',"attr want=max | sed 's/value = /mag=/' ")
  3. Use the parameter file in processing.
    Flow('test','mag.par','spike n1=100 par=$SOURCE',stdin=0)