In reverse order, the 10 most popular programs in Madagascar are:
10. sftransp Transpose two axes in a dataset (used in 83 projects)
9. sfadd Add, multiply, or divide RSF datasets (used in 92 projects)
8. sfgraph Graph plot (used in 99 projects)
7. sfspike Generate simple data: spikes, boxes, planes, constants (used in 109 projects)
6. sfcat Concatenate datasets (used in 110 projects)
5. sfput Input parameters into a header (used in 118 projects)
4. sfmath Mathematical operations on data files (used in 143 projects)
3. sfdd Convert between different formats (used in 163 projects)
2. sfwindow Window a portion of a dataset (used in 216 projects)
1. sfgrey Generate raster plot (used in 260 projects)
More documentation on these and other programs – in Guide to Madagascar programs.
The three most popular programs in the “generic” category (signal processing programs applicable to any kind of data) are sffft1 (Fast Fourier Transform along the first axis), sfnoise (Add random noise to the data), and sfsmooth (Multi-dimensional triangle smoothing).
The three most popular programs in the “seismic” category (signal processing programs applicable to seismic data) are sfmutter (Muting), sfricker1 (Convolution with a Ricker wavelet), and sfsegyread (Convert a SEG-Y or SU dataset to RSF).
Here is a simple Python script that extracts the popularity information:
#!/usr/bin/env python
from rsfdoc import progs
import rsfprog
def nuses(p):
‘how many times a program is used’
n=0
uses = progs[p].uses
for book in uses.keys():
for chapter in uses[book].keys():
n = n + len(uses[book][chapter])
return n
programs = progs.keys()
programs.sort(lambda x,y: nuses(y)-nuses(x))
for prog in programs:
print ‘%s is used in %d projects’ % (prog,nuses(prog))