Difference between revisions of "BCU task-centric program list"

From Madagascar
Jump to navigation Jump to search
Line 1: Line 1:
The most frequent question encountered from a new user is: "Does Madagascar do [some needed process]?" The first level of classification is therefore by types of procedures. The classifications below try to follow the user's workflow:
+
List of Basic Cube Utilities (BCU) in Madagascar. Operations listed here can throw away data or fill in with zeros, but should not create new values or alter existing ones -- those belong to the [[NM task-centric program program_list | Numerical Methods program list]].
# What is the function to read such type of input data file ?
 
# Is there a function to perform a Fourier transform, a causal integration ?
 
# How can I display 2-D data ?
 
  
 
'''All program names below should be prefixed with "sf".'''
 
'''All program names below should be prefixed with "sf".'''
Line 32: Line 29:
 
== Operation on file content ==
 
== Operation on file content ==
  
*  Generate simple data (spikes, boxes, planes, constants): [[Guide_to_madagascar_programs#sfspike | spike guide]], [http://reproducibility.org/RSF/sfspike.html spike]
 
* Mathematical operations on data files: [[Guide_to_madagascar_programs#sfmath | math guide]], [http://reproducibility.org/RSF/sfmath.html math]
 
* Add, multiply, or divide  RSF datasets: [[Guide_to_madagascar_programs#sfadd | add guide]], [http://reproducibility.org/RSF/sfadd.html add]
 
* Add, multiply, or divide  RSF datasets (fast, OMP-enabled): [http://reproducibility.org/RSF/sfparadd.html paradd]
 
 
* Window a portion of the dataset: [[Guide_to_madagascar_programs#sfwindow | window guide]], [http://reproducibility.org/RSF/sfwindow.html window]
 
* Window a portion of the dataset: [[Guide_to_madagascar_programs#sfwindow | window guide]], [http://reproducibility.org/RSF/sfwindow.html window]
* Create a mask: [[Guide_to_madagascar_programs#sfmask | mask guide]], [http://reproducibility.org/RSF/sfmask.html mask]
 
* Stack a dataset over one of the dimensions: [[Guide_to_madagascar_programs#sfstack | stack guide]], [http://reproducibility.org/RSF/sfstack.html stack]
 
 
* Transpose two axes in a dataset: [[Guide_to_madagascar_programs#sftransp | transp guide]], [http://reproducibility.org/RSF/sftransp.html transp]
 
* Transpose two axes in a dataset: [[Guide_to_madagascar_programs#sftransp | transp guide]], [http://reproducibility.org/RSF/sftransp.html transp]
 
* Concatenate datasets: [[Guide_to_madagascar_programs#sfcat | cat guide]], [http://reproducibility.org/RSF/sfcat.html cat] or [[Guide_to_madagascar_programs#sfmerge | merge guide]], [http://reproducibility.org/RSF/sfcat.html merge]
 
* Concatenate datasets: [[Guide_to_madagascar_programs#sfcat | cat guide]], [http://reproducibility.org/RSF/sfcat.html cat] or [[Guide_to_madagascar_programs#sfmerge | merge guide]], [http://reproducibility.org/RSF/sfcat.html merge]
Line 45: Line 36:
 
* Extract imaginary part of a complex dataset: [http://reproducibility.org/RSF/sfreal.html imag]
 
* Extract imaginary part of a complex dataset: [http://reproducibility.org/RSF/sfreal.html imag]
 
* Create a complex dataset from its real and imaginary parts: [[Guide_to_madagascar_programs#sfcomplex | complex guide]], [http://reproducibility.org/RSF/sfcmplx.html cmplx]
 
* Create a complex dataset from its real and imaginary parts: [[Guide_to_madagascar_programs#sfcomplex | complex guide]], [http://reproducibility.org/RSF/sfcmplx.html cmplx]
* Scale data: [[Guide_to_madagascar_programs#sfscale | scale guide]], [http://reproducibility.org/RSF/sfscale.html scale]
 
 
* Rotate a portion of one or more axes in the data hypercube: [[Guide_to_madagascar_programs#sfrotate | rotate guide]], [http://reproducibility.org/RSF/sfrotate.html rotate]
 
* Rotate a portion of one or more axes in the data hypercube: [[Guide_to_madagascar_programs#sfrotate | rotate guide]], [http://reproducibility.org/RSF/sfrotate.html rotate]
 
* Zero a portion of the dataset: [[Guide_to_madagascar_programs#sfcut | cut guide]], [http://reproducibility.org/RSF/sfcut.html cut]
 
* Zero a portion of the dataset: [[Guide_to_madagascar_programs#sfcut | cut guide]], [http://reproducibility.org/RSF/sfcut.html cut]
Line 51: Line 41:
 
* Combine several datasets by interleaving: [[Guide_to_madagascar_programs#sfinterleave | interleave guide]], [http://reproducibility.org/RSF/sfinterleave.html interleave]
 
* Combine several datasets by interleaving: [[Guide_to_madagascar_programs#sfinterleave | interleave guide]], [http://reproducibility.org/RSF/sfinterleave.html interleave]
 
* Pad and interleave traces: [http://reproducibility.org/RSF/sflpad.html lpad]
 
* Pad and interleave traces: [http://reproducibility.org/RSF/sflpad.html lpad]
* Computes Ni+1 x Ni+2 x ...: [http://reproducibility.org/RSF/sfleftsize.html leftsize]
+
* Compute Ni+1 x Ni+2 x ...: [http://reproducibility.org/RSF/sfleftsize.html leftsize]
 
* Reverse one or more axes in the data hypercube: [[Guide_to_madagascar_programs#sfreverse | reverse guide]], [http://reproducibility.org/RSF/sfreverse.html reverse]
 
* Reverse one or more axes in the data hypercube: [[Guide_to_madagascar_programs#sfreverse | reverse guide]], [http://reproducibility.org/RSF/sfreverse.html reverse]
* Extend a dataset by duplicating in the specified axis dimension: [[Guide_to_madagascar_programs#sfspray | spray guide]], [http://reproducibility.org/RSF/sfspray.html spray]
 
  
 
==Header operations==
 
==Header operations==
Line 64: Line 53:
 
* Sort a dataset according to a header key: [[Guide_to_madagascar_programs#sfheadersort | headersort guide]], [http://reproducibility.org/RSF/sfheadersort.html headersort]
 
* Sort a dataset according to a header key: [[Guide_to_madagascar_programs#sfheadersort | headersort guide]], [http://reproducibility.org/RSF/sfheadersort.html headersort]
 
* Window a dataset based on a header mask: [[Guide_to_madagascar_programs#sfheaderwindow | headerwindow guide]],  [http://reproducibility.org/RSF/sfheaderwindow.html headerwindow]
 
* Window a dataset based on a header mask: [[Guide_to_madagascar_programs#sfheaderwindow | headerwindow guide]],  [http://reproducibility.org/RSF/sfheaderwindow.html headerwindow]
 
=Statistical operations on files=
 
==Single-file==
 
* Display dataset attributes: [[Guide_to_madagascar_programs#sfattr | attr guide]], [http://reproducibility.org/RSF/sfattr.html attr]
 
* Compute a histogram of data values: [http://reproducibility.org/RSF/sfhistogram.html histogram]
 
* Computes what clip value corresponds to a given pclip: [http://reproducibility.org/RSF/sfquantile.html quantile]
 
* Clip the data: [http://reproducibility.org/RSF/sfclip.html clip]
 
* One- or two-sided data clipping: [http://reproducibility.org/RSF/sfclip2.html clip2]
 
* Percentile clip: [http://reproducibility.org/RSF/sfpclip.html pclip]
 
* Threshold float/complex inputs given a constant/varying threshold level: [http://reproducibility.org/RSF/sfthr.html thr]
 
* Soft thresholding: [http://reproducibility.org/RSF/sfthreshold.html threshold]
 
* Construct incremental minimum or maximum lists from an RSF file: [http://reproducibility.org/RSF/sflistminmax.html listminmax]
 
* Sort a float/complex vector by absolute values: [http://reproducibility.org/RSF/sfsort.html sort]
 
 
==Multi-file==
 
* Element by element minimum or maximum of two RSF files: [http://reproducibility.org/RSF/sfminmax.html minmax]
 
* Similarity measure between two datasets: [http://reproducibility.org/RSF/sfsimilarity.html similarity]
 
 
= Mathematics algorithms =
 
 
==Basic mathematic processes==
 
 
* Causal integration on the first axis: [http://reproducibility.org/RSF/sfcausint.html causint]
 
* Fast Fourier Transform along the first axis (from real to complex): [http://reproducibility.org/RSF/sffft1.html fft1]
 
* FFT transform on extra axis (from complex to complex): [http://reproducibility.org/RSF/sffft1.html fft3]
 
* 3D FFT with centering and Hermitian scaling: [http://reproducibility.org/RSF/sffft1.html fft3d]
 
* Frequency spectra: [http://reproducibility.org/RSF/sfspectra.html spectra]
 
* Frequency spectra in 2-D: [http://reproducibility.org/RSF/sfspectra2.html spectra2]
 
* 1-D Digital Wavelet Transform: [http://reproducibility.org/RSF/sfdwt.html dwt]
 
* Multi-dimensional cosine transform: [http://reproducibility.org/RSF/sfcosft.html cosft]
 
 
==Linear Algebra==
 
 
* Simple matrix multiplication: [http://reproducibility.org/RSF/sfmatmult.html matmult]
 
* Simple matrix multiplication for complex matrices: [http://reproducibility.org/RSF/sfcmatmult.html cmatmult]
 
* Find eigenvalues and eigenvectors of a symmetric positive definite matrix: [http://reproducibility.org/RSF/sfdmeig.html dmeig]
 
* Kroneker product with square matrices: [http://reproducibility.org/RSF/sfkron.html kron]
 
* Generic conjugate-gradient solver for linear inversion: [[Guide_to_madagascar_programs#sfconjgrad | conjgrad guide]], [http://reproducibility.org/RSF/sfconjgrad.html conjgrad]
 
* Generic dot-product test for linear operators with adjoints: [[Guide_to_madagascar_programs#sfdottest | dottest guide]], [http://reproducibility.org/RSF/sfdottest.html dottest]
 
* Generic conjugate-gradient solver for linear inversion with complex data: [http://reproducibility.org/RSF/sfcconjgrad.html cconjgrad]
 
* Generic dot-product test for complex linear operators with adjoints: [http://reproducibility.org/RSF/sfcdottest.html cdottest]
 
 
== Interpolation ==
 
* 1-D ENO (Essentiallly Non Oscillatory) interpolation:  [[Guide_to_madagascar_programs#sfremap1 | remap1 guide]], [http://reproducibility.org/RSF/sfemap1.html remap1]
 
* 1-D sinc interpolation: [http://reproducibility.org/RSF/sfsinc.html sinc]
 
 
=Illustrations/wrappers of librsf functions=
 
{| class="wikitable" align="center" cellspacing="0" border="1"
 
!Library function || Program
 
|-
 
| sf_filedims || [http://reproducibility.org/RSF/sffiledims.html filedims]
 
|-
 
| sf_leftsize || [http://reproducibility.org/RSF/sfleftsize.html leftsize]
 
|-
 
| sf_quantile || [http://reproducibility.org/RSF/sfquantile.html quantile]
 
|}
 
  
 
= Graph, plots, displays =
 
= Graph, plots, displays =
  
 
== Display ==
 
== Display ==
 
  
 
* Generate raster plot: [[Guide_to_madagascar_programs#sfgrey | grey guide]], [http://reproducibility.org/RSF/sfgrey.html grey] (sfbyte is the same)
 
* Generate raster plot: [[Guide_to_madagascar_programs#sfgrey | grey guide]], [http://reproducibility.org/RSF/sfgrey.html grey] (sfbyte is the same)
Line 161: Line 93:
  
 
* Vplot filter for the virtual vplot device: [http://reproducibility.org/RSF/sfvppen.html vppen]
 
* Vplot filter for the virtual vplot device: [http://reproducibility.org/RSF/sfvppen.html vppen]
 
=References=
 
<references/>
 

Revision as of 12:20, 10 January 2009

List of Basic Cube Utilities (BCU) in Madagascar. Operations listed here can throw away data or fill in with zeros, but should not create new values or alter existing ones -- those belong to the Numerical Methods program list.

All program names below should be prefixed with "sf".

I/O and file format conversions

ASCII, binary file

  • Convert the binary file of a RSF dataset between different formats (binary, ASCII): dd guide, dd

SEG-Y file

SU file

File operations

This section contains physics-agnostic methods for slicing, dicing, adding together files, etc:

Basic operations

Operation on file content

Header operations

Graph, plots, displays

Display

  • Setting up frames for a generic plot: stdplot

Plot format

  • Vplot filter for postscript: pspen
  • Vplot filter for the virtual vplot device: vppen